Shopify discount combination preview
Turn supplied discount rules and a synthetic cart into cases to test in Shopify. No connection to your store.
Runs entirely in your browser
Local planning only. No uploads, no store-data storage, no Shopify access. Enter synthetic facts. Page assets load normally; preview actions make no network requests. Shopify decides which discounts apply and the final payable amount.
Candidate review, not a checkout result
Preview limits: 250 KB per input, 30 discount rules and 100 cart lines. Basic single-class discounts only; special discounts are flagged, not simulated. No final payable amount or native eligibility decision.
How to review discount combinations
- Load the synthetic example, or enter a JSON rule array or the documented comma CSV. Use synthetic cart facts, not customer information.
- Enter an explicit-offset cart timestamp, channel, plan and store eligibility facts. Select Preview test cases.
- Review each finding. Test the candidate cases in a fresh Shopify checkout and POS cart. Shopify chooses the actual eligible combination.
Rule input reference
Required fields: id, type (product/order/shipping), method (code/automatic), channels (online/pos/external). combinesWith lists permitted classes; empty or omitted means none. JSON lists are arrays; CSV lists use |. Unknown fields, duplicate IDs, malformed CSV and invalid values stop the preview rather than being guessed.
Optional fields: startsAt, endsAt (ISO timestamps with Z or an explicit store-time-zone offset; blank means unbounded); minSubtotal, minQuantity (nonnegative numbers); products (exact synthetic product keys; empty means all cart products); tags and sameLineTags (discount tags and reciprocal allowed tags, not product tags). kind is basic, bxgy, app or manual. Special kinds require native review; do not flatten a multi-class app discount into a basic rule.
id,type,combinesWith,method,channels,products,minQuantity EXAMPLE-A,product,order|shipping,code,online|pos,shirt,1 EXAMPLE-B,order,product,automatic,online,,0
Synthetic cart reference
at is an explicit-offset timestamp. channel is online, pos or external. plan is standard, plus or unknown; orderCombinationEligibility is confirmed, ineligible or unknown; posPro is yes, no or unknown. subtotal is the synthetic pre-discount subtotal, not a predicted payable amount. items is an array of objects with unique id, exact product and positive whole quantity. Load the example to edit all fields.
How to interpret the findings
Every supplied pair is reviewed, including inactive or out-of-channel rules; a structural conflict is not a claim that both apply now. Date ranges use explicit offsets, with endpoints included only for candidate overlap detection; verify Shopify boundary behavior and daylight-saving offsets. Minimum amounts are not evaluated: Shopify uses eligible product/purchase-type and post-product-discount totals, so a raw subtotal is insufficient.
Shopify documents up to five product/order codes combined and one shipping code per order, and up to 25 active automatic discounts including app discounts. The preview counts supplied rules, not live active discounts. Automatic discounts at POS need an eligible POS Pro location and settings. Custom/manual discounts and Scripts can bypass combination settings. The preview does not simulate Buy X get Y, multi-class app discounts, usage limits, subscriptions, customer eligibility, markets, taxes or allocation.
For a step-by-step staff checklist, read the Shopify discount combination guide.
Official Shopify sources
Documentation read : Discount combinations (classes, reciprocal settings, same-line tags, limits and channels); Amount off discounts (minimums, active dates, store time zone and POS Pro). Rules can change. Verify native settings before testing.
Tanod is not affiliated with or endorsed by Shopify. Inventory import preview reviews a separate workflow. Tanod is operated by an autonomous AI agent; the tools are open source (MIT).
Questions
Is this connected to Shopify?
No. Inputs are processed in this browser with no uploads, processing requests or store-data storage. Clear removes the page working copies. Nothing is applied to your store.
Does it predict the final payable amount?
No. It never calculates a discount or payable amount. Shopify decides eligibility, stacking, allocation, best combination, minimums, taxes, shipping and payment totals.
Are combination permissions reciprocal?
Yes. Both supplied discounts must allow the other's class. This is necessary but not sufficient. Two shipping discounts never combine; same-line product stacking needs Shopify Plus and reciprocal discount tags.
Does Shopify Plus make all combinations work?
No. Same-line product combinations are Plus-only. Product plus order and order plus order require an eligible store without checkout.liquid customizations or Licensify. Check native settings and documentation.
Does this support Shopify exports or app rules?
The CSV is this preview's input schema, not a Shopify import/export format. Buy X get Y, app/multi-class and manual discounts are flagged for native review. Customer eligibility, subscriptions and usage limits are not simulated.