· HARUBOUYA · ec · 12 min read
受注と在庫の流れを、データ側から理解する
在庫には3つの数字があります。受注から出荷までの流れと、レポートの数字が合わなくなる原因を整理します。

ECの数字を扱っていると、「売上が合わない」という相談が定期的に来ます。原因のほとんどは、集計の間違いではなく受注と在庫の流れを踏まえていないことにあります。
同じ「注文」でも、どの時点を指すかで数字が変わります。在庫も、どの数字を見るかで意味が違います。ここを押さえないと、正しく集計しても現場の感覚と合いません。
データを扱う側から見た、受注と在庫の流れを整理します。
受注から出荷までの流れ
[1] カート投入
↓
[2] 注文確定 ← 顧客が「購入する」を押した
↓
[3] 在庫引き当て ← その注文用に在庫を確保
↓
[4] 決済処理 ← カードの与信、コンビニ払いは未入金のまま進む
↓
[5] 出荷指示 ← 倉庫へ指示が渡る
↓
[6] 出荷 ← 実際に商品が出る
↓
[7] 売上計上 ← 会計上の売上になるどの段階でも止まる・戻る可能性があります。 在庫が足りず引き当てできない、決済が通らない、顧客がキャンセルする、倉庫で欠品が発覚する、出荷後に返品されます。
だから「注文件数」と言われたとき、どの段階の件数なのかを必ず確認します。
在庫には3つの数字がある
ここが最もよく混同されます。
| 名前 | 意味 | 誰が見るか |
|---|---|---|
| 実在庫 | 倉庫に物理的にある数 | 倉庫、棚卸 |
| 引当在庫 | 注文に紐づいて確保された数 | 受注管理 |
| 販売可能在庫 | 実在庫 − 引当在庫(− 安全在庫) | サイト上の表示 |
サイトで「残り3点」と出ているのは販売可能在庫です。倉庫には10点あっても、7点が他の注文に引き当て済みなら3点と表示されます。
「倉庫にあるのにサイトで買えない」という問い合わせは、たいていこの差です。在庫の話をするときは、3つのどれを指しているかを最初に揃えます。
出荷されると数字が動く
出荷が完了すると、実在庫と引当在庫の両方が減ります。販売可能在庫は変わりません(引き当て時点ですでに減っているため)。
| タイミング | 実在庫 | 引当在庫 | 販売可能在庫 |
|---|---|---|---|
| 注文確定・引き当て | 変化なし | +1 | −1 |
| 出荷完了 | −1 | −1 | 変化なし |
| キャンセル(出荷前) | 変化なし | −1 | +1 |
| 返品(出荷後・再販可) | +1 | 変化なし | +1 |
返品は、再販できる状態かどうかで扱いが変わります。不良品は実在庫に戻さないでください。 ここを一律に戻す設計にすると、売れない在庫が販売可能在庫に混ざります。
受注ステータスの遷移
システムによって名称は違いますが、押さえる状態は共通しています。
| 状態 | 意味 | 売上に含めるか |
|---|---|---|
| 未確定 | カートに入っただけ、決済待ち | 含めません |
| 確定 | 注文が成立しました | 判断が分かれます |
| 出荷準備中 | 倉庫へ指示済み | 同上 |
| 出荷済 | 商品が出ました | 含めます |
| キャンセル | 出荷前に取り消し | 含めません |
| 返品 | 出荷後に返されました | 差し引きます |
「確定」を売上に含めるかどうかで、数字が変わります。 マーケティング側は注文確定時点で見たいです。会計側は出荷時点で計上します。どちらも正しいので、レポートごとにどちらの基準かを明記します。
数字が合わなくなる原因
1. 基準日が違う
同じ「9月の売上」でも、基準にする日付が違えば数字は合いません。
| 基準 | 意味 | 使う場面 |
|---|---|---|
| 注文日 | 顧客が買った日 | 施策の効果測定 |
| 出荷日 | 商品が出た日 | 物流の負荷分析 |
| 計上日 | 会計上の売上日 | 経営数値 |
月末に注文され、翌月に出荷された分がどちらに入るかです。月をまたぐ注文の扱いだけで、数%はずれます。
レポートには必ず基準日を書きます。「注文日ベース」と1行あるだけで、問い合わせが減ります。
2. 過去の数字が後から変わる
キャンセルと返品は、注文よりあとに発生します。
9月10日の注文が9月25日にキャンセルされると、9月10日の売上が後から減ります。一度出したレポートと、今日見た同じ期間のレポートで数字が違う、という状態が起きます。
対処は2つです。
- 過去分を取り直します。直近30日程度を毎日上書きし直す設計にします
- 確定のタイミングを決めます。「翌月10日時点の数値を確定値とする」と決め、それ以降は動かしません
両方を組み合わせるのが現実的です。日々の運用は取り直しで追随し、報告用には確定値を使います。
3. 実店舗とECで在庫を共有している
同じ在庫を複数の販路で売ると、引き当ての競合が起きます。店頭で売れた分がECの在庫に反映されるまでに時間差があると、その間にECで注文が入ります。結果、在庫がないのに売れる(オーバーセル)が起きます。
データ側で見るべきは、在庫の更新頻度です。リアルタイム連携なのか、1時間おきなのか、日次なのかを確認します。更新間隔が長いほど、欠品による出荷キャンセルが増えます。
欠品キャンセル率が高い商品は、在庫連携の間隔か安全在庫の設定を見直す対象になります。
4. 取り込みのタイミングが揃っていない
受注データは即時に取れますが、在庫データは日次バッチ、ということがよくあります。
このとき、同じ時点の受注と在庫を突き合わせられません。昨日の在庫と今日の受注を並べても、意味のある比較になりません。
取り込みの設計として、それぞれのデータがどの時点の状態を表しているかを記録しておきます。テーブルに「データ取得時刻」の列を1つ足すだけで、後から判断できます。
レポートを作るときに決めること
| 項目 | 決めること |
|---|---|
| 基準日 | 注文日 / 出荷日 / 計上日 のどれか |
| 対象ステータス | どの状態を売上に含めるか |
| キャンセル・返品 | 差し引くか、別に集計するか |
| 確定タイミング | いつ以降は数値を動かさないか |
| 在庫の種類 | 実在庫 / 引当在庫 / 販売可能在庫 のどれか |
| 更新頻度 | 各データがいつ時点のものか |
この6項目をレポートの片隅に書いておきます。 数字の問い合わせの大半は、この情報がないことから来ます。
よくある食い違いと原因
| 症状 | よくある原因 |
|---|---|
| BIと基幹システムで売上が違います | 基準日が違う(注文日 vs 計上日) |
| 先月の数字が今見ると減っています | キャンセル・返品が後から反映されました |
| 在庫があるのにサイトで買えません | 引当在庫があり、販売可能在庫が0 |
| 在庫がないのに注文が入りました | 在庫連携の更新間隔が長いです |
| 受注と在庫の分析が噛み合いません | 取得時点が揃っていません |
まとめ
- 「注文」はどの段階を指すかを確認します。確定と出荷は別
- 在庫は実在庫・引当在庫・販売可能在庫の3つです。サイト表示は販売可能在庫
- 売上の基準日は注文日・出荷日・計上日のどれかです。レポートに明記します
- キャンセルと返品で過去の数字は後から変わります。取り直しと確定タイミングで対応します
- 複数販路で在庫を共有するなら、更新頻度が欠品率に直結します
- レポートには前提6項目を添えます
数字が合わないとき、集計の式を疑う前に前提が揃っているかを確認します。式が正しくても前提が違えば、数字は合いません。
参考になったら、いいねを押してください。





