← All integrations
SAP → Salesforce

SAP Salesforce integration

In short

A SAP to Salesforce integration keeps the ERP system of record and the CRM in agreement: it pushes SAP business partners, material master, condition-based prices, order status, and open receivables into Salesforce as Accounts, Products, and Orders, and writes Salesforce opportunities back into SAP as sales orders. Done properly it is not a nightly CSV or a point connector: it is an idempotent, delta-driven pipeline that maps SAP customer numbers to Salesforce external IDs, respects sales-org structure and multi-currency, and reconciles both systems without anyone re-keying an order.

What a SAP to Salesforce integration actually does

SAP is the system of record for what a customer costs, owes, and has actually ordered. Salesforce is where sales works: pipeline, quotes, relationships, forecasts. The two describe the same customers and the same deals from opposite ends, and for most companies they stay in sync because somebody re-types the information from one screen into the other.

A SAP to Salesforce integration removes that person. It pushes the ERP truth - who the customer is, what they may buy, at what price, what they still owe - into Salesforce so sales works from real data, and it writes closed deals back into SAP as sales orders so fulfilment and finance start without a re-key. The point is not to make the two systems identical. It is to let each own what it is good at and stay honest with the other automatically.

What data moves

SAP object / eventBecomes in SalesforceNotes
Business Partner / customer master (KNA1)AccountMatched by SAP customer number to an external ID field; upserted, never duplicated
Contact personsContactLinked to the parent Account; partner-function role preserved
Material masterProduct2Only the sellable materials for the relevant sales org / distribution channel
Condition-based pricingPricebookEntrySAP is the pricing authority; currency and scale prices carried across
Sales order status & deliveryOrder / status fieldWrite-back of confirmation, delivery, and shipment status against the originating deal
Billing document / invoiceOrder or related recordSo sales sees what was actually invoiced, not just what was quoted
Open items / credit exposure (AR)Account fieldsDrives credit warnings and can block a Salesforce Order before it reaches SAP

The reverse flow matters just as much: a closed-won Salesforce opportunity or Order becomes a SAP sales order, with partner functions, sales org, and materials resolved on the way in. Which objects move, and in which direction, is agreed once and encoded in the pipeline.

The details that break naive syncs

A point connector or a nightly export gets the happy path working and then leaves the hard 20% on your desk:

How we build and run it

We treat this as a pipeline, not a scheduled export. Objects are read through the right SAP interface per case - OData and CDS views on S/4HANA, IDoc or RFC/BAPI through SAP Gateway on ECC - validated, mapped to your agreed Salesforce model, and written with Bulk API 2.0 for volume or targeted upserts for deltas.

The pipeline is idempotent. Every record carries a stable key - the SAP customer or document number on one side, the Salesforce external ID on the other - so a retry or a re-run updates in place and never creates a duplicate. It runs on cloud-native, fully EU-hosted AWS infrastructure, so customer and order data never leaves the EU, which keeps your DPA / AVV and GDPR position clean.

Then we keep it running. Monitoring, alerting, incident response, and watching for SAP and Salesforce API changes - a new S/4HANA release, a Salesforce API version sunset, a governor-limit change - are our responsibility under contract. You get a named owner and an SLA, not a script somebody has to remember to run.

When this integration is worth building

If a handful of accounts move between the systems and sales is happy re-keying the occasional order, a manual process or a simple point connector is genuinely fine, and we will tell you so. The integration earns its place when order volume climbs, when order-to-cash write-back has to be reliable, when credit exposure needs to reach sales before a deal is booked, or when duplicate Accounts and drifting prices are already costing your team more time than a managed pipeline would.

Frequently asked questions

Should I connect SAP to Salesforce with OData, IDoc, BAPI, or a middleware bus?
It depends on your SAP release and which objects move. S/4HANA exposes clean OData v2/v4 services and CDS views with delta tokens, which we prefer for master data and reads. ECC often means IDocs or RFC/BAPI calls through SAP Gateway. We pick the interface per object rather than forcing everything through one channel, and we do not require you to buy a separate integration bus to make it work.
How do you match a SAP customer to the right Salesforce Account?
We map the SAP customer number (KUNNR) or S/4HANA Business Partner ID to a dedicated external ID field on the Salesforce Account and upsert against it. That makes the sync idempotent and stops duplicate Accounts appearing. Where you already have Accounts created by sales before SAP has a customer, we run a one-time reconciliation to link the existing records before the pipeline goes live.
Can it create sales orders in SAP from a closed Salesforce opportunity?
Yes, and this is the flow most order-to-cash projects care about. A closed-won opportunity or a Salesforce Order becomes a SAP sales order via the sales-order OData service or an ORDERS IDoc, with sold-to, ship-to, and bill-to partner functions, sales org, distribution channel, and material numbers resolved correctly. Credit blocks, missing materials, and pricing errors are surfaced back to Salesforce rather than silently dropped.
How is multi-currency and pricing handled between the two systems?
SAP is the pricing authority. Condition-based prices and the document currency are calculated in SAP, and we carry the currency, exchange-rate context, and rounding into Salesforce rather than recomputing them in the CRM. Salesforce multi-currency uses dated exchange rates and its own currency codes, so we align the ISO codes and decimal handling per currency so an amount never drifts by a cent between the two.
Who operates it after go-live, and what about Salesforce API limits?
We do. The pipeline runs on cloud-native, fully EU-hosted infrastructure that we monitor, and we manage Salesforce API consumption deliberately - Bulk API 2.0 for volume loads, targeted upserts for deltas - so we never exhaust your org's daily request allocation. If SAP or Salesforce changes an API, or your org hits a governor limit, that is our incident to resolve under an SLA, with a named owner on our side.

Need this integration built and permanently operated? Tell us which systems connect and what data has to move. Fixed-price scoping quote within 48 hours.

Request a scoping call