記事のサマリー(TL;DR)
- POS 11.5から固定額割引の計算が「行合計」→「単位あたり」に変更
- 割引額が数量で割り切れない場合、合計に最大1セントの端数差が発生
- Cart API(2026-04以前)を使うアプリは現状のまま動作、将来APIバージョンでは単位額の直接渡しが必要
POS拡張・Cart APIを使う日本向けアプリ開発者が押さえるべき変更点
Shopify POSを活用した店舗向けアプリを開発・提供している場合、今回の端数処理変更は会計・レシート印字・税計算ロジックに影響する可能性があります。特に日本市場では消費税の総額表示義務があるため、1円(最小通貨単位)の差異がレシート上の表示金額と実際の請求額に齟齬を生むケースに注意が必要です。また、複数点数割引を頻繁に使う小売業・飲食業向けPOSアプリでは、端数差の累積が月次の売上照合時に無視できないノイズになり得ます。将来のAPIバージョンへの対応スケジュールは早期に確認しておくことが望ましい状況です。
詳細
変更の概要
POS バージョン 11.5 より、カスタム固定額の行(ライン)割引における内部計算方法が更新されます。これまで行合計に対して一括で適用されていた割引が、単位(ユニット)あたりの計算に変わります。
なお、この変更が影響するのは固定額割引のみです。パーセンテージ割引は従来どおり変わりません。
Cart API を使用するアプリへの影響
Cart API の set Line Item Discount または bulk Set Line Item Discounts を Fixed Amount 割引タイプで使用しているアプリについては、引き続き行合計の割引額をそのまま渡す形で問題ありません。POS システム側が自動的に変換処理を行います。
端数差の発生パターン
ほとんどのケースでは合計割引額は変わりません。ただし、割引額が数量で割り切れない場合、現地通貨の最小単位(最大1セント)の端数差が生じることがあります。
例:
| 条件 | 計算結果 |
|---|---|
| $5.00 割引 ÷ 3個 | 1個あたり $1.67 |
| 合計(新) | $5.01(旧 $5.00 との差:+$0.01) |
開発者が取るべき対応
- API バージョン 2026-04 以前を使用している拡張機能:対応不要
- 将来の API バージョン:単位あたりの割引額を直接渡す仕様に変更予定。詳細はリリース時期が近づいた段階で別途アナウンスされる予定です。
詳細は Cart API リファレンス を参照してください。
原文公開日:2026年4月27日 / 出典:Shopify Developer Changelog