Shopifyの在庫同期アプリを削除、接続解除、または接続先を切り替える作業では、アプリを止めること自体よりも、異常が起きた後の判断が難所になります。
たとえば停止後に在庫が0になったとしても、削除前のCSVをそのままインポートすればよいとは限りません。停止時点から復旧時点までに発生した注文、返品、入荷、倉庫移動、棚卸し調整まで削除前の数量で上書きすると、今度は実在庫と販売可能数がずれます。
この作業は「アプリ削除」ではなく、商品マスタと在庫の変更管理・復旧作業として設計します。復旧の正本を、次の4層に分けると判断を記録しやすくなります。
ここでいう「正本」は、常に外部システムとは限りません。たとえば、倉庫の実在庫をWMSで管理しているならWMSが数量の正本になり得ます。一方で、複数ロケーションの一部だけを外部システムで管理し、店舗在庫はShopifyで調整しているなら、SKU・ロケーション単位で正本が分かれます。
したがって、作業前に「この連携では、どのSKUのどのロケーションを、どちらが更新してよいか」を表にします。同期方向を「Shopify→外部」「外部→Shopify」「双方向」とだけ書くのでは不十分です。対象外SKU、対象外ロケーション、在庫を追跡しない商品、バンドル商品も明記してください。
停止予定時刻を T0 として、以後の受注・入出庫・在庫調整を別管理できる状態にしてから作業を始めます。復旧で必要なのは削除前の数値だけではなく、T0 以後に正当に変わった数値の根拠です。
在庫同期の復旧台帳でSKUだけをキーにすると、複数ロケーションを使う店舗では判定できません。同じSKUでも、倉庫Aでは在庫があり、店舗Bでは0である状態は通常あり得ます。
Shopifyの在庫CSVでは、ロケーション別の在庫をエクスポートできます。また、全在庫状態を含むCSVを扱うことで、偶発的な上書きに対する保護を利用できる仕様があります。CSVのインポート時には、エクスポート時点の値と現在値を比較する安全検証が行われます。仕様確認時点は2026年10月9日です。Shopifyの在庫CSVに関する公式ヘルプを、実作業前にも確認してください。
台帳の最小単位は、次のように設計します。
| 列 | 記録内容 | 用途 |
|---|---|---|
| 商品ID/バリエーションID | Shopify管理画面・CSVで確認できる識別子 | SKU変更時にも対象を追う |
| SKU | 販売・外部連携で使うコード | 差分照合の主キー候補 |
| ロケーション | Shopify上のロケーション名 | 在庫の帰属先を固定する |
| 在庫状態 | 利用する在庫状態 | Availableだけで判断しない |
| 停止直前数量 | T0直前のShopify値 | スナップショット |
| 外部側数量 | 同時点または最も近い時点の外部値 | 正本の候補 |
| 停止後の業務変動 | 受注、入荷、返品、棚卸しなど | 復旧値の計算根拠 |
| 復旧方針 | Shopify更新、外部更新、実棚確認 | 作業指示 |
| 根拠URL・帳票番号 | 注文番号、入荷伝票、作業記録など | 監査・再確認用 |
「在庫0」は必ずしも障害ではありません。在庫切れ、販売停止、特定ロケーションへの未配賦、予約・引当など、意図した結果である可能性があります。逆に、販売可能数だけを見て問題がないと判断するのも危険です。連携対象の在庫状態と、ストアフロントで販売可否に使う状態を、アプリ設定とShopify設定の両方で確認します。
Shopify公式は、アプリをアンインストールする前に必要なデータをエクスポートするよう案内しています。また、アプリが管理するロケーションの在庫は、移管または削除が必要になる場合があります。アプリを再インストールしても、以前の設定やデータが復元されない場合がある点も前提にします。仕様確認時点は2026年10月9日です。アプリ削除に関するShopify公式ヘルプを確認してください。
Shopifyから商品CSVをエクスポートし、ファイル名に店舗名、対象範囲、タイムゾーン付きの取得時刻を入れます。
products_before_inventory_sync_stop_2026-10-09_2130_JST.csv
確認する項目は、少なくとも以下です。
商品CSVはバックアップや一括編集に使えますが、復旧用の原本をそのまま編集用ファイルにしないでください。Shopifyは、CSVを並べ替えて再インポートするとバリエーションや画像URLの対応に影響し得ると案内しています。原本は読み取り専用で保管し、加工・復旧検証は複製ファイルで行います。仕様確認時点は2026年10月9日です。商品CSVのエクスポートに関するShopify公式ヘルプを参照してください。
ロケーション別・全在庫状態のCSVをエクスポートします。対象を絞る場合でも、切替対象外のSKUやロケーションが混ざっていないか後で確認できるよう、可能なら全件原本も保存します。
このファイルは「復旧インポート用」ではなく、まず停止直前の事実を示す証跡です。インポートを前提に列削除、行削除、並べ替えを行わない原本を残してください。
外部システム側でも、対象SKU・拠点・利用可能在庫・予約在庫など、同期に使う数量をエクスポートします。取得時刻、タイムゾーン、抽出条件を記録します。
加えて、アプリ画面の次の設定を画面保存または設定エクスポートで残します。
設定を再現できない場合、アプリの再設定後に同じ同期が再開する保証はありません。削除前の画面保存は、障害調査だけでなく、新しい接続で旧設定を無批判に再現しないためにも役立ちます。
T0以後に在庫へ影響する業務を、通常の運用と分けて記録します。完全に業務を止められないなら、この台帳が復旧可否を左右します。
| 時刻 | SKU | ロケーション | 変動 | 数量 | 根拠 | 反映先 |
|---|---|---|---|---|---|---|
| T0以後 | SKU-001 | 倉庫A | 注文出荷 | -2 | 注文番号 | Shopify・WMS |
| T0以後 | SKU-002 | 倉庫A | 入荷 | +10 | 入荷伝票 | WMS |
| T0以後 | SKU-003 | 店舗B | 棚卸し | -1 | 棚卸し記録 | Shopify |
停止手順はアプリごとに異なります。そのため、アプリ独自の「切断」「同期停止」「初回同期」「全件同期」の挙動は、提供元の手順で確認してください。そのうえで、Shopify側で守る順番は次のようにします。
アプリ削除後にアプリ管理ロケーションを先に消すと、そのロケーションに残る在庫を比較しにくくなります。公式案内に従い、在庫をどのロケーションへ移管するか、不要なら削除するかを決めてから作業します。
販売を継続する場合でも、対象SKUについては一時的に販売チャネルから外す、または注文を手動確認する運用を検討します。ただし全商品を一律に非公開にする必要はありません。誤った在庫で販売する影響、停止中の受注処理能力、対象SKUの重要度を踏まえ、対象範囲を限定して決めます。
停止・再設定後に数量やSKUの変更が見つかった場合、最初にすることはCSVの再インポートではありません。差分を抽出し、原因と復旧方法を分けます。
Shopifyでは在庫調整履歴から、変更日時、変更者、アプリ、在庫状態などを確認できます。直近180日を超える分析には在庫調整変更レポートを使う案内があります。仕様確認時点は2026年10月9日です。在庫調整履歴に関するShopify公式ヘルプを参照してください。
次のような差分は、該当アプリや連携処理の記録と照合します。
この区分でも、削除前の数量をそのまま適用するのではなく、T0後の正当な変動を加味します。数量を外部システムで復旧するのか、Shopifyで調整するのかは、当該SKU・ロケーションの正本ルールに従います。
注文、キャンセル、返品、入荷、移動、棚卸しと一致する差分は、異常として戻しません。停止後変動台帳の根拠と一致するかを確認します。
復旧の考え方を式にすると、概念上は次の通りです。
復旧候補数量 = T0時点の正本数量
+ T0後の入荷・返品・増数調整
- T0後の出荷・減数調整
± 実棚差異
ただし、予約在庫や利用可能在庫の扱いは利用中の在庫状態・アプリ仕様で変わります。この式だけでCSVを作らず、どの状態を更新するかを先に確認してください。
外部システム、Shopify履歴、伝票のいずれとも一致しない差分は、数値の推測で埋めません。対象SKUを販売停止または受注確認対象にし、実棚・倉庫照会・未処理入荷の確認に回します。
SKUが書き換わった場合は、SKU文字列だけで旧SKUと新SKUを結び付けないことも重要です。商品タイトル、バリエーション属性、バーコード、商品IDやバリエーションID、外部システムの品番を組み合わせ、対応表を作ります。新SKUが既存SKUと重複する場合は、商品CSVの再インポートより前に重複解消の方針を決めます。
復旧が終わったかどうかを「アプリが再接続できた」で判断しません。数量復旧、マスタ復旧、同期再開、販売再開にはそれぞれ別の完了条件があります。
在庫CSVは、全件を一度に復旧するより、差分対象に絞って検証するほうが影響範囲を確認しやすくなります。ただし、CSVの安全検証を回避するために列や値を恣意的に加工する運用は避けてください。検証メッセージが出た場合は、現在値がスナップショット取得後に変わった理由を差分台帳で確認します。
| 確認項目 | 再開条件 |
|---|---|
| 対象範囲 | 同期対象SKU・ロケーションが台帳と一致している |
| 商品マスタ | SKU重複、意図しない商品公開・非公開、バリエーション欠落がない |
| 在庫数量 | 抽出した対象でShopify、正本システム、必要なら実棚が一致または差異承認済み |
| 停止後変動 | T0以後の注文・入出庫・調整が台帳に反映済み |
| 同期設定 | 同期方向、対象ロケーション、初回・全件同期の挙動を確認済み |
| 監視 | 再開後に確認する時刻、担当者、異常時の停止手順が決まっている |
特に再設定直後は、「全件同期」「初回同期」がどちらの数量を優先するかを確認してから有効化します。検証用SKUまたは限定ロケーションで結果を確認できるなら、全対象を一度に同期させるより安全です。アプリの仕様上、限定テストができない場合は、販売影響が小さい時間帯に実施し、ロールバック判断者と連絡経路を明示します。
この種の作業では、障害が起きなかった場合にも記録を残す価値があります。次回のアプリ変更時に必要なのは「何となく問題なかった」という記憶ではなく、どの範囲をどの順で止め、どの値を照合したかです。
最低限、次を1つの作業記録にまとめます。
在庫同期アプリの停止は、アプリを消すだけの作業ではありません。削除前のスナップショット、T0後の業務変動、ロケーション別の正本、再開条件を分けて管理すれば、異常時にも「どの数値に戻すか」を推測だけで決めずに済みます。
記事では答えきれない個別の状況にもお応えします。