GraphQL LineItemに
割引後・税前小計フィールド追加
REST APIの current_subtotal_price_set と同等の値をGraphQLで取得可能に
2026-07 バージョンのGraphQL Admin APIを利用する全Shopify開発者が対象です。2026年4月27日より、LineItemオブジェクトにpriceAfterAllDiscountsBeforeTaxesSetフィールドが追加されました。注文エクスポートや会計連携で必要だった「行単位・割引後・税抜き小計」をGraphQLから直接取得できるようになります。
1フィールドの仕様:何が返ってくるか
2業務ユースケース
- 課題
- 受注データを会計システムへエクスポートする際、行単位の割引後・税抜き金額をREST APIとGraphQL APIを組み合わせて取得していたため、実装が複雑で保守コストが高かった。
- 打ち手
- GraphQLクエリに
priceAfterAllDiscountsBeforeTaxesSet { shopMoney { amount currencyCode } }を追加するだけで、REST呼び出しを廃止できる。 - 効果
- APIコール数の削減とコードベースの単純化。会計ソフトへの取り込みデータを1クエリで完結させられる。
- 技術メモ
- 2026-07以降のAPIバージョンが必要。既存クエリのバージョン指定を確認し、必要に応じてアップグレードすること。
- 課題
- 越境ECで複数通貨を扱う店舗では、顧客に表示した通貨(presentmentMoney)での小計を注文明細に記録したいが、GraphQLからは取得できなかった。
- 打ち手
-
priceAfterAllDiscountsBeforeTaxesSet { presentmentMoney { amount currencyCode } }を取得し、顧客向け明細レポートや帳票生成に利用する。 - 効果
- 顧客が実際に見た金額と社内記録が一致し、問い合わせ対応や返金計算の精度が向上する。
- 技術メモ
- shopMoneyとpresentmentMoneyは同一フィールド内に含まれており、1フィールドの追加で両通貨を取得可能。
- 課題
- 返品・一部返金が発生した注文で、残存する有効数量ベースの行単位小計をダッシュボードに表示したいが、取得方法が煩雑だった。
- 打ち手
-
priceAfterAllDiscountsBeforeTaxesSetは返金済・削除済数量を自動的に除外した値を返すため、フィルタリング処理なしでそのまま表示値として利用できる。 - 効果
- ダッシュボード向けの集計クエリを簡素化でき、リアルタイム表示の遅延も低減できる。
- 技術メモ
- 返金・削除済数量の除外ロジックはAPI側で処理されるため、アプリ側での数量補正コードは不要になる可能性がある。元記事に詳細な計算仕様の記載はないため、公式ドキュメントで確認を推奨。
3技術者向けポイント
| 項目 | 内容 |
|---|---|
| 対象API | GraphQL Admin API(REST APIには変更なし) |
| 利用可能バージョン | 2026-07 以降(元記事ドキュメントリンク先より) |
| RESTとの対応 | REST current_subtotal_price_set(line item)と同等の値 |
| 返却値の構造 |
MoneyBag型 ― shopMoney / presentmentMoney を含む |
| 税・返金の扱い | 税額は含まない。返金済・削除済数量は除外済み |
| 移行手順 | ①APIバージョンを2026-07に更新 ②クエリにフィールドを追加 ③REST呼び出しを削除 |
| 注意点 | 旧バージョンのAPIではフィールドが存在しないためエラーになる。バージョン固定の本番環境は注意 |
GraphQL Admin APIのLineItemに割引後・税抜き小計フィールドが加わったことで、REST APIとの併用が不要になり、注文エクスポートや会計連携のクエリをシンプルかつ多通貨対応で一本化できます。
Source: https://shopify.dev/changelog/lineitem-priceafteralldiscountsbeforetaxesset-field-now-available | 公開日: 2026年4月27日






Share:
POS 11.5 固定割引の端数計算が変更
チェックアウトメタフィールド廃止と移行ガイド