POS 11.5 固定割引の端数計算が変更
1セント以内の誤差が生じる可能性あり。API 2026-04以前は対応不要
Shopify POS バージョン 11.5 より、固定金額の行アイテム割引(Fixed Amount)の内部計算方式が変更されます。これまでライン全体へ一括適用していた割引を、単価ベースで計算してから合算する方式に切り替えます。数量で割り切れない金額では最大1セント(現地通貨の最小単位)のずれが生じる場合があります。パーセンテージ割引は今回の変更対象外です。
1変更内容:Before / After 図解
2業務に活かせる具体ユースケース
- 課題
- 3点購入で500円均一の固定割引を設定しているが、POS 11.5以降に合計がわずかにずれると疑問を持たれる
- 打ち手
- レシートや割引明細に「割引は単価ベースで計算されます」と説明文を追加し、顧客への事前周知を行う
- 効果
- 端数によるクレームを未然に防ぎ、キャッシャー業務のスムーズな運用を維持できる
- 技術メモ
- Cart API の
setLineItemDiscountへ渡す値はこれまでどおりライン合計額でよい。変換はPOSシステムが自動処理する
- 課題
- POSアプリ拡張でバンドル割引を実装しており、数量✕単価の計算結果をレシートに表示している
- 打ち手
- 表示ロジックを「合計割引額」ではなく「単価×数量」で再計算するよう更新する(POS 11.5リリースに合わせて検証)
- 効果
- POS内部の計算値と表示値のずれをなくし、棚卸しや会計連携の精度を高める
- 技術メモ
- 将来のAPIバージョンでは
FixedAmountを渡す際に単価ベースの金額が必須となる予定。詳細はリリース時にアナウンスされる
- 課題
- 複数SKUを一括割引する際に
bulkSetLineItemDiscountsを利用しており、金額検証テストが失敗するか心配 - 打ち手
- テスト用の期待値を「ライン合計額 ±1セント」の範囲で許容するよう修正し、整数割り切れケースと端数ケースの両方をカバーするテストケースを追加する
- 効果
- CI/CDパイプラインでの誤検知を防ぎ、リリース後の安定稼働を確保できる
- 技術メモ
- API バージョン 2026-04 以前を使用している拡張機能は今すぐの対応は不要。将来バージョンで対応が必要になる時期は改めて案内される
3技術者が押さえるべきポイント
| 項目 | 内容 | 対応要否 |
|---|---|---|
| 対象割引タイプ | 固定金額(FixedAmount)のみ | — |
| パーセンテージ割引 | 変更なし | 対応不要 |
| Cart API の渡し方 | 引き続きライン合計額を渡せばよい。POS側が自動変換する | 対応不要(現時点) |
| 端数の最大誤差 | 最大1セント(現地通貨の最小単位) | 表示ロジック要確認 |
| API 2026-04以前の拡張機能 | 今すぐ対応不要 | 対応不要(現時点) |
| 将来のAPIバージョン | 単価ベースの金額を直接渡す必要が生じる予定(詳細は未発表) | リリース時に確認 |
🔍 補足:影響を受けないケース
- 割引額が数量で割り切れる場合(例:$6.00 ÷ 3 = $2.00)→ 合計は変わらない
- パーセンテージ割引を使用している全てのケース
- 1点のみの行アイテムに固定割引を適用している場合
POS 11.5 の固定金額割引は単価ベース計算に移行し、最大1セントの端数が生じる可能性があるため、Cart API への渡し方は変えずに表示ロジックと単体テストの許容値を確認することを推奨します。
Source: https://shopify.dev/changelog/minor-rounding-change-for-custom-line-item-discounts-in-pos-115 | 公開日: 2026年4月27日






Share:
アンインストール理由が必須選択に変更
GraphQL LineItemに割引後・税前小計フィールド追加