Fixed-amount custom discounts that used to be prorated across the whole line are, as of v11.5, treated as a discount amount per individual item. This aligns the behavior with the admin and draft orders, making discounts simpler to explain at the counter.
The entered fixed amount was deducted from the line's total, and each item was assigned that amount divided by the quantity.
The entered fixed amount is applied to each item as-is, and the total discount becomes "entered amount × quantity".
The example from the post: entering a $5 fixed-amount custom discount on a line of 3 sweaters.
Per sweater, that comes to −$1.67($5 ÷ 3 items).
to each sweater −$5($5 × 3 items).
The amount field on the "Add custom discount" screen Amount per unit is changed, with supplementary text noting that "the discount applies to each item on the line."
Each line item shows the "amount entered × quantity" total discount amount, so the cart total is clear at a glance.
How the discount breakdown is shown on the receipt is unchanged from today.
The behavior of percentage discounts and discount codes is unchanged. The only change this time is to fixed-amount custom discounts.
| Target | Until now | From v11.5 |
|---|---|---|
| Fixed-amount custom discount (POS) | Line total Prorated by quantity | Per item amount × qty as the total |
| Input field label | Amount (line total) | Amount per unit + supplementary text |
| Line display | — | Shows the total discount (entered amount × quantity) |
| Discount breakdown on the receipt | No change Shown the same way as today | |
| Percentage discounts and discount codes | No change | |
| Admin and draft orders | Already per-unit — the side POS aligns to | |
The app's developer may later release an update that takes advantage of the new per-unit allocation.
If you notice that a specific app's discounts are applied differently after that update,contact that app's support team.
setLineItemDiscount or bulkSetLineItemDiscounts with FixedAmount , thenyou must update the value you pass so that it represents the "per-unit discount amount".
| Item | Details |
|---|---|
| Target API version | 2026-07 and later |
| Target API | setLineItemDiscount / bulkSetLineItemDiscounts |
| Target discount type | FixedAmount(fixed amount) |
| Required action | Change the value you pass to a per-unit discount amount |
Even the same "$5" balloons the total discount by the quantity. It's not the amount itself but the interpretation that changes, so you need to recheck your math when migrating.
Until now, only POS behaved differently, prorating the amount across the line.Discount logic across channels is unified, reducing inconsistency in verbal and document-based explanations.
Percentage discounts and discount codes are unchanged, and the receipt breakdown is unchanged too.Only fixed-amount custom discounts change.
setLineItemDiscount/bulkSetLineItemDiscounts , called via FixedAmount — such extensions must rewrite the value passed toto per-unit. Check this before updating the version.
Fixed-amount discount apps for wholesale, loyalty, and the like will keep working as they do today for the time being. The developer may add support for per-item allocation in a later update, and if the way discounts appear changes at that point, contact the app's support. Note that your own extensions and these apps may be updated on different timelines.
setLineItemDiscount/bulkSetLineItemDiscounts with FixedAmount , and bumping to API 2026-07 risks the discount amount ballooning to a multiple of the quantity.