Sync Master
ブログ

1枚のシートから複数ロケーションの数量を流し込む実装

マルチロケーションGoogleシート

この記事の概要

ロケーションを列として並べた1枚のシートから、Shopifyの各ロケーションへ数量を流し込む具体的な作り方を解説します。ヘッダー行の設計、列とロケーションの対応づけ、検算までを順を追って整理します。

横並びのレイアウト、つまり1行に1つのSKUを置き、ロケーションを列として並べる形は、複数拠点の在庫を1枚で見渡せる手軽さが魅力です。ただ「見やすい」と「正しく流し込める」は別の話です。この記事では、列ごとのロケーションをShopifyの実在ロケーションへ確実に対応づけ、数量を安全に流し込むための実装のコツを、順を追って見ていきます。

前提として、Shopifyではロケーションごとに在庫が状態(販売可能・確保済み・手元在庫など)として管理されます。商品はそのロケーションに在庫を置く設定になっていないと数量を割り当てられません。シートはあくまで「手元在庫」の正の値を流し込む元、という役割分担で考えると整理しやすくなります。

列ヘッダーをロケーションに対応づける仕組み

横並びシートの心臓部は、各列のヘッダー文字列と、Shopify側のロケーション名をどう結びつけるかにあります。たとえば「東京倉庫」「大阪倉庫」「渋谷店」という3つの列があるなら、それぞれがShopifyに登録された同名のロケーションへ正確に対応している必要があります。ここがずれると、東京の数字が大阪に流れる、といった事故に直結します。

対応づけの方法は大きく2通りあります。ひとつはヘッダー文字列をShopifyのロケーション名と完全一致させる方法。もうひとつは、同期側で「この列はこのロケーション」と明示的にマッピングを設定する方法です。後者なら、シートの見出しを日本語の社内呼称にしたまま、裏でShopifyの正式名へ紐づけられます。

ヘッダー行の作り方と注意点

ヘッダー行は、同期アプリが「どの列が何の意味を持つか」を読み取る唯一の手がかりです。最低限、SKU(またはバーコード)を示す列と、各ロケーションの数量列が、1行目にきれいに並んでいる状態を作りましょう。次の点を守ると、後の設定がぐっと楽になります。

  • ヘッダーは必ず1行目に置き、その上に空行やタイトル行を挟まない
  • ロケーション列の見出しは、社内で重複しない一意の名前にする
  • 数量列とそれ以外(メモ、原価、棚番など)が見分けやすい並びにする
  • セル結合は使わない。結合は列の読み取りを壊しやすい

空セルと0の違いをどう扱うか

見落としがちですが、空セルと0は意味がまったく違います。0は「このロケーションの在庫はゼロ」という明確な指示で、流し込めば在庫が0に更新されます。一方の空セルは「値なし」であり、ここを0と同じに扱うか、それとも更新対象外として現状維持にするかで、運用は大きく変わります。

おすすめは、意図的に在庫を切らしたい時は必ず0を書き、まだ数えていない・触りたくないセルは空のままにする、という書き分けです。そのうえで同期側が空セルをどう解釈するか(スキップするのか、0として上書きするのか)を事前に把握しておきましょう。ここを誤解したまま走らせると、数えていなかった在庫を一斉に0にしてしまう、という重い事故が起きます。

数量列だけを同期対象に限定する

1枚のシートには、数量以外にも商品名、原価、仕入先、メモなど、いろいろな情報が同居しがちです。流し込みで触ってほしいのはロケーションの数量列だけなので、同期の対象列を明示的に絞り込みましょう。これにより、メモ欄をうっかり数量と誤認する事故を防げます。

  1. 01キー列(SKUまたはバーコード)を1つ指定する
  2. 02数量として読む列を、ロケーションごとに明示的に選ぶ
  3. 03原価・メモなどの参考列は、同期対象から外す
  4. 04テスト接続で、選んだ列が想定どおり読めているかを確認する

Sync Masterには本番の流し込み前にマッピングを検証できる接続テストがあります。どの列がどのロケーションの数量として読まれるかを実データで一度見ておくと、安心して自動同期に任せられます。

ロケーション列の追加・削除を安全に行う手順

新しい倉庫が増えた、ある店舗を閉じた——こうした変化は列の増減としてシートに現れます。横並びレイアウトの弱点はまさにここで、列をいじると既存のマッピングがずれやすいのです。安全に進めるには、次の順番を守るのが鉄則です。

  1. 01先にShopify側でロケーションを追加・無効化する
  2. 02シートに新しい列を末尾に足す。既存列の間に割り込ませない
  3. 03同期のマッピングで、新しい列と新ロケーションを結びつける
  4. 04接続テストで読み取りを確認してから、本番同期を実行する

流し込み前の検算(合計チェック)

最後に、流し込む前の検算をひと手間かけましょう。横並びシートなら、各行のロケーション列を横に合計すれば、そのSKUの総在庫が出ます。この総数が、棚卸しの感覚値や前回の数字と大きくかけ離れていないかをざっと眺めるだけでも、入力ミスや桁の打ち間違いをかなり拾えます。

  • 行方向の合計列を1つ用意し、SKUごとの総在庫を可視化する
  • 列方向の合計で、ロケーションごとの総数が現実的かを確認する
  • マイナス値や空白の混在がないか、条件付き書式で色をつけて洗い出す

1枚のシートを正のソースとして、列ごとにロケーションへ数量を流し込む仕組みは、ヘッダーの設計と対応づけさえ丁寧に固めれば、驚くほど安定して回ります。空セルと0の扱いを決め、対象列を絞り、検算を習慣にする。この3点を押さえて、複数拠点の在庫管理を気持ちよく自動化していきましょう。

関連記事

あわせて読みたい記事

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

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