SAP was not designed to be hammered by a real-time event stream. The mistake we see most often is treating it like just another REST backend — and then watching batch jobs and dialog users slow to a crawl.
Decouple with an integration layer
We never let an external system call SAP directly. An integration layer absorbs spikes, batches where SAP prefers batches, and exposes a clean, stable contract to the rest of the business. SAP changes behind it without breaking consumers.
Respect the consistency model
Master data, stock and pricing each have different freshness requirements. Stock might need near-real-time; a product catalog can tolerate minutes. Matching the sync strategy to the data's actual needs avoids both stale data and ERP overload.
Make failures visible and recoverable
Every message has a status, a retry policy and a dead-letter path. When SAP is in a maintenance window, the integration layer queues and replays instead of dropping data. Operations sees exactly what is stuck and why.
The result is retail operations that feel real-time to the business while the ERP stays healthy.