API CHANGE

POSバンドル割引をコンポーネント単位で取得できるように

POS UI Extensions 2026-07 — discountAllocations がバンドル構成品レベルで利用可能に

Cart Line Item (親)lineItem.discountAllocationscomponents[]Component AtaxAllocations ✓discountAllocations ✓ NEWComponent BtaxAllocations ✓discountAllocations ✓ NEWアクセスパスCart Line Item API:cartLineItem.components ?.[0]?.discountAllocationsCart API:shopify.cart.current.value .lineItems[0].components[] .discountAllocations

POS UI Extensions の API バージョン 2026-07 より、カートラインアイテム内のバンドル構成品(コンポーネント)がコンポーネント単位の割引配分情報(discountAllocations)を持つようになりました。これまで割引情報は親ラインアイテムにしか存在せず、バンドル構成品ごとの割引計算・税計算・コンプライアンス対応が難しい状況でした。本変更は追加的(additive)であり、既存アプリへの破壊的変更はありません。

BEFORE / AFTER

01何が変わったか — Before / After 図解

BEFORE (〜2026-04)Cart Line Item (親)discountAllocations ✓Component AtaxAllocations ✓discountAllocations ✗Component BtaxAllocations ✓discountAllocations ✗課題: コンポーネント単位の割引が不明→ 割引・税・レポートを正確に分割できない→ コンプライアンス対応が困難AFTER (2026-07〜)Cart Line Item (親)discountAllocations ✓Component AtaxAllocations ✓discountAllocations ✓Component BtaxAllocations ✓discountAllocations ✓解決: 構成品ごとに割引配分を取得可能→ 割引・税・レポートを正確に分割→ コンプライアンス対応が可能にUSE CASES

02業務に活かせる具体ユースケース

ユースケース 1: バンドル割引のレシート明細分割

課題
バンドル商品に割引が適用された際、各構成品の割引額が不明のため、レシートに正確な内訳を印字できなかった。
打ち手
components[].discountAllocations を読み取り、構成品ごとの割引額をレシートの各行に表示するロジックをPOSアプリに実装する。
効果
顧客に対して透明性の高い割引明細を提示でき、クレームや返品時のトラブルを軽減。
技術メモ
プロパティが absent または空配列の場合をハンドリングすること。discountAllocations?.length > 0 で存在チェックを行う。

ユースケース 2: 構成品単位の税計算・コンプライアンス対応

課題
異なる税率が適用される構成品が混在するバンドルで、割引後の正確な課税額を算出できず、税務報告書の精度に問題があった。
打ち手
taxAllocations(既存)と新規の discountAllocations を組み合わせ、割引後の課税ベースをコンポーネント単位で計算するロジックを実装する。
効果
税務レポートの正確性が向上し、複数税率が絡む商品バンドルの法的コンプライアンス要件を満たせる。
技術メモ
両プロパティは同じ LineItem シェイプを共有。Cart Line Item API と Cart API のどちらからでもアクセス可能。

ユースケース 3: 構成品レベルの売上分析・レポーティング

課題
バンドル全体の割引額しか取得できず、どの構成品が利益を圧迫しているか分析できなかった。
打ち手
shopify.cart.current.value.lineItems 経由で components[].discountAllocations を読み取り、構成品ごとの実売上・割引率をバックエンドへ送信する集計処理を実装する。
効果
SKU単位の収益性分析が可能になり、バンドル構成の最適化や仕入れ交渉に活用できる。
技術メモ
Cart API の cart.current.value.lineItems も同一の LineItem シェイプを使用するため、既存の Cart API 読み取りコードを流用可能。
DEVELOPER NOTES

03技術者向けポイント

項目 詳細
対象 API バージョン 2026-07 以降で利用可能。2026-04 以前のバージョンは変更不要(後方互換)
アクセスパス① shopify.cartLineItem.components?.[0]?.discountAllocations(Cart Line Item API)
アクセスパス② shopify.cart.current.value.lineItems[n].components[m].discountAllocations(Cart API)
データ形状 親ラインアイテムの lineItem.discountAllocations と同じ LineItem シェイプを共有
プロパティ不在のハンドリング 割引が存在しない構成品では absent または空配列になるため、オプショナルチェーン(?.)や長さチェックで対処すること
破壊的変更の有無 なし(additive な追加)。既存アプリは何も変更せずに動作継続可能
公式リファレンス Cart Line Item API reference / Cart API current property(元記事リンク先参照)
Cart Line Item APIshopify.cartLineItemCart APIshopify.cart.current.valuelineItems[n].components[m].discountAllocationsコンポーネント単位の割引配分※ 両ルートとも同一の LineItem シェイプを使用※ 割引なしの場合は absent または空配列 → オプショナルチェーンで対処
POS UI Extensions 2026-07 により、バンドル構成品レベルの割引配分情報が取得可能になり、割引・税・レポートのコンポーネント単位処理が実現します。既存アプリへの影響はなく、2026-07 採用時に components[].discountAllocations を活用するだけで、より正確な割引管理・コンプライアンス対応が可能です。

Source: https://shopify.dev/changelog/pos-ui-extensions-2026-07-adds-discount-allocations-to-bundle-components | 公開日: 2026年7月15日