Tsumiki Apps

棚卸で在庫が合わないときに原因を突き止める手順

実地棚卸の結果とShopifyの在庫数がズレたときの調べ方と直し方を、標準機能での原因追跡・CSVとスプレッドシートでの差異表・変動を記録するアプリの3つに分けて説明します。差異表の数式例と在庫CSVの注意点つき。

公開日:

棚卸をして数が合わないとき、困るのは「差があること」よりも「なぜ差が出たのかが分からないこと」です。原因が分からないまま数だけ合わせると、同じズレが翌月も起きます。しかも在庫の差異は、出荷ミス・返品処理の漏れ・破損や紛失・外部アプリとの同期・手入力のミスなど、原因が複数の場所に散らばっているのが普通です。

この記事では、Shopifyストアで棚卸の差異を追いかけ、安全に直すための手順を3つに分けて説明します。手順と数値は2026年8月時点のShopifyヘルプセンターの記載にもとづいています。管理画面のメニュー名はバージョンによって「商品管理」「商品」のように表記が異なる場合があります。

その前に: 数えるべきは「手持ち」の在庫

Shopifyの在庫数は1つの数字ではなく、5つの状態に分かれています。

在庫ステータス意味
手持ちそのロケーションに物理的にある数量
販売可能いま販売に回せる数量
引当済み未発送の確定注文に引き当てられた数量
販売不可下書き注文用の予約・アプリによる確保・破損や品質管理などで販売に回せない数量
入荷予定発注済みでまだ到着していない数量

「手持ち」は、引当済み・販売不可・販売可能の合計です。棚卸で数えるのは棚にある実物なので、突き合わせる相手は「販売可能」ではなく「手持ち」です。ここを取り違えると、未発送の注文の数だけ差異が出て、原因追跡が最初から迷子になります。なお、後述する調整履歴の画面では、この「販売可能」「販売不可」が「利用可能」「利用不可」と表示されます。

方法1: 標準機能で差異が出たSKUの動きを追う

差異が出たのが数点なら、Shopifyの標準機能だけで当たりを付けられます。

  1. 差異が出た商品を「商品管理」(表示によっては「商品」)から開き、対象のバリエーションを選びます。
  2. 「在庫」セクションで「在庫を追跡する」が有効になっていることを確認します(無効の商品では調整履歴を開けません)。
  3. 「調整履歴を表示」をクリックします。
  4. 日付・アクティビティ・作成者の3列を追って、棚卸の対象期間に何が起きたかを確認します。

アクティビティ欄には「手動による在庫数のカウント」「受け取った在庫」「補充されたアイテム」「破損」といった手動調整の理由や、「予約の作成」「転送の作成」などの自動処理が表示されます(注文による引き当ては「予約の作成」として記録されます)。理由を選ばずに直した分は「手動で調整済み」と表示されます。作成者欄には、その変更を行ったスタッフ・アプリ・販売チャネルが表示されます。ここで多いのが「外部の在庫連携アプリが一括で数を書き換えていた」「返品を受け取ったが在庫に戻していなかった」というパターンです。

商品をまたいで傾向を見たいときは、「ストア分析」→「レポート」→カテゴリー「在庫」→「在庫調整の変更」レポートを使います。手動調整だけでなく、アプリによる調整・在庫転送・注文のフルフィルメントによる調整も含まれます。

標準機能で追える範囲には次の制限があります。商品ページの調整履歴は過去180日分のみで、バリエーションごとにしか見られません。レポート側は期間を広く取れますが、在庫系の指標の履歴データは2023年10月1日までしかさかのぼれないとヘルプに明記されており、180日を超える調整履歴のレポート自体も2025年7月18日の提供開始以降に蓄積された分から、と告知されています。差異の点数が多いときや、前回の棚卸から半年以上空いているときは、この方法だけで全部を追い切るのは難しいと考えてください。

方法2: CSVで差異表を作り、安全に反映する

差異が数十件を超えるなら、CSVとスプレッドシートで差異表を作るのが確実です。「どこがズレているか」を一覧にしてから直せるうえ、その一覧自体が棚卸の記録になります。

手順1: 在庫CSVをエクスポートする

  1. 管理画面の「商品管理」→「在庫」を開きます。
  2. 「エクスポート」をクリックします。
  3. ロケーション(すべて、または特定のロケーション)と、対象のバリエーション(現在のページ・すべて・選択済み・検索結果)を選びます。
  4. 形式は「すべてのステータス」を選びます。こちらは誤った上書きを防ぐ仕組みが働く形式です。

「すべてのステータス」形式のCSVには、Handle・Title・Option 1〜3・SKU・Location・Bin name・Incoming・Unavailable・Committed・Available・On hand (current)・On hand (new) などの列が入ります。このうちIncoming・Unavailable・Committed・Availableは読み取り専用で、実際に書き換えるのはOn hand (new) の列です。

手順2: 実地カウントを入れて差異を出す

エクスポートしたCSVをスプレッドシートで開き、右端に「実地カウント」と「差異」の2列を追加します。列の位置はエクスポートの内容によって変わるため、列記号は実ファイルで確認してください。差異は「実地カウント − On hand (current)」で求めます。実地カウントがP列、On hand (current) がN列の場合の例です。

=P2-N2

棚卸表が別ファイル・別シートになっていて、SKUで突き合わせたい場合は次の形が使えます(SKUがG列、棚卸シートのA列にSKU、B列に実地カウントが入っている想定)。

=XLOOKUP(G2, 棚卸!$A:$A, 棚卸!$B:$B, "未カウント")

XLOOKUPが使えない環境では、次の形でも同じことができます。

=IFERROR(VLOOKUP(G2, 棚卸!$A:$B, 2, FALSE), "未カウント")

差異列に0以外が並ぶ行が、追跡すべき対象です。差異の大きい順に並べ替えて、上位から方法1の調整履歴で原因を確認していくと、少ない手数で原因の見当がつきます。

手順3: 正しい数量を反映する

差異を確認したら、On hand (new) の列に実地カウントの数値を入れてインポートします。

  1. スプレッドシートをCSVとして保存します(ファイルサイズは15MBまで)。
  2. 「商品管理」→「在庫」→「インポート」→「ファイルを追加」でアップロードし、内容を確認して「インポートを開始」をクリックします。

在庫CSVで間違えやすい点は次のとおりです。

  • On hand (current) の列は消さない。この列があると、エクスポート後に在庫が動いた行はインポートが失敗し、誤った上書きを防げます。列を空にすると検証はスキップされますが、Shopifyは緊急時の手段として案内しています。
  • Location列はロケーション名と完全一致させます。大文字小文字も区別されます。更新したいロケーションの行だけを残し、それ以外の行は削除します。
  • 数量は整数で入力します。1.5のような小数は使えません。そのロケーションで一度も在庫を扱ったことがない商品は、On hand (current) 列に「not stocked」と入ります。いまの数量がたまたま0なだけの商品に、この値を手入力しないでください。
  • On hand (new) を空欄にした行は数量が変わりません。ビン名など他の情報だけを直したいときに使えます。

少数の修正なら、理由を付けて管理画面から直す

差異が数点なら、CSVを通さず管理画面から直したほうが早く、記録も残ります。「商品管理」→「在庫」で数量セルをクリックし、「〜に設定」で実地カウントの数値を入力してから「理由を追加」で「実地棚卸」を選んで保存します。理由を選んでおくと、後から調整履歴を見たときに「棚卸で直した分」と「それ以外」を区別できます。

このとき、一括編集(バリエーションを選んで「一括編集を開く」)から在庫数を直すのは避けてください。一括編集では移動元・移動先を指定しないため、在庫移動の監査証跡が作られないとShopifyが明記しています。

方法3: 変動を記録するアプリで、次の棚卸を軽くする

方法1と方法2は「差異が出た後」の作業です。毎回の棚卸を軽くするには、差異が出る前から在庫の動きを記録しておく方法があります。

私たちが開発している「在庫監査ログ」は、インストール後にShopifyから通知された在庫数の変更を、商品・バリエーション・SKU・ロケーション・変動前後の数量・差分・発生時刻とともに保存するアプリです。インストール後の記録は期限なしで保存されるため、前回の棚卸から半年以上空いても、その間の動きを1つの一覧で追えます。各変動には棚卸・入荷・返品・破損や廃棄・訂正・移動・その他の7つの理由区分と、500文字までのメモを後から付けられます。「9/3の-2は割れて廃棄」といった経緯を、担当者の記憶ではなく記録として残せます。Proプラン($12.99/月)では、絞り込んだ条件のままCSV(1回あたり最大10,000行)に出力して棚卸表や会計資料に使えます。

制約もお伝えしておきます。記録できるのはインストール後に通知された変更で、過去にさかのぼって履歴を取得することはできません。保存はプランによらず同じですが、無料プランで閲覧できるのは直近30日分で、半年前までさかのぼって一覧するにはProプランが必要です。Shopify App Storeで公開しており、Freeプランから利用できます。

まとめ

  • 突き合わせる相手は「販売可能」ではなく「手持ち」です。ここを間違えると原因追跡が最初からズレます。
  • 差異が数点なら方法1で調整履歴をたどり、管理画面から理由「実地棚卸」を付けて直すのが一番手早いです。
  • 差異が多いなら方法2でCSVの差異表を作ります。On hand (current) を残したままインポートすれば、誤った上書きを防げます。
  • 毎回の棚卸で原因追跡に時間がかかっているなら、方法3のように変動を記録し続ける仕組みを足すと、次回から差異の説明がつけやすくなります。

在庫履歴そのものの確認方法はShopifyで在庫の変更履歴を確認する3つの方法で、変更の理由や担当者を残す方法はShopifyで在庫を「誰が・なぜ」変更したかを残す方法で詳しく説明しています。

記事一覧へ