{"id":369335,"date":"2026-09-18T16:30:48","date_gmt":"2026-09-18T16:30:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/plugstack-quantity-manager-tiered-pricing\/"},"modified":"2026-09-18T16:30:32","modified_gmt":"2026-09-18T16:30:32","slug":"qtyra-quantity-rules-tiered-pricing","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/qtyra-quantity-rules-tiered-pricing\/","author":23565592,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"7.1.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Qtyra Quantity Rules & Tiered Pricing","header_author":"PlugStack","header_description":"Min \/ max \/ step \/ default quantity rules and quantity-based tiered pricing for WooCommerce, enforced on every add-to-cart path with clear customer guidance.","assets_banners_color":"fbfaf7","last_updated":"2026-09-18 16:30:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/plugstack.dev\/plugins\/qtyra-quantity-rules-tiered-pricing\/","header_author_uri":"https:\/\/plugstack.dev\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":31,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"plugstack","date":"2026-09-18 16:30:32","revision":3702339}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3702339,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3702339,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3702339,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3702339,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3702339,"resolution":"1","location":"assets","locale":"","width":1280,"height":720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3702339,"resolution":"2","location":"assets","locale":"","width":1280,"height":540},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3702339,"resolution":"3","location":"assets","locale":"","width":1280,"height":540}},"screenshots":{"1":"Store-wide quantity &amp; pricing settings","2":"Clear, inline error message on the product page","3":"Tiered pricing table on the product page"}},"plugin_section":[],"plugin_tags":[51164,56067,249823,166977,286],"plugin_category":[45],"plugin_contributors":[281504],"plugin_business_model":[],"class_list":["post-369335","plugin","type-plugin","status-publish","hentry","plugin_tags-maximum-quantity","plugin_tags-minimum-order","plugin_tags-step-quantity","plugin_tags-tiered-pricing","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-plugstack","plugin_committers-plugstack"],"banners":{"banner":"https:\/\/ps.w.org\/qtyra-quantity-rules-tiered-pricing\/assets\/banner-772x250.png?rev=3702339","banner_2x":"https:\/\/ps.w.org\/qtyra-quantity-rules-tiered-pricing\/assets\/banner-1544x500.png?rev=3702339","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/qtyra-quantity-rules-tiered-pricing\/assets\/icon-128x128.png?rev=3702339","icon_2x":"https:\/\/ps.w.org\/qtyra-quantity-rules-tiered-pricing\/assets\/icon-256x256.png?rev=3702339","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/qtyra-quantity-rules-tiered-pricing\/assets\/screenshot-1.png?rev=3702339","caption":"Store-wide quantity &amp; pricing settings"},{"src":"https:\/\/ps.w.org\/qtyra-quantity-rules-tiered-pricing\/assets\/screenshot-2.png?rev=3702339","caption":"Clear, inline error message on the product page"},{"src":"https:\/\/ps.w.org\/qtyra-quantity-rules-tiered-pricing\/assets\/screenshot-3.png?rev=3702339","caption":"Tiered pricing table on the product page"}],"raw_content":"<!--section=description-->\n<p>Qtyra adds minimum, maximum, step and default quantity rules to WooCommerce, plus quantity-based price breaks shown as a table on the product page. The rules follow the product everywhere it can be added to the cart: the product page, the shop grid, carousels, the classic and block cart, block checkout, and the WooCommerce Store API. If a shopper enters a quantity that doesn't fit, they see a plain-language message telling them what to change, instead of a confusing error at checkout.<\/p>\n\n<p><strong>Free features<\/strong><\/p>\n\n<ul>\n<li>Minimum, maximum, step (\"group of\") and default quantity \u2014 store\u2011wide, per product and <strong>per variation<\/strong>.<\/li>\n<li><strong>Tiered pricing per product and per variation<\/strong> \u2014 quantity price breaks (percent off, fixed unit price or amount off) with a price table on the product page, a \"from \u2026\" hint in the catalog and the original price struck through in the cart.<\/li>\n<li>Rules enforced in <strong>every<\/strong> context: single product, shop\/archive, carousels, classic cart, <strong>block cart &amp; checkout<\/strong>, and the Store API.<\/li>\n<li>Clear customer guidance (\"The minimum order for X is 6. Please add 2 more.\") shown inline \u2014 never a cryptic error at checkout.<\/li>\n<li>Correct variable\u2011product handling: the quantity field, rules and price table update the moment a variation is selected.<\/li>\n<li>Native block quantity stepper support (min \/ max \/ \"multiple of\").<\/li>\n<li>Lightweight: one small script and stylesheet, loaded only on shop, product, cart and checkout pages.<\/li>\n<li>Translation ready.<\/li>\n<\/ul>\n\n<p><strong>PRO features<\/strong><\/p>\n\n<ul>\n<li><strong>Category\u2011wide tier tables<\/strong> and a <strong>store\u2011wide default tier table<\/strong> that every product inherits.<\/li>\n<li>Category\u2011level quantity rules with priority \/ most\u2011restrictive conflict handling.<\/li>\n<li>Role\u2011based rules (retail vs wholesale) at store and product level.<\/li>\n<li>Cart\u2011level minimum \/ maximum (items or order value).<\/li>\n<li>Fixed \/ dropdown quantities (only allow 12, 24, 48\u2026).<\/li>\n<li>Decimal \/ fractional quantities with a unit label (\"kg\", \"m\").<\/li>\n<li>Bulk editor + CSV import \/ export.<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/plugstack.dev\/plugins\/qtyra-quantity-rules-tiered-pricing\/#pricing\">See PRO plans and pricing \u2192<\/a>. PRO licensing and updates are handled by Freemius.<\/p>\n\n<h3>Third party services<\/h3>\n\n<p>This plugin uses <a href=\"https:\/\/freemius.com\">Freemius<\/a> for optional usage tracking, PRO licence activation and PRO update delivery.<\/p>\n\n<p>Nothing is sent anywhere unless you explicitly opt in on the activation screen (\"Allow &amp; Continue\") or activate a PRO licence key. If you click \"Skip\", the plugin works fully and never contacts Freemius. After opting in, the plugin communicates with api.freemius.com and shares: site URL, WordPress \/ PHP \/ WooCommerce \/ plugin versions, site language, and the administrator's name and email address (used for the Freemius account and licence).<\/p>\n\n<p><a href=\"https:\/\/freemius.com\/terms\/\">Freemius Terms of Service<\/a>\n<a href=\"https:\/\/freemius.com\/privacy\/\">Freemius Privacy Policy<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress dashboard, go to <strong>Plugins \u2192 Add New Plugin<\/strong>, search for \"Qtyra Quantity Rules &amp; Tiered Pricing\", then click <strong>Install Now<\/strong> and <strong>Activate<\/strong>. Prefer to upload the zip file instead? See the official guide: <a href=\"https:\/\/wordpress.org\/documentation\/article\/manage-plugins\/\">Installing Plugins<\/a>.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Quantity &amp; Pricing<\/strong> to set store\u2011wide defaults.<\/li>\n<li>Edit any product and open the <strong>Quantity &amp; Pricing<\/strong> tab for per\u2011product rules and tiered pricing.<\/li>\n<li><strong>WooCommerce \u2192 Quantity &amp; Pricing<\/strong> shows what's included on your site and where to see PRO.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20need%20its%20own%20server%3F\"><h3>Does this need its own server?<\/h3><\/dt>\n<dd><p>No. Everything runs inside your WooCommerce site. PRO licensing\/updates are served by Freemius.<\/p><\/dd>\n<dt id=\"i%20bought%20pro.%20where%20do%20i%20enter%20my%20licence%20key%3F\"><h3>I bought PRO. Where do I enter my licence key?<\/h3><\/dt>\n<dd><p>PRO is a separate download (from your purchase email or your Freemius account). Upload it via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong> and activate it \u2014 this free version is deactivated automatically and all your settings and product rules carry over. The licence-key screen appears right after activation; you can also reach it later under <strong>WooCommerce \u2192 Quantity &amp; Pricing<\/strong>.<\/p><\/dd>\n<dt id=\"can%20the%20free%20and%20pro%20versions%20be%20active%20at%20the%20same%20time%3F\"><h3>Can the free and PRO versions be active at the same time?<\/h3><\/dt>\n<dd><p>No, and you never have to manage that yourself: PRO always wins. Activating PRO deactivates the free version, and re-activating the free version while PRO is active is reverted with a notice. Both versions share the same settings and rules.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20block%20%28gutenberg%29%20cart%20and%20checkout%3F\"><h3>Does it work with the block (Gutenberg) cart and checkout?<\/h3><\/dt>\n<dd><p>Yes. Rules are wired into the WooCommerce Store API, so the block cart, block checkout and the All Products block all respect them.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20my%20store%20down%3F\"><h3>Will it slow my store down?<\/h3><\/dt>\n<dd><p>No. The front\u2011end script is a few KB and only loads on shop, product, cart and checkout pages.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Build fix for the generated free version.<\/li>\n<li>Plugin icon moved to <code>assets\/img\/<\/code> so the in-dashboard Upgrade page is not blocked by hosting firewalls that reject <code>\/images\/\u2026php<\/code> query strings.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Renamed to Qtyra Quantity Rules &amp; Tiered Pricing (slug <code>qtyra-quantity-rules-tiered-pricing<\/code>).<\/li>\n<li>Tiered pricing per product and per variation is now part of the free version, including the product-page price table, the catalog \"from \u2026\" hint and the cart strike-through. Category-wide and store-wide default tier tables remain PRO.<\/li>\n<li>New \"Tiered pricing\" settings section in the free version (enable, base price, table position, catalog hint).<\/li>\n<li>Description and licence-page wording revised.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Build fixes for the generated free version (no functional changes).<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Renamed to PlugStack Quantity Manager &amp; Tiered Pricing.<\/li>\n<li>Free build contains only free functionality; Pro features are a separate build.<\/li>\n<li>Bulk editor CSV import honours the <code>enabled<\/code> column.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Min \/ max \/ step quantity rules and quantity-based tiered pricing for WooCommerce, enforced on every add-to-cart path with clear customer guidance.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/369335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=369335"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/plugstack"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=369335"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=369335"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=369335"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=369335"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=369335"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=369335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}