INVENTORY API

InventoryLevelにisActiveフィールドが追加

GraphQL Admin API 2026-04〜 非アクティブな在庫ロケーションも取得・管理できるようになった

InventoryLevellocationIdquantities+ isActiveBoolean (true/false)isActive: true通常の在庫ロケーションisActive: false無効化されたロケーション

GraphQL Admin API バージョン 2026-04 以降、InventoryLevel オブジェクトに isActive ブール値フィールドが追加されました。在庫ロケーションを無効化しても数量データが消えなくなり、APIからも非アクティブなロケーションを取得・操作できるようになります。既存クエリへの影響は最小限ですが、非アクティブレベルを含む取得を行う場合はロジックの見直しが必要です。

1変更の背景と Before / After

2026-04 より前2026-04 以降ロケーション無効化→ 数量データが消去される→ APIから取得不可有効レベルのみ返却isActive フィールドなし無効レベル = 取得不可ロケーション無効化→ 数量データは保持される→ APIから取得可能に有効・無効両方を返却可能isActive: true / false で識別数量調整は有効時と同じ操作で可

2業務ユースケース

課題
倉庫の一時閉鎖や棚卸し中に在庫ロケーションを無効化したところ、数量データが失われ再開後の棚卸し照合が困難だった。
打ち手
2026-04以降は無効化しても数量が保持されるため、ロケーション再有効化後にそのままデータを引き継げる。isActive: falseのレベルも調整APIで数量を維持・更新可能。
効果
再開時に手動での数量再入力が不要となり、データ整合性を保ちながら倉庫運用の柔軟性が向上する。
技術メモ
非アクティブレベルへの数量調整はアクティブと同一の操作で可能。ただし非アクティブレベルを取得するには、クエリで明示的に非アクティブレベルを含む設定が必要(元記事記載)。
課題
マルチロケーション管理アプリで、在庫集計時に無効化済みロケーションの数量が計算対象から外れているか不明で、集計結果の信頼性に懸念があった。
打ち手
isActiveフィールドを参照してフィルタリングし、集計ロジックをアクティブレベルのみに明示的に限定する。既存クエリは引き続きアクティブのみを返すが、将来的に非アクティブを含む取得を追加する場合は集計ロジックも更新する。
効果
在庫集計の信頼性が向上し、無効ロケーションの数量が意図せず合算されるバグを防止できる。
技術メモ
元記事では「非アクティブレベルを含む取得を選択した場合は、返却される全レベルがアクティブとは限らないと仮定するロジックを見直すこと」と明記されている。
課題
一度も在庫管理を行ったことがないロケーションと、過去に管理していたが無効化されたロケーションを区別する方法がなく、データクレンジング作業が困難だった。
打ち手
isActive: falseのロケーションは「過去に在庫追跡が行われたが現在は無効」と判定できるようになる。在庫管理履歴のないロケーションとはisActiveで区別が可能。
効果
ロケーションデータの品質管理・監査レポートの精度が向上し、不要な非アクティブロケーションの棚卸しや整理が効率化される。
技術メモ
元記事では「アプリが、在庫追跡が一度も行われていないロケーションと、無効化されたロケーションを区別できる」と説明されている。両者の違いをどう実装で表現するかは公式ドキュメントを参照のこと。

3開発者が押さえるべき技術ポイント

API バージョン

2026-04以降で有効。それ以前のバージョンにはisActiveフィールドは存在しない。バージョンアップ時に対応を計画すること。

既存クエリへの影響

既存のクエリは変更不要。引き続きアクティブな在庫レベルのみが返却される。非アクティブレベルを含めるには明示的なオプション指定が必要(詳細は公式ドキュメント参照)。

ロジック見直しが必要なケース

非アクティブレベルを含む取得に切り替えた場合、「返却された全レベルはアクティブ」という前提のロジックは修正必須。フィルタリングや表示ロジックをisActiveで分岐させること。

集計・カウントへの注意

在庫レベルのカウントや数量集計を行うアプリは、非アクティブレベルが含まれた場合の影響を確認すること。意図しない数値の増加が発生する可能性がある。

数量データの永続化

2026-04以降、無効化操作で数量データが消去されなくなった。非アクティブレベルに対しても、アクティブレベルと同様の数量調整操作が可能。

Liquid・アプリへの影響

Liquidテンプレートへの直接影響の記載はなし。GraphQL Admin APIを利用するカスタムアプリや公開アプリが主な影響範囲。

項目 2026-04より前 2026-04以降
非アクティブレベルのAPI取得 不可 オプションで可能
無効化時の数量データ 消去される 保持される
isActiveフィールド なし あり(Boolean)
非アクティブレベルの数量調整 不可 可能
既存クエリのデフォルト返却 アクティブのみ アクティブのみ(変更なし)

在庫ロケーションを無効化してもデータが消えずisActiveで状態管理できるようになったことで、多拠点在庫アプリの信頼性と柔軟性が大きく向上します。

Source: https://shopify.dev/changelog/add-isactive-field-to-inventorylevel | 公開日: 2026年4月17日