在庫データ連携

在庫 WMS 倉庫 データ連携
この記事の対象
WMS・倉庫管理システムをレシートローラーと連携したい開発者向けです。

在庫は商品 × 倉庫の組み合わせで管理されます。1つの商品が複数倉庫に在庫を持つことができ、それぞれ独立した在庫数を持ちます。在庫変動は入出庫履歴(stock_movement)として全件記録されます。

主なフィールド(inventory)

フィールド 内容
product_id対象商品
warehouse_id倉庫
quantity現在庫数
reserved引当済み数
available利用可能数(quantity - reserved)
low_stock_threshold低在庫アラート閾値
updated_at最終更新時刻

関連スコープ

  • inventory.read — 在庫数読み取り
  • inventory.write — 在庫数の更新(入出庫記録)
  • warehouse.read / warehouse.write — 倉庫マスター操作

主なエンドポイント

GET   /v1/inventory                  ← 在庫一覧
GET   /v1/inventory/{product_id}     ← 商品の倉庫別在庫
PATCH /v1/inventory/{product_id}     ← 在庫数更新(差分または絶対値)
POST  /v1/stock_movements            ← 入出庫を記録
GET   /v1/stock_movements            ← 入出庫履歴
GET   /v1/warehouses                 ← 倉庫一覧

更新方法(差分 vs 絶対値)

// 絶対値で上書き(棚卸し時)
PATCH /v1/inventory/prd_a01
{ "warehouse_id": "wh_main", "quantity": 42 }

// 差分で増減(入出庫時、推奨)
POST /v1/stock_movements
{
  "product_id": "prd_a01",
  "warehouse_id": "wh_main",
  "delta": -3,
  "reason": "sale",
  "reference_id": "rcp_xyz789"
}

差分指定なら同時更新の競合が起きにくく、履歴が残るので推奨です。

Webhookイベント

  • inventory.changed — 在庫数が変動
  • inventory.low_stock — 閾値を下回った
  • inventory.out_of_stock — 在庫切れ
  • stock_movement.created — 入出庫記録

WMS連携パターン

WMS主導(推奨)

  • WMSが在庫の正
  • レシートローラーへ stock_movement をPOSTして同期
  • レシートローラー側のレシート発行時に在庫を自動減算しないよう設定

レシートローラー主導

  • レシートローラーが在庫の正(小規模店舗向け)
  • POS連動でレシート発行時に自動減算
  • WMSはinventory.changed Webhookで追従

引当(reserved)の使い方

EC受注で「カートに入れた」「決済前」など仮押さえが必要な場合、reserved を増やしておきます。決済完了で quantity から減算、キャンセルなら reserved を戻します。

関連ガイド

公開日: 2026-04-27 更新日: 2026-04-27