neuroplugin
Sign in
·9 min read·by YCY

PrestaShop discount rules: CartRule vs SpecificPrice

Choose the right native PrestaShop promotion mechanism, map overlaps and preview the blast radius before a discount reaches production.

A promotion can change the displayed product price, the cart total, shipping eligibility or the item a shopper receives. Those are different jobs. Treating every campaign as “a discount” is how a narrow idea becomes an unexpectedly wide production rule.

The first decision is therefore not the percentage. It is: which native PrestaShop surface should own the effect, under which scope, and how will the team prove that scope before applying it?

The short decision table

Observed jobLikely mechanismFirst risk to inspect
Change the price shown for one product or a precise audienceSpecific pricePriority against another specific price
Reprice a catalogue set by category, brand, supplier or featureCatalogue price rule or reviewed SpecificPrice batchUnexpected products inside the resolved set
Discount a cart after spend, customer, country or product conditionsCartRuleCombination and priority with active rules
Offer free shipping, a gift, BOGO or a cart-total effectCartRule or a bounded module workflowEligibility, cheapest-line logic and order totals

PrestaShop’s current help centre describes cart rules and catalogue price rules as the two main discount mechanisms. Cart rules apply through cart conditions and actions; catalogue rules change prices for product sets. For a single product, the official guidance points to a cart rule or a specific price. Start with the official discount overview and product-price documentation for the exact core behaviour in your shop version.

1. Define the shopper-visible moment

Write the campaign as an observable sentence before opening a rule builder:

  • “The category listing and product page show €59 instead of €79.”
  • “A registered wholesale group receives 12% off these products.”
  • “A cart above €120 receives free shipping.”
  • “Buying three eligible units discounts one eligible unit.”

The first two statements begin with a product-price decision. The latter two depend on the assembled cart. That boundary usually tells you whether a SpecificPrice-style catalogue write or a CartRule-style cart effect is the clearer primitive.

2. Specify six axes before touching production

  1. Scope: exact products, categories, brands, suppliers or all catalogue items.
  2. Audience: shops, customer groups, countries, currencies and individual customers that are genuinely supported by the chosen mechanism.
  3. Effect: percentage, fixed amount, fixed final price, markup, shipping, gift or quantity logic.
  4. Time: start, end and timezone—including what the storefront should show one minute before and after expiry.
  5. Stacking: which existing rules may combine, which must win and which overlap is forbidden.
  6. Reversal: the exact native objects that will be removed, who can remove them and what evidence proves cleanup.

If any axis is “whatever the module normally does”, the campaign is not ready to publish. Defaults are still decisions; record them.

3. Build an overlap matrix

Export or list every active cart rule, catalogue rule and relevant specific-price window. Compare each candidate against the same dimensions: product set, customer, group, country, currency, shop, quantity, time window and priority.

Classify each intersection before launch:

  • Intended combination: both effects may apply and the final total is verified.
  • Intended precedence: one rule must win, with its priority documented.
  • Forbidden overlap: publishing must stop until one scope or time window is changed.

PrestaShop’s official catalogue-rule guidance shows how category, brand, supplier, attribute and feature conditions can define a product set. A broad or missing condition can therefore affect much more of the catalogue than the campaign name suggests. Review the official catalogue price rule guide before treating a saved rule as proof of a safe scope.

4. Preview the blast radius as data

A useful dry run should answer concrete questions:

  • How many products and combinations resolve from the selected scope?
  • What are the current and proposed prices for each affected row?
  • Which CartRule or SpecificPrice objects will be created?
  • Which existing object conflicts with the candidate?
  • Has a base price, target set or payload changed since review?

A preview screenshot is not enough when the product set is large. Keep a CSV or equivalent review record and bind approval to the exact payload and catalogue snapshot. If the snapshot changes, generate a new preview instead of reusing the old approval.

5. Test money, not only badges

For representative carts, verify at least:

  • list and product-page prices, including tax display and combinations;
  • mini-cart, cart, checkout, order confirmation, invoice and refund totals;
  • guest and customer-group paths;
  • coupon entry, automatic rules and non-combinable rules;
  • quantity changes, partial refunds, currency and multistore boundaries;
  • the exact start, expiry and cleanup path.

A correct discount can still destroy contribution. Calculate the floor from product cost, payment fees, shipping subsidy, picking, returns provision and tax treatment. A rule engine can enforce a configured floor; it cannot decide the economics of your campaign.

6. Know when core PrestaShop is enough

Use the native interface when one straightforward rule expresses the campaign clearly and your team can review, test and reverse it safely. Buying another module only adds value when it removes a real operating gap.

NP Promo Pro 1.1.0 is designed for teams that repeatedly operate catalogue repricing and automatic cart promotions together. Its current workflow compiles cart effects to native auto-applied CartRules and catalogue edits to native SpecificPrice rows. A fresh dry run, signed 15-minute review token, CSV audit and generated-object ledger make the intended writes inspectable. Catalogue batches above 2,000 matched products and overlapping SpecificPrice windows are blocked rather than silently truncated or overwritten.

Those are release-bounded controls, not a profitability or compatibility guarantee. Use the PrestaShop promotion decision lab to compile several campaign shapes without writing data, then inspect the exact NP Promo Pro product workflow before deciding whether the native screens already cover your need.

Pre-launch checklist

  1. Write the shopper-visible outcome.
  2. Choose the native mechanism from that outcome.
  3. Resolve the exact product and audience scope.
  4. Map every overlap and priority.
  5. Calculate a contribution floor.
  6. Preview old and new values as exportable data.
  7. Invalidate approval when payload or catalogue data changes.
  8. Test product-to-refund totals on staging.
  9. Publish in a bounded window with a named owner.
  10. Verify expiry and removal instead of assuming cleanup.

Bottom line

Choose CartRule or SpecificPrice from the moment where the shopper should receive the effect. Then make scope, overlap, margin, preview and reversal explicit. Use PrestaShop core when it expresses the campaign safely; add a workflow module only when review and operational control are the missing pieces.