Pricing, tax and promotions

Troubleshoot a duplicate coupon code

Follow this guide to choose a tenant-unique code. The guide then takes you through the correct route, the checks to complete before making changes, the workflow in order, and the evidence to review afterwards.

Audience: Catalogue managers and commerce administratorsPermission: Enterprise POS: Manage catalogueModule v1.0.0 · code-inspected
Jump to steps
Where to goEnterprise POS → Promotions

What you’ll accomplish

Choose a tenant-unique code. This section explains deterministic money calculations and the live promotion form/selection rules.

Follow these steps

  1. Go to Enterprise POS → Promotions and open the workflow that matches “Troubleshoot a duplicate coupon code”. Confirm the page or record context before making a change.
  2. Go to Promotions.
  3. Create a named automatic or coupon promotion.
  4. Select percentage or fixed amount.
  5. Set optional minimum line value, category/product scope, dates and usage limit.
  6. Save and test against a qualifying basket.
  7. Disable the promotion when it should no longer apply.

Fields and options to review

  • Guide focus: Choose a tenant-unique code.
  • Promotion name and optional coupon code
  • Percent or fixed type
  • Percent/fixed value
  • Minimum line value
  • Category and product scope
  • Start/end date and usage limit
  • Active status
  • Product price, tax and shipping minor-unit values

Rules the system enforces

  • Money is calculated in integer minor units.
  • One best eligible promotion is selected per line.
  • Promotions do not stack in the supplied calculation flow.
  • Minimum value is evaluated per line, not as a whole-order threshold.
  • Public checkout applies public promotion rules.
  • Usage increments once per applied promotion per committed order.

How to confirm it worked

  • The specific outcome described by this guide is visible and remains tenant-scoped.
  • Qualifying lines show deterministic discount/tax totals.
  • Expired, inactive, over-limit or out-of-scope promotions do not apply.
  • Order snapshots preserve calculated values.

Safety checks and troubleshooting

  • Test boundary values and dates.
  • Do not assume a stored stacking flag means stacking is active.
  • Do not manually alter committed order totals.
Stay within the supported module flow

Use the supplied UI, host module lifecycle and documented endpoints. Do not bypass tenant filters, permissions, CSRF, idempotency, rate limits, audit evidence or transaction checks. A stored table or field does not imply that version 1.0.0 exposes a management screen for it.