Shopify POS / Spec change

POS fixed-amount custom discounts
now apply "per item" (v11.5)

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.

On this page
  1. What's changing, exactly (in 30 seconds)
  2. Before / After with a concrete example ($5 on 3 sweaters)
  3. What changes on the POS screen
  4. What changes / what stays the same
  5. Impact on third-party POS apps
  6. For developers: action required in the 2026-07 API
  7. Five points engineers should keep in mind
  8. Three use cases you can apply on the job
  9. A one-line summary for your pitch

1What's changing, exactly

In Shopify POS applying a "fixed-amount custom discount" to a line item, the meaning of that amount changes as of v11.5.
Before: the entered amount is the whole linethe total deducted from it (prorated by quantity).
From v11.5: the entered amount is per itemthe discount amount (amount × quantity is the total discount).
÷ qty

Before: prorated across the whole line

The entered fixed amount was deducted from the line's total, and each item was assigned that amount divided by the quantity.

× qty

From v11.5: per item

The entered fixed amount is applied to each item as-is, and the total discount becomes "entered amount × quantity".

This behavior is the same as the custom discounts already working in the Shopify admin and draft orders. POS was the only one behaving differently, and now it's aligned. It becomes easier to explain at the counter: "we'll take this much off per item."

2Before / After with a concrete example

The example from the post: entering a $5 fixed-amount custom discount on a line of 3 sweaters.

Before

$5 is taken from the whole line

Total −$5

Per sweater, that comes to −$1.67($5 ÷ 3 items).

From v11.5

$5 applies to each item

Total −$15

to each sweater −$5($5 × 3 items).

Until now: $5 prorated across the whole line Sweater ×3 Total −$5 → −$1.67 per item From v11.5: $5 applied to each item −$5 −$5 −$5 → Total −$15

3What changes on the POS screen

The input field label changes

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."

The line shows the total discount

Each line item shows the "amount entered × quantity" total discount amount, so the cart total is clear at a glance.

The receipt breakdown stays the same

How the discount breakdown is shown on the receipt is unchanged from today.

%

Percentage discounts and discount codes are unchanged

The behavior of percentage discounts and discount codes is unchanged. The only change this time is to fixed-amount custom discounts.

4What changes / what stays the same

TargetUntil nowFrom 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

5Impact on third-party POS apps

Even if you use a third-party POS app that applies fixed-amount discounts (e.g., wholesale or loyalty apps),the app keeps working just like it does today.

An app update may come later

The app's developer may later release an update that takes advantage of the new per-unit allocation.

If the behavior changes, reach out to the app's support

If you notice that a specific app's discounts are applied differently after that update,contact that app's support team.

6For developers: action required in the 2026-07 API

API version 2026-07 and later : If an extension is calling setLineItemDiscount or bulkSetLineItemDiscounts with FixedAmount , thenyou must update the value you pass so that it represents the "per-unit discount amount".
ItemDetails
Target API version2026-07 and later
Target APIsetLineItemDiscount / bulkSetLineItemDiscounts
Target discount typeFixedAmount(fixed amount)
Required actionChange the value you pass to a per-unit discount amount

75 key points for engineers

×qty

1. The value's meaning flips from "total → per-unit"

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.

POS admin

2. Behavior now matches the admin and draft orders

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.

%

3. The impact is limited to "fixed amounts only"

Percentage discounts and discount codes are unchanged, and the receipt breakdown is unchanged too.Only fixed-amount custom discounts change.

2026-07

4. Extensions require updates for the 2026-07 API

setLineItemDiscount/bulkSetLineItemDiscounts , called via FixedAmount — such extensions must rewrite the value passed toto per-unit. Check this before updating the version.

5. Third-party apps won't change immediately

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.

8Three use cases you can apply to your operations

−$5 −$5 −$5 In-store
USE CASE 1

Turn in-store "per-item discounts" into a one-tap operation

Challenge
You want to offer customers who buy the same item in bulk "◯ off per item," but because you previously entered the amount as a line total, staff had to mentally calculate the quantity-multiplied total every time.
Solution
In v11.5, in Amount per unit , you can enter the per-item discount amount directly. The total is shown automatically on the line as "entered amount × quantity."
Result
Calculation and communication errors at the store decrease, and it becomes easier to tell customers, "That's ◯ off per item."
Technical note
Percentage discounts and discount codes behave the same. You only need to review the procedure for fixed-amount custom discount operations.
POS admin Draft
USE CASE 2

Unify cross-channel discount rules on a "per-unit" basis

Challenge
Behavior was split — only POS prorated fixed amounts across the line, while the admin and draft orders worked per item — so internal manuals and documentation had to explain both.
Solution
Because v11.5 brings POS in line with other channels on a "per-item" basis,consolidate your discount operation rules to per-unitand merge your in-store, back-office, and e-commerce manuals.
Result
The same input produces the same result across channels, reducing training costs and operational mistakes. Auditing and reconciling discount amounts also becomes easier.
Technical note
The way the receipt's discount breakdown is shown is unchanged, so the document templates basically need no changes. The only thing that changes is the interpretation at input time.
FixedAmount per-unit 2026-07
USE CASE 3

Validate the POS extension's 2026-07 API migration ahead of time

Challenge
Your in-house POS UI extension calls setLineItemDiscount/bulkSetLineItemDiscounts with FixedAmount , and bumping to API 2026-07 risks the discount amount ballooning to a multiple of the quantity.
What to do
Inventory the affected calls and rewrite the value you pass to per-unit (per item). Verify the combined discount across multiple quantity lines in a sandbox before bumping the version.
Impact
Prevents over-discounting incidents when you update the API version, and lets you control the release timing before 2026-07.
Technical notes
Fixed-amount discounts from third-party apps will keep working as before for the time being, so for your in-house extension and the apps, the timing of per-item adoption will differ— build your test plan around that assumption.

9One-line summary for your pitch

"From POS v11.5, a line item'sfixed-amount custom discount, instead of the 'line total,' becomes 'per unit', aligning its behavior with the admin and draft orders.
Switch in-store operations to per-unit entry, andfrom API 2026-07 onward, update the values in extensions that call FixedAmount to per-unit—that's all you need to do."