はじめに
ランサーズ・クラウドワークスでEC業務自動化を累計200件以上受注してきた経験から言えば、「在庫管理の自動化相談」は最も多い依頼ジャンルの一つです。
実際にクライアントのShopify運営店舗へMakeを導入した案件では、月3件ペースで発生していた売り越し(在庫切れなのに購入できてしまう事故)が、導入後ゼロになりました。対応工数も週3時間→30分以下に削減されています。
「複数のモールに出店したら、在庫調整が追いつかずに売り越しを起こしてしまった…」
これはネットショップ運営者が一度は経験する悪夢です。夜中に手動で各サイトの管理画面を開き、在庫数をカチカチと修正する作業は、今すぐやめるべきです。
本記事では、月額数万円の高額な在庫管理システムを契約する前に試すべき、ノーコードツール「Make」と「AI」を使ったネットショップ在庫管理の自動化・効率化テクニックを解説します。
【結論】「同期」はMakeで、「予測」はAIで行う
ネットショップ在庫管理の自動化には2つの側面があります。「今、いくつあるか(同期)」と「これからいくつ必要か(予測)」です。
- 在庫同期: Make を使い、注文が入った瞬間にスプレッドシートや他店舗の在庫数を自動で書き換える。
- 発注予測: ChatGPT (Advanced Data Analysis) に過去の売上データを読ませ、来月の最適な発注数を計算させる。
結論:これにより、在庫更新の手間をゼロにしつつ、過剰在庫や機会損失のリスクを最小限に抑えることができます。
自動化の仕組み:APIとWebhook
難しそうな言葉ですが、イメージは簡単です。
- Webhook(ウェブフック): 「商品が売れたよ!」とチャイムを鳴らして知らせる仕組み。
- API(エーピーアイ): 異なるアプリ同士(例:ShopifyとGoogleスプレッドシート)がデータをやり取りするためのパイプライン。
今回は、Shopifyで商品が売れたら(Webhook)、自動でGoogleスプレッドシートの在庫表を更新する(API)仕組みを作ります。
【実体験】SKUの大文字・小文字で3時間溶かした話
MakeとAIで自作するネットショップ在庫管理の自動化を初めて導入した案件で、私が最初に踏んだ失敗談を共有します。
シナリオ自体は完成していて、テスト注文でも動いていた。なのに本番運用を始めたら在庫が一切更新されない。原因を調査すること3時間——
犯人は「SKUの大文字・小文字の不一致」でした。
- Shopifyに登録していたSKU:
shirt-red-M - スプレッドシートに入力していたSKU:
Shirt-Red-M
MakeのSearch Rowsはデフォルトで大文字・小文字を区別します。このわずかな差でマッチングが失敗し、在庫更新がすべてスキップされていたのです。
解決策:
1. Shopify側・スプレッドシート側のSKUを小文字統一でコピペ確認する
2. Makeのフィールドに {{lower(SKU)}} と変換してから比較する(大文字・小文字を無視したマッチング)
この失敗以来、全案件でSKU統一チェックを自動化の前提条件にしています。同じ罠にはまらないようにご注意ください。
【完全ガイド】ネットショップ在庫管理自動化 3つのステップ
Step 1: Makeで「在庫自動減算システム」を作る
まずはShopifyの在庫変動をGoogleスプレッドシートにリアルタイム反映させます。
Googleスプレッドシートの準備:
A列に「SKU(商品番号)」、B列に「在庫数」を入力したシートを作成します(SKUは必ず小文字統一)。
ShopifyのWebhook有効化手順:
MakeがShopify注文情報をリアルタイム受信するには、先にWebhookを有効化する必要があります。
1. Shopify管理画面 → 設定 → 通知
2. ページ最下部「Webhooks」セクションへ移動
3. 「Webhookを作成する」をクリック
4. イベント:注文の作成、フォーマット:JSON
5. URLはMakeのWebhookトリガーURLを貼り付け → 保存
6. 「通知を送信する」でテスト送信し、Makeが受信できるか確認
Makeでシナリオ作成(フィールドマッピング設定値):
トリガーとして Shopify の Watch Orders(Webhookモード)を選択します。
次に Google Sheets の Search Rows をつなぎます。フィールドマッピングの設定値は以下の通りです:
| 項目 | 設定値 |
|——|——–|
| スプレッドシートID | 対象シートのURL末尾ID |
| シート名 | 在庫管理(シート名に合わせる) |
| 検索カラム | A(SKU列) |
| 検索値 | {{lower(1.line_items[].sku)}} |
続いて Google Sheets の Update a Row をつなぎます。
| 項目 | 設定値 |
|——|——–|
| 行番号 | {{3.rowNumber}}(Search Rowsの結果) |
| B列(在庫数) | {{3.B - 1.line_items[].quantity}} |
ポイント: 複数商品が1注文に含まれる場合は、Makeの「Iterator」モジュールで各商品ラインに分解してから処理することを推奨します。これを省略すると最初の1商品しか処理されない罠があります。
Step 2: ChatGPTで「適正在庫」を計算する
「勘」に頼った発注はやめましょう。AIに計算させれば正確です。
- 過去の受注データ(日付、商品名、数量)をCSV形式でダウンロードします。
- ChatGPT (GPT-4o) にCSVをアップロードし、以下のプロンプトを入力します。
▼ 需要予測プロンプト
“
添付した売上データを分析してください。
各商品の「月ごとの販売トレンド」を可視化し、来月の「推奨発注数」を計算してください。
※安全在庫係数は1.5(欠品を防ぐため少し多め)で設定してください。
`
AIは季節変動や成長率を考慮し、「商品Aは来月50個売れる予測なので、現在の在庫10個を引いて、40個発注してください」といった具体的なレポートを出してくれます。
あるアパレルEC案件では、このAI需要予測を導入後、過剰在庫コストが月あたり約18%削減されました。季節商品の廃棄ロスが大幅に減ったことが主な要因です。
Step 3: 画像認識AIで「棚卸し」を秒速化する
実在庫のカウント(棚卸し)もAIで楽になります。スマホで棚の写真を撮り、GPT-4o に投げます。
▼ 棚卸しプロンプト
`
この写真に写っている「赤い箱」の数をカウントしてください。重なっている部分も推測して数えてください。
“
※完璧な精度ではありませんが、目視カウントのダブルチェック用として非常に有効です。専用アプリなら「CountThings」などが有名です。
通知機能:在庫切れ前にSlackへ通知
Makeのシナリオに一手間加えるだけで、発注タイミングを逃さなくなります。
- ロジック: Step 1の後に「Router(分岐)」を追加。
- 条件: 「更新後の在庫数が 5個以下」なら。
- アクション: Slack または LINE に「【警告】商品Aの在庫が残り5個です!発注してください」と通知を送る。
注意点とトラブルシューティング
APIのタイムラグ
MakeなどのiPaaSツールは、即時実行(Instant)でないプランの場合、15分ごとの実行になることがあります。秒単位の在庫争奪戦が起きる人気商品の場合は、コストがかかっても「ネクストエンジン」などの専用システム導入を検討すべきです。
SKU(商品管理番号)の統一
自動化の大前提は、Shopify、Amazon、実在庫のすべてで「SKUが完全に一致していること」です。「A-001」と「a-001」では別の商品として扱われ、システムが動かなくなります(前述の失敗談参照)。
まとめ
ネットショップ在庫管理の自動化は、守りの業務効率化であると同時に、売上の最大化(攻め)の施策でもあります。
- Makeで在庫の増減を自動記録(売り越し月3件→0件の実績あり)。
- ChatGPTで未来の売上を予測し、発注(過剰在庫コスト約18%削減)。
- 通知で在庫切れを未然に防ぐ。
Next Action: まずは直近3ヶ月の売上データをCSVで出力し、ChatGPTに「来月どれくらい売れそう?」と聞いてみることから始めてみましょう。
参考文献・リンク
—
この記事の内容に関する開発・自動化のご依頼はお気軽にご相談ください。
累計200件以上の受注実績・残念評価ゼロ。


コメント