SAP ECC and ShipStation integration
SAP ECC manages procurement, materials, and vendor master data. ShipStation runs order fulfillment and carrier tracking across your e-commerce channels. Connecting the two keeps your purchase orders and inbound shipments synchronized. Vendors in SAP ECC sync to ShipStation for tracking, and shipment notifications from ShipStation post back to SAP ECC goods receipts so your receiving team knows when vendor deliveries have arrived. ml-connector handles the on-premises SAP Gateway OData endpoint, the on-premises agent requirement, and the cloud REST API on the ShipStation side.
What moves between them
Purchase orders flow from SAP ECC to ShipStation. ml-connector reads POs from SAP ECC via OData on a schedule, maps them to ShipStation purchase orders for vendor management, and syncs vendor master data (from SAP ECC LFA1 table) as purchase order recipients. Shipment tracking flows the other direction: ml-connector subscribes to ShipStation SHIP_NOTIFY webhooks, fetches the full shipment details via authenticated REST calls, and posts the delivery confirmation and tracking number back to SAP ECC goods receipts (MIGO or equivalent) so receiving records are automatically closed when vendors ship.
How ml-connector handles it
SAP ECC requires an on-premises agent to run the OData calls because RFC and OData both sit behind the customer's firewall. ml-connector provides the agent endpoint and polls SAP ECC on a daily or weekly cadence (you control the frequency) to read new and changed purchase orders. Vendor master data is synced once and updated on change. ShipStation API Key is stored encrypted. When ShipStation SHIP_NOTIFY webhooks arrive, ml-connector verifies the webhook (ShipStation does not provide HMAC signatures, so ml-connector validates the resource_url format), fetches the full shipment with an authenticated GET, converts PST datetime fields to UTC, and posts the tracking number and ship date to SAP ECC's goods receipt tables via BAPI_GOODSMVT_CREATE or equivalent. Purchase orders are keyed by SAP ECC PO number (field EBELN), so reruns and retries are idempotent. Rate limiting on ShipStation's 200 req/min rate is handled with exponential backoff. Every record is logged with full audit trail so missed or failed shipments can be replayed.
A real-world example
A mid-sized manufacturing and distribution company runs SAP ECC for procurement and materials. They use ShipStation to manage inbound shipments from vendors and track deliveries across multiple carrier accounts. Before integration, the receiving team manually logged into ShipStation to check if a purchase order had shipped, then manually entered the tracking number into SAP ECC's goods receipt module when delivery arrived. With SAP ECC and ShipStation connected, each vendor shipment automatically appears as a goods receipt confirmation in SAP ECC, stamped with the carrier, tracking number, and ship date from ShipStation. The receiving team now opens SAP ECC and sees which POs are in transit, which have been delivered, and can plan warehouse receiving without toggling between systems. Month-end inventory reconciliation is faster because the goods receipt date is automatically recorded.
What you can do
- Sync purchase orders and vendor master data from SAP ECC to ShipStation for vendor management and tracking.
- Receive ShipStation shipment notifications and post delivery confirmations with carrier and tracking number back to SAP ECC goods receipts.
- Handle SAP ECC on-premises OData authentication via an on-premises agent and convert SAP Gateway endpoints to cloud REST.
- Convert ShipStation shipment dates from PST/PDT to UTC for accurate SAP ECC posting.
- Deduplicate purchase order syncs and shipment posts using PO number as idempotency key, with full audit trail and replay capability.
Questions
- What purchase order and vendor data flows between SAP ECC and ShipStation?
- Purchase orders flow from SAP ECC to ShipStation. ml-connector reads purchase orders (PO number, line items, quantity, delivery address) and vendor master data (vendor name, address, contact) from SAP ECC via OData and maps them into ShipStation purchase orders for tracking. Shipment notifications flow the opposite direction: when a vendor ships via ShipStation, ml-connector posts the delivery confirmation, carrier, and tracking number back to SAP ECC.
- Why does the integration need an on-premises agent for SAP ECC?
- SAP ECC is an on-premises system. RFC/BAPI calls and OData endpoints live behind the customer's firewall and cannot be called directly from the cloud. ml-connector provides an on-premises agent that runs on the customer network with SAP .NET Connector or Java Connector installed, so it can reach SAP ECC's OData Gateway and poll purchase orders on schedule.
- How does the integration handle ShipStation timezone and webhook verification?
- ShipStation timestamps are in PST/PDT, not UTC. ml-connector converts shipment dates to UTC before posting to SAP ECC so receiving dates are recorded correctly. ShipStation does not provide HMAC signature verification for webhooks, so ml-connector validates the webhook by checking the resource_url format and fetching the full shipment details with an authenticated GET to confirm the data source.
Related integrations
More SAP ECC integrations
Other systems that connect to ShipStation
Connect SAP ECC and ShipStation
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started