Sync Master
ブログ

複数倉庫にまたがる分割出荷・部分出荷の扱い方

マルチロケーション運用

この記事の概要

1つの注文が複数の倉庫から出荷されると、どのロケーションの在庫が減るのかが分かりにくくなります。分割出荷・部分出荷の引き当ての流れと、シート同期で過剰引き落としを防ぐ考え方を整理します。

倉庫を複数持って運用していると、必ずぶつかるのが「1つの注文が複数の倉庫から出ていく」ケースです。お客様から見れば注文は1つですが、舞台裏では東京倉庫から2点、大阪倉庫から1点、というように在庫が別々の場所から引き当てられることがあります。これが分割出荷(スプリット出荷)です。

さらに、一部の商品だけ先に発送し、残りは入荷を待って後から送る「部分出荷」も日常的に発生します。今回はこの分割出荷・部分出荷で在庫がどう動くのか、そしてGoogleシートで在庫を管理しているときに、どのロケーションの数字を真実とみなせばよいのかを、注文処理の仕組みに絞って解説します。

1注文が複数倉庫から出荷されるケースとは

Shopifyでは、商品が在庫を持つ場所を「ロケーション」と呼びます。倉庫ごとにロケーションを分けておくと、在庫数もロケーション単位で記録されます。お客様が複数の商品をまとめて注文したとき、それらが1つの倉庫に全部あるとは限りません。ある商品は東京、別の商品は大阪にしかない、という状況はよくあります。

このとき注文は、商品ごとに「どこから出すか」が決まり、結果的に複数の倉庫から発送されることになります。Shopifyの注文画面では、これが複数のフルフィルメント(出荷の単位)に分かれて表示されます。1注文だからといって1ロケーションから出る、とは限らない——これが多店舗運用の第一歩の理解です。

分割出荷時の在庫引き当ての流れ

注文が入ると、在庫はまず「確保済み(committed)」という状態に変わります。これはまだ発送はしていないけれど、この注文のために取り置かれた在庫、という意味です。複数倉庫にまたがる注文では、この確保がロケーションごとに分かれて行われます。

  1. 01注文成立時、商品ごとに引き当てるロケーションが決まる(例 : 商品Aは東京、商品Bは大阪)
  2. 02それぞれのロケーションで該当数量が「確保済み」になり、その分「販売可能(available)」が減る
  3. 03倉庫が実際に発送すると、そのロケーションの「手持ち在庫(on hand)」が減る
  4. 04全アイテムの発送が完了すると、注文全体が出荷済みになる

ポイントは、在庫が減るタイミングと場所がロケーションごとに違うということです。東京が先に発送すれば東京の手持ち在庫が先に減り、大阪はまだ発送前なら確保済みのまま。注文を1つの塊として見ていると、この「場所ごとのズレ」を見落としがちです。

部分出荷で残るアイテムの在庫はどこに残るか

部分出荷の場合、たとえば3点注文のうち2点だけ東京から先に発送し、残り1点は大阪の入荷待ち、ということが起きます。このとき先に出した2点分は東京の手持ち在庫から減りますが、まだ送っていない1点は大阪で「確保済み」のまま残ります。つまり残りアイテムの在庫は、引き当てられたロケーションに確保された状態で待機しているわけです。

シート同期と分割出荷が衝突しやすいポイント

ここからが本題です。Googleシートを在庫の正本(マスター)として、Shopifyへ数量を書き込む運用をしていると、分割出荷とシート同期がぶつかることがあります。最大の落とし穴は、シートが「どの状態の在庫」を表しているかが曖昧になることです。

シートに書くべきは原則として、各ロケーションの「手持ち在庫(on hand)」です。販売可能在庫はShopifyが注文に応じて自動で増減させる計算結果なので、ここをシートから上書きしようとすると、確保済みの注文ぶんと二重に差し引かれて数字が狂います。シートはあくまで倉庫に物理的に何個あるかを表す、という整理にしておくと安全です。

  • シートの数量列は、ロケーションごとの手持ち在庫を表すと決めておく
  • 販売可能在庫をシートから直接書き込まない(確保ぶんと二重計算になる)
  • 発送作業中のロケーションは、シート反映のタイミングを倉庫の棚卸しと合わせる
  • 分割出荷で複数ロケーションが動く商品は、どの倉庫の行を更新したか履歴で追えるようにする

分割出荷を前提にした運用ルール

分割出荷は避けようとして避けられるものではないので、最初から起きる前提でルールを決めておくのが現実的です。倉庫担当者が増えても迷わない、シンプルな取り決めを用意しましょう。

まず、シートは「ロケーション×SKU」で1行ずつ持つ形にしておくと、どの倉庫の在庫を更新しているのかが一目で分かります。Sync Masterのようにマルチロケーションをサポートするアプリなら、シートの各ロケーション列をShopifyの対応ロケーションへ紐づけ、倉庫ごとの手持ち在庫をそのまま反映できます。実際の同期前には接続テストで列マッピングを検証しておくと、別の倉庫の在庫を書き間違える事故を防げます。

1つの注文を1つの場所と思い込まないこと。多店舗運用では、注文は「複数の場所の在庫を少しずつ引いていく取引」だと捉えるのが正解です。

過剰引き落とし・二重引き落としを防ぐ

最後に、多店舗の分割出荷でいちばん怖い「在庫を二重に引いてしまう」事故の防ぎ方です。これは、Shopifyが注文で自動的に減らした在庫を、シート側でも手作業で減らして書き込むと起きます。Shopifyが1回引き、シート同期がもう1回引いて、合計2回減ってしまうわけです。

  1. 01シートに書くのは棚卸しベースの手持ち在庫だけにし、注文ぶんを手で引かない
  2. 02発送が終わったロケーションだけを更新し、まだ確保済みのロケーションは触らない
  3. 03自動同期のスケジュールは、倉庫の入出荷が落ち着く時間帯に合わせる
  4. 04更新前に対象ロケーションを必ず確認し、別倉庫の行を上書きしていないか見る

分割出荷・部分出荷は、複数倉庫を持つお店なら避けて通れない仕組みです。けれど「シートは手持ち在庫を表す」「確保済みと手持ちは別物」「更新するのは発送済みのロケーションだけ」という3点を押さえておけば、数字が狂う事故はぐっと減ります。注文を場所の集まりとして捉える視点を、ぜひ運用ルールに取り入れてみてください。

関連記事

あわせて読みたい記事

在庫数を手で打ち込むのは、もうやめましょう。

Sync MasterをShopifyにインストールして、5分以内に最初の同期を実行。