POSとERPの売上・在庫・価格同期
POSとERP:売上、在庫、価格を揃えて保つ
各店舗から売上と返品を計上し、在庫と価格の変更を店舗へ戻し、日締めの合計を突合します。
ブループリント
横にスクロールすると図全体を確認できます。
POSからERPへ:すべての売上を一度だけ計上
売上はイベントとしてレジからERPへ流れ、価格と在庫は逆方向に流れます。オフラインになった店舗も販売を続け、復旧後に追いつきます。計上に失敗した場合は再試行し、それでもだめなら担当者に引き継ぎます。
- 主要フロー
- 非同期
- 例外経路
8ステップのフロー
フローを順に示す
- POS端末から店舗またはPOSクラウドサーバーへ:売上、返品、取消(主要フロー)。
- 店舗またはPOSクラウドサーバーから連携レイヤーへ:売上イベントと日次締め集計。イベントキュー経由、REST/JSON経由(非同期)。
- 連携レイヤーからERPへ:売上と在庫移動を計上、OData · REST/JSON経由(主要フロー)。
- ERPから連携レイヤーへ:価格、販促、商品データ。APIまたはファイル出力、REST/JSON経由(主要フロー)。
- 連携レイヤーから店舗またはPOSクラウドサーバーへ:価格と在庫の更新、REST/JSON経由(主要フロー)。
- 連携レイヤーから再試行キューへ:計上失敗(例外経路)。
- 再試行キューから連携レイヤーへ:再試行(例外経路)。
- 再試行キューから店舗運用チームへ:それでも失敗:詳細付きのアラート(例外経路)。
概要
これは店舗のレジと、その背後のERPとの間のフローです。売上、返品、取消はERPへ上がります。価格、販促、商品データ、在庫は店舗へ下ります。両者がずれると、店舗は誤った価格で販売し、在庫数は信頼されなくなり、財務は月末の突合に追われます。
参照設計では、各店舗の取引をイベントとしてキュー付きの統合レイヤーへ送ります。レイヤーは各イベントをERPの売上・在庫伝票にマッピングし、ちょうど一度だけ計上します。逆方向では、ERPの変更を必要な店舗へ送るため、すべてのレジが同じデータで動きます。
店舗は接続を失うものであり、設計もそれを見込みます。店舗またはPOSクラウドサーバーは販売を続け、回線が戻ると追いつきます。失敗した計上は再試行し、それでも失敗が続くものは、消えるのではなく詳細を添えて人に引き渡します。
フローの仕組み
レジでの販売
売上、返品、取消は、一意の識別子、店舗、レジ、時刻とともにPOS端末に記録されます。
店舗での保持
店舗またはPOSクラウドサーバーが取引を集約し、イベントとして送信します。店舗がオフラインの間は安全に保持します。
ERPへの計上
統合レイヤーが各イベントを売上・在庫の移動にマッピングし、識別子を確認して二重計上を防ぎながらERPへ計上します。
価格と商品の配信
商品データ、価格、販促は、変更時にERPから配信されます。各変更が適用される日付と店舗も併せて送ります。
全店舗の更新
レイヤーは各変更を適用対象の店舗へ届け、どの店舗が反映を確認したかを記録します。
障害が起きたとき
計上が失敗した場合
一時的な障害は間隔を広げながら再試行します。それでも失敗する計上はデッドレターキューへ送り、取引とエラーを添えて店舗運用チームに通知します。
店舗がオフラインになった場合
店舗はローカルデータで販売を続けます。取引は保持され、接続が戻ると順番に送信されます。長く応答がない店舗にはアラートを発します。
取引が二重に届いた場合
すべての取引に一意の識別子があります。レイヤーは再送を認識して無視するため、障害後の再送で売上が二重になることはありません。
店舗とERPの合計が異なる場合
各店舗の日締め合計をERPが受け取った内容と比較します。差異があれば、欠落または余分な取引を一覧にした確認を起票します。
標準とシステム
- データと分析
- Apache Kafka
- ERPシステム
- SAP S/4HANA
- Oracle NetSuite
- Microsoft Dynamics 365 Business Central
- Odoo
- 連携
- REST
- Webhooks
- RabbitMQ
よくある質問
売上はリアルタイムに計上すべきか、バッチにすべきか。
通常はリアルタイムに近いイベントとして計上します。そうすれば日中の在庫と売上が最新になります。ERPやライセンスによっては頻繁な計上のコストが高いため、レイヤーは店舗・期間ごとの集計にまとめることもできます。どの判断に最新データが必要か、ERPが何を得意とするかに基づいて一緒に選びます。
日締めの合計はどう突合しますか。
各店舗が支払種別・部門別の日締め合計を送ります。レイヤーは、同じ店舗・同じ日のERPが受け取った取引と比較します。一致すればその日を締めます。一致しない場合は、欠落または余分な取引を確認リストに示すため、調整仕訳を計上するのではなく原因を修正できます。
販促や価格変更を事前に予約できますか。
はい。価格や販促の各変更は、適用される日付と店舗を添えて事前に送るため、店舗で誰かが操作しなくても正しい時点でレジが切り替わります。レイヤーは反映を確認した店舗を記録し、未確認の店舗にフラグを立てます。
多数の店舗へどう展開しますか。
数店舗のパイロットから始め、日次で現行プロセスと合計を比較します。合計が一致したら、店舗運用チームが対応できる範囲のペースでグループ単位に展開します。新しいフローが実証されるまで、各店舗では従来のプロセスを利用可能に保ちます。
どのPOS・ERPシステムに対応していますか。
API、イベント、ファイルで取引を出力できるPOSであれば対応し、ERPはSAP S/4HANA、Oracle NetSuite、Microsoft Dynamics 365 Business Central、Odooなどに対応します。開始時にお客様のPOSとERPのインターフェースを確認します。製品名の記載は、そのベンダーとの提携を意味するものではありません。
稼働後、計上失敗には誰が対応しますか。
本番前に合意します。通常は、未知の商品など業務上のエラーは店舗運用または財務チームが確認リストから処理し、フロー自体の障害は技術チームが対応します。継続契約の一環として当社が技術支援を提供し、ランブックをお客様のチームと共有することもできます。
契約ではなく、対話から始めましょう
構築、接続、保護のどれが必要かを教えてください。アーキテクトが内容を一緒に整理し、どこから始めるべきかを提案します。
今後の流れ
日程の調整
セッションの日程を調整するため、当社チームからメールをお送りします。
事前コンサルティングセッション
無料の30分オンライン事前相談です。目標、システム、制約を伺います。
準備状況レビュー
無料の48時間準備状況レビューで、プリンシパルアーキテクトがプロジェクトを6項目のDefinition of Readyに照らして確認し、適切なトラックを提案します。
トラックの選択
スコープが確定したプロジェクトには、拘束力のある提案書を3–5営業日以内にお渡しします。構想段階のプロジェクトはBlueprint Studioから始まります。稼働中のシステムに障害がある場合、文書化されていない場合、連携が必要な場合は、1–2週間の診断から始まります。Blueprint Studioと診断はそれぞれ固定料金で、提案書に記載します。