EC在庫同期の仕組み|売り越しを防ぐ設計と運用

自社EC、モール、実店舗など複数の販売チャネルで同じ商品を販売するとき、重要になるのが在庫同期です。

たとえば実在庫が10個しかない商品を、自社ECと2つのモールでそれぞれ「在庫10」と表示している場合、複数の店舗で同時に注文が入ると、実際の在庫数を超えて販売してしまうことがあります。

このような売り越しを防ぐには、「どの在庫数を基準にするのか」「注文が入ったらいつ減らすのか」「他店舗へ何個として反映するのか」を決め、在庫を継続的に同期する仕組みが必要です。

この記事では、EC在庫同期の基本から、基準在庫、販売可能在庫、SKU対応、注文・キャンセル・返品時の更新、同期遅延、安全在庫、障害時の対応まで整理します。

この記事の要点
  • 在庫同期では「どのシステムの在庫を正とするか」を最初に決める
  • 実在庫と販売可能在庫は同じとは限らない
  • チャネルごとに別々の在庫を持たせず、共有在庫として管理する
  • 商品コード・SKUを正しく対応付ける
  • 注文だけでなく、キャンセル・返品・入荷・棚卸しも同期対象にする
  • 同期には時間差があるため、売り越し対策を別途設計する
  • 高回転商品には安全在庫・販売上限を設定する方法もある
  • 同期エラーを検知できる運用を作る

EC在庫同期とは?

EC在庫同期とは、複数の販売チャネルや在庫管理システムで扱っている在庫数を連携し、できるだけ同じ状態に保つ仕組みです。

たとえば、次のような販売環境があります。

  • 自社EC
  • Amazonや楽天市場などのモール
  • 実店舗
  • 倉庫管理システム
  • 在庫管理システム

これらが同じ商品在庫を共有している場合、ある店舗で商品が1個売れたら、他の販売チャネルでも販売可能数を減らす必要があります。

在庫同期の基本

どこかで在庫が変わったら、その変更を他の販売チャネルへ反映するのが基本です。

なぜ在庫同期が必要なのか

1店舗だけで販売している場合は、注文が入るたびに在庫数を減らすだけでも管理できます。

しかし販売チャネルが増えると、同じ在庫を複数店舗が同時に利用することになります。

チャネル 表示在庫
自社EC 10
モールA 10
モールB 10

実在庫が10個しかないのに、それぞれの店舗が独立して在庫10個を持っているように管理すると、理論上30個まで注文を受けてしまう可能性があります。

在庫を複製しない

「自社EC用10個」「モールA用10個」「モールB用10個」と数字を複製するのではなく、実際に販売できる共通在庫を基準に管理することが重要です。

最初に「基準在庫」を決める

在庫同期で最も重要なのは、どのシステムの数字を正しい在庫として扱うかを決めることです。

複数のシステムが互いに在庫を書き換える状態では、どの数字が正しいのか分からなくなることがあります。

在庫の基準を1つ決める

たとえば「在庫管理システムの販売可能在庫を基準とし、その数を自社EC・モールへ配信する」のように役割を明確にします。

基準にする候補としては、次のようなシステムがあります。

  • 在庫管理システム
  • 受注管理システム
  • WMS
  • 基幹システム
  • ECカート

どれが適切かは、倉庫数・店舗数・注文数・使用ツールによって異なります。

実在庫と販売可能在庫を分ける

倉庫に10個商品があるからといって、必ず10個すべてを販売できるとは限りません。

すでに注文が入り、出荷前の商品が含まれていることがあるためです。

基本的な考え方

販売可能在庫 = 実在庫 − 引当済み在庫 − 販売停止在庫 − 必要な安全在庫

項目 数量
倉庫の実在庫 20
注文引当済み 5
検品中・不良品 2
安全在庫 1
販売可能在庫 12

ECサイトへ同期する数字は、単純な倉庫数量ではなく「いま新規注文として販売できる数量」にする必要があります。

在庫同期の基本フロー

1
注文が発生する

自社ECやモールなど、いずれかの販売チャネルで注文が入ります。

2
受注情報を取得する

注文されたSKUと数量を在庫管理側へ連携します。

3
在庫を引き当てる

注文分の商品を他の注文で販売しないよう確保します。

4
販売可能在庫を再計算する

引当後の在庫から、新しく販売できる数量を算出します。

5
各販売チャネルへ同期する

自社EC・モールなどへ新しい販売可能数を反映します。

6
出荷・キャンセルなどを反映する

注文状態が変わった場合も、必要に応じて在庫を更新します。

SKUを正しく対応付ける

在庫同期では、どの商品とどの商品が同じ在庫なのかをシステム側で認識できなければなりません。

そのため重要なのがSKU管理です。

基準SKU 自社EC モールA モールB
SKU-001-BLK-M A10001 R-10001 M001-BM

販売チャネルごとに商品コードが異なる場合でも、「すべて同じ実在庫の商品である」と判断できる対応表が必要です。

商品名だけで対応させない

商品名は途中で変更されることがあります。色・サイズ違いもあるため、在庫連携では識別可能なSKU・商品コードを基準にします。

サイズ・カラーSKUを混同しない

アパレルなどでは、同じ商品名でも色やサイズによって在庫は別です。

たとえば次の3商品は、それぞれ別の在庫として管理します。

  • Tシャツ・ブラック・M
  • Tシャツ・ブラック・L
  • Tシャツ・ホワイト・M

親商品単位ではなく、実際に在庫が動く最小単位までSKUを対応付けます。

注文以外にも在庫は変わる

在庫同期では、注文だけを同期すればよいわけではありません。

在庫数は次のような場面でも変わります。

イベント 在庫への影響
新規注文 販売可能在庫を減らす
注文キャンセル 条件を満たせば在庫を戻す
返品 検品後、再販可能なら戻す
入荷 販売可能在庫を増やす
棚卸し調整 実在庫との差を反映する
破損・不良 販売可能在庫から除外する
店舗販売 共通在庫を減らす

注文キャンセル時の在庫同期

注文をキャンセルした場合、確保していた在庫を販売可能数へ戻せることがあります。

ただし、キャンセル状態によって処理は異なります。

状態 考え方
出荷前 引当を解除して在庫へ戻す
梱包後 倉庫処理と連携して判断する
出荷後 返品確認前には戻さない

システム上で「キャンセル=即在庫復活」にしてよいか、実際の物流フローと合わせて確認します。

返品時の同期は検品後に行う

返品された商品は、戻ってきたからといってすぐ販売可能在庫へ加えるとは限りません。

次のような状態を確認します。

  • 未使用か
  • 破損していないか
  • 付属品がそろっているか
  • 再販可能な状態か
返品在庫と販売可能在庫を分ける

検品前の商品を販売可能在庫へ戻すと、再販できない商品を別の注文へ引き当てる可能性があります。

在庫同期には時間差がある

在庫同期を導入していても、すべてのシステムが完全に同時更新されるとは限りません。

注文情報を取得し、在庫を再計算し、各チャネルへ反映するまでに時間差が発生する場合があります。

この時間差を同期遅延として考えておく必要があります。

例

在庫が残り1個の商品について、次のような状態を想定します。

  1. 自社ECで最後の1個が注文される
  2. 在庫管理システムが注文を取得する
  3. 他モールへ在庫0を送信する
  4. 反映前にモール側でも注文される

この場合、在庫同期システムが正常でも、タイミングによって売り越しが起こる可能性があります。

同期頻度を確認する

在庫同期には、システムによって更新頻度の違いがあります。

たとえば、変更が発生するたびに反映される仕組みもあれば、一定間隔で在庫を確認して更新する仕組みもあります。

商品特性 同期で注意する点
在庫が多く販売数が少ない 多少の時間差が問題になりにくい
在庫が少ない 少しの時間差でも売り越しにつながりやすい
セール商品 短時間に注文が集中する可能性がある
限定商品 在庫数が少なく、売り越しの影響が大きい

安全在庫を使って売り越しを抑える

同期遅延の影響が大きい商品では、実在庫すべてを販売可能数として公開せず、一部を安全在庫として残す方法があります。

例

実際の販売可能在庫が10個でも、安全在庫を2個設定し、各チャネルには最大8個まで販売可能として反映します。

ただし、安全在庫を大きくしすぎると、本当は売れる商品を販売停止にしてしまいます。

商品回転率、同期速度、売り越しリスクを見ながら調整します。

チャネルごとに販売上限を設ける方法

一部のチャネルに販売数量を集中させたくない場合、チャネルごとに販売数を制御する方法もあります。

たとえば共通在庫100個に対して、モール側へ最大20個まで表示するような設計です。

ただし、これは単純な在庫同期とは異なる在庫配分ルールになるため、実在庫との関係を明確にしておく必要があります。

セット商品は構成SKUまで連動させる

セット商品を販売している場合、セットSKUの在庫数だけを同期しても十分ではありません。

構成する単品SKUが売れたら、セット商品の販売可能数も変わります。

たとえば、商品Aを2個、商品Bを1個使うセットで、商品Bが単品販売された場合は、セット側も再計算する必要があります。

詳しくはECセット商品の在庫管理|構成SKUをずらさない方法で解説しています。

複数倉庫では在庫場所も考慮する

複数の倉庫に在庫が分かれている場合、単純に全倉庫の在庫を合計すればよいとは限りません。

たとえば、倉庫Aでは出荷できるものの、倉庫Bでは特定チャネル向けに出荷できないケースもあります。

確認する項目

  • どの倉庫からどの販売チャネルへ出荷できるか
  • 倉庫間移動中の商品を販売可能とするか
  • 出荷停止中の倉庫をどう扱うか
  • 入荷予定在庫を販売可能数に含めるか

在庫同期エラーを想定する

システム連携を導入しても、通信エラー、認証切れ、商品コード不一致などで同期できないことがあります。

重要なのは、エラーが起こらない前提ではなく、起きたときに気づける運用を作ることです。

SKU不一致

商品コードが対応しておらず、一部商品の在庫が更新されない。

通信・APIエラー

販売チャネルへ在庫更新データを送れない。

認証エラー

接続情報の期限切れなどで同期が停止する。

更新競合

複数システムから同時に更新され、意図しない在庫数になる。

在庫同期エラー時に確認する順番

1
実在庫を確認する

まず倉庫に何個あるかを確認します。

2
基準システムの在庫を確認する

販売可能在庫が正しく計算されているか確認します。

3
SKU対応を確認する

対象商品の商品コードが正しく紐付いているか確認します。

4
連携履歴・エラーを確認する

更新が送信されたか、失敗していないかを確認します。

5
販売チャネルの在庫を確認する

実際に顧客へ表示されている販売可能数を確認します。

6
原因を記録する

手動修正だけで終わらせず、再発原因を残します。

定期的な棚卸しは必要

在庫同期を自動化しても、システム上の在庫と実在庫が永久に一致するわけではありません。

誤出荷、破損、返品処理漏れ、手動変更などによって差異が発生することがあります。

そのため定期的に棚卸しを行い、システム在庫と実在庫を照合します。

在庫が合わない場合の原因確認については、EC在庫差異の原因と防止方法も参考にしてください。

在庫同期ツールを選ぶときの確認項目

在庫管理ツールや受注管理ツールを導入するときは、「在庫連携対応」だけで判断せず、自社運用に合うか確認します。

確認項目 確認内容
対応チャネル 利用中・利用予定のECやモールに対応しているか
SKU連携 色・サイズまで正しく紐付けられるか
同期頻度 在庫変動をどの程度早く反映できるか
キャンセル 在庫戻しに対応できるか
返品 検品後の在庫戻しを管理できるか
セット商品 構成SKUまで連動できるか
複数倉庫 倉庫別在庫を扱えるか
エラー管理 同期失敗を確認・通知できるか

在庫管理ツールそのものの比較については、EC在庫管理ツール比較で確認できます。

在庫同期を導入するときの7ステップ

1
販売チャネルを一覧化する

自社EC、モール、実店舗、倉庫など、在庫が動く場所を書き出します。

2
基準在庫を決める

どのシステムの販売可能在庫を正とするか決めます。

3
SKU対応表を作る

各販売チャネルの商品コードを基準SKUと紐付けます。

4
在庫計算ルールを決める

引当済み、不良、返品、安全在庫などをどう扱うか決めます。

5
注文・キャンセル・入荷をテストする

主要な在庫変動が正しく全チャネルへ反映されるか確認します。

6
同期遅延と売り越し対策を確認する

在庫が少ない商品やセール時の動きをテストします。

7
エラー監視と棚卸し運用を決める

同期失敗を誰が確認し、どの頻度で実在庫と照合するか決めます。

EC在庫同期チェックリスト

在庫設計
  • 基準となる在庫システムを決めている
  • 実在庫と販売可能在庫を区別している
  • 引当済み在庫を二重販売しない
  • 安全在庫の有無を決めている
  • 複数倉庫の扱いを決めている
商品・SKU
  • 販売チャネルごとのSKU対応表がある
  • 色・サイズ違いを別在庫として管理している
  • セット商品の構成SKUを管理している
  • 販売終了SKUが残っていない
運用
  • 注文時に在庫を更新できる
  • キャンセル時の在庫戻しルールがある
  • 返品は検品後に在庫へ戻している
  • 入荷・棚卸し変更も同期される
  • 同期エラーを確認できる
  • 定期的に実在庫と照合している

EC在庫同期に関するFAQ

在庫同期を導入すれば売り越しは完全になくなりますか?

完全に防げるとは限りません。注文取得から他チャネルへの在庫反映まで時間差がある場合、在庫が少ない商品では同時注文が発生する可能性があります。同期速度に加え、安全在庫や販売上限なども検討します。

自社ECとモールで別々に在庫を持った方が安全ですか?

チャネル別に在庫を完全に分ける運用もありますが、売れ残りや在庫移動が増える可能性があります。同じ実在庫を共有する場合は、在庫同期によって販売可能数を更新する方法があります。

在庫同期では実在庫をそのまま送ればよいですか?

必ずしも同じではありません。注文引当済み、不良品、返品確認中、安全在庫などを除いた販売可能在庫を各チャネルへ反映する運用があります。

同期頻度はどれくらい必要ですか?

商品回転率や在庫数によって異なります。在庫が少なく短時間に多く売れる商品ほど、在庫更新の時間差が売り越しにつながりやすいため、利用するツールの更新仕様を確認してください。

セット商品も在庫同期できますか?

システムが構成SKUに対応していれば可能です。ただし、セット商品が売れた場合だけでなく、構成する単品SKUが売れた場合にもセット販売可能数を再計算できるか確認する必要があります。

在庫同期を自動化しても棚卸しは必要ですか?

必要です。破損、誤出荷、返品処理漏れ、手動修正などによりシステム在庫と実在庫がずれることがあるため、定期的な照合を行います。

まとめ|在庫同期は「どの数字を正とするか」から設計する

EC在庫同期では、単に複数店舗の在庫数を同じ数字へそろえるだけでは不十分です。

重要なのは、次の流れを一貫させることです。

  1. 基準となる在庫を決める
  2. 販売可能在庫の計算方法を決める
  3. 販売チャネルのSKUを対応付ける
  4. 注文時に在庫を引き当てる
  5. 各チャネルへ販売可能数を同期する
  6. キャンセル・返品・入荷も反映する
  7. 同期遅延を考慮して売り越し対策を行う
  8. エラー監視と棚卸しを継続する

まず現在使っているEC・モール・在庫管理システムを一覧にし、「どのシステムの何という在庫数を正としているか」を確認してみてください。

ここが曖昧な場合は、在庫同期ツールを追加する前に基準在庫を決めることが、在庫ズレと売り越しを減らす第一歩です。

まず基準在庫を1つ決める

自社EC・モール・倉庫管理画面の在庫数を並べ、「どの数字を正として各チャネルへ反映するのか」を確認してください。

在庫管理ツールの選び方を確認する

コメントする