Take full control of which carriers show at checkout with Smart Carrier Rules — a carrier-availability rules engine with a built-in Rule Simulator / Checkout Debugger. Hide, show-only, surcharge, free-ship, rename or add an ETA to your existing carriers based on cart contents, customer group, category, brand, postcode, country, zone, subtotal, weight, quantity or date/time.
Unlike typical carrier-rules modules, this one shows you exactly why each carrier appears — enter a test cart and see which rules matched, which one won on priority, the resulting surcharge or free-shipping outcome, and a loud warning if a cart would be left with no carrier at all.
Works with the native PrestaShop checkout and custom / one-page checkouts alike, across PrestaShop 1.7, 8 and 9 — multishop-ready, multi-language, and built with no core overrides. Combine conditions with AND / OR, control priority and conflict resolution, and turn every "why is there no delivery option?" question into a two-second answer.
PrestaShop's native shipping rules are shallow — zone plus weight / price ranges and group access. The moment you need "hide express for bulky categories", "free shipping over €X only for this postcode", or "add a €5 island surcharge", you reach for a rules module and then fly blind: when a customer says "there's no delivery option", you have no way to see why. Smart Carrier Rules fixes both problems — a powerful conditional rules engine, and a debugger that makes every decision transparent.
See exactly why every carrier appears
The differentiator is the Rule Simulator / Checkout Debugger. Describe a cart and, for every carrier, get a decision card: shown or hidden with the reason, the winning rule by priority, the surcharge breakdown and free-shipping result, the final label and ETA — and a red "NO CARRIER LEFT" banner when a cart would reach checkout with zero options. It runs the exact same engine as live checkout, so it is a source of truth, not a preview — and a support-cost killer that diagnoses a "missing carrier" complaint in seconds.

One engine for every carrier decision
Manage all of your rules in a single prioritised list — active state, priority order, conditions and actions at a glance. Rules run top-down with a documented conflict-resolution algorithm, so the outcome is always predictable. You don't need a module to give a customer group access to a carrier — PrestaShop does that natively. We add the layer PrestaShop is missing: explainable, prioritised, conditional rules with surcharges, labels and ETAs that native access rules can't express.

Build rules visually — conditions and actions
Combine conditions with AND / OR: customer group, category, product, brand / manufacturer, postcode / ZIP pattern, country / zone, cart subtotal, cart weight, total quantity, and a date / day-of-week / time-of-day window. Then attach actions: hide a carrier or show only selected ones, add a fixed or percentage surcharge, apply free shipping above a per-rule threshold, rename or append to a carrier label, or add a per-rule ETA.

Test any cart before your customers do
Enter products or categories, a customer group, country, postcode, subtotal, weight, quantity and date, then run the simulation — validate a new rule, or reproduce a real complaint, without touching a live order.

Condition-level transparency
Every matched rule is broken down condition by condition — the expected value versus the cart's actual value, with a clear match / no-match marker — so you know not just that a carrier was hidden or surcharged, but exactly which condition drove it. Priority order is explicit, and the winning rule is highlighted.

Predictable priority & conflict resolution. Rules run in priority order with a documented algorithm: hide beats show-only; surcharges stack fixed-then-percent; free shipping beats surcharge; the highest-priority rule wins the label and ETA. The Simulator always explains which rule won and why.
Built to be safe at checkout. Works on PrestaShop 1.7, 8 and 9, multishop-aware and multi-language. No core class overrides: availability, labels and ETA are applied through native hooks (actionFilterDeliveryOptionList on 8 / 9) and a theme-agnostic front layer plus a server-side validation guard on 1.7 — so it stays safe on one-page and express checkout themes, and works with custom checkouts too. Surcharge and free-shipping charged cost is enforced natively on PrestaShop 9 (actionCartGetPackageShippingCost); on 1.7 / 8 the surcharge is surfaced and the carrier is validation-gated, and the Simulator labels exactly what is enforced where.
Key benefits
- Know why a carrier appears: the Simulator turns opaque shipping logic into a clear, per-carrier explanation.
- Cut support tickets: reproduce and diagnose "no delivery option" complaints in seconds.
- Flexible targeting: category, brand, postcode, cart, quantity and date conditions native access rules can't express.
- Safe by design: no core overrides; won't break your one-page or express checkout.
- Honest about limits: the module tells you exactly what's enforced on each PrestaShop version.
v1 focuses on carrier availability and pricing rules — it does not do label generation, live carrier rates, tracking, or warehouse logic. It is a carrier-availability rules engine with a debugger, and the best one at explaining itself.
-
Referencemprshippingrules
-
In stock2147483647 Items
-
PrestaShop CompatibilityPS 1.7 – 9.x
-
Pricing ModelOne-time Purchase
-
Module TypeFront & Back-office
-
GDPR RelevantNo
-
Business GoalBoost Conversions
-
External Account NeededNo
-
Module ComplexityFeature-Rich Module
-
Customer Journey StageConvert to Buyers
-
Works With PlatformNo External Platform
What customers say about us
Be the first to share your experience with this module.
Write a Review
Smart Carrier Rules
A carrier-availability rules engine for PrestaShop with a built-in Rule Simulator / Checkout Debugger. Hide, show-only, surcharge, free-ship, rename or add an ETA to your existing carriers by cart contents, customer group, category, brand, postcode, country, zone, subtotal, weight, quantity or date — and see exactly why each carrier appears at checkout.
v1.1.0 — 2026-07-05
- ▸New: Carrier Setup — a carrier-centric panel to tie an existing PrestaShop carrier to the categories and zones it should serve, plus a weight mode, without writing rules by hand.
- ▸Restrict a carrier to selected categories and/or delivery zones (offered only when the cart matches).
- ▸Ignore weight mode (PrestaShop 8 / 9): keep a carrier available even when the cart weight is outside its native ranges — cost is taken from its highest defined range. On PrestaShop 1.7 the category/zone restriction applies and this mode is safely skipped.
- ▸Runs through the same engine as the Rules and Simulator, so every carrier decision stays testable and explainable. No core overrides.
v1.0.1 — 2026-07-04
- ▸Reliability & correctness hardening across the rules engine, simulator and checkout integration.
- ▸Smarter "show only carriers" handling: a targeted carrier that is unavailable no longer removes every option, and when rules overlap the highest-priority rule decides the visible set.
- ▸Simulator matches live checkout more precisely for weight, subtotal and quantity test scenarios, including tax display modes.
- ▸Stricter numeric condition validation, shop-timezone date/time windows, and deterministic priority conflict resolution.
- ▸Per-language carrier labels and delivery-time (ETA) text; multishop and performance refinements.
v1.0.0 — 2026-07-04
- ▸Initial release — carrier-availability rules engine with a built-in Rule Simulator / Checkout Debugger.
- ▸AND / OR conditions: customer group, category, product, brand, postcode / ZIP, country / zone, subtotal, weight, quantity, and date / day / time window.
- ▸Actions: hide, show-only, fixed & percentage surcharge, free-shipping threshold, rename / append label, and per-rule ETA.
- ▸Priority-based conflict resolution (hide beats show-only; free shipping beats surcharge; highest priority wins label & ETA).
- ▸Rule Simulator / Checkout Debugger reuses the exact live checkout engine — per-carrier shown / hidden, condition trace, winning rule, surcharge & free-shipping breakdown, and a "NO CARRIER LEFT" banner.
- ▸PrestaShop 1.7 / 8 / 9, multishop and multi-language, with no core class overrides.
- ▸Native charged-cost enforcement on PrestaShop 9 (actionCartGetPackageShippingCost); surfaced and validation-gated on 1.7 / 8.
Works Well With Smart Carrier Rules
Modules our team genuinely pairs with this one — and exactly why each belongs in the same setup.
Smart Carrier Rules decides which carriers appear at checkout and why, while Checkout Revolution controls how that checkout looks and flows as a single one-page surface.
The rules engine hides, surcharges or free-ships carriers by cart, group, zone and weight; Checkout Revolution keeps contact, address, carrier and payment in one tight flow.
Run together, shoppers see a clean one-page checkout showing exactly the right carriers — one tool curates the delivery options, the other presents them smoothly.
Smart Carrier Rules governs which carriers a shopper can pick; Estimated Delivery Date tells them when each choice will arrive.
The rules engine can already rename a carrier and attach an ETA label, and Estimated Delivery Date adds a full calculated delivery-date estimate per carrier and product.
Used together, a shopper sees the right carriers plus a credible arrival date for each — one controls availability, the other sets delivery expectations.
Smart Carrier Rules keeps carrier availability correct for the standard checkout, while Express Checkout adds one-tap Apple Pay, Google Pay and PayPal for ready-to-buy shoppers.
The rules engine makes sure no cart is left with a wrong or missing carrier; Express Checkout gives impatient buyers a fast lane that still respects those shipping choices.
Together you cover both the structured checkout and the instant one without carrier logic breaking in either.
Smart Carrier Rules decides the carrier at checkout; Advanced Order Workflow takes over once the order exists, automating statuses and post-purchase steps.
The rules engine gets the right shipping method onto the order; the workflow module then drives fulfilment, notifications and state changes from there.
Run together, delivery is correct at purchase and well-managed afterwards — one shapes the shipping choice, the other runs the order that follows.
Loading feature requests...
Easy return - no questions asked
Install, set up and take profit
Priority Help & Satisfaction Over Sales