SAP and Salesforce

SAP and Salesforce integration test data, masked the same way

Quote-to-cash runs through both systems: accounts and opportunities in Salesforce, orders and invoices in SAP. Refresh one without the other, or mask them differently, and integration tests fail on data before they reach the code. Synthesized prepares SAP test systems and Salesforce sandboxes together, with every customer masked once and matched at both ends.

Customer 100231 across systemsExample
Salesforce account
Berg Handels GmbH
0015g00000QXa1A
SAP business partner
Berg Handels GmbH
BUT000 100231
Opportunity to sales order
The same customer at both ends
VBAK 0000451209
Integration test
Middleware maps the keys
Matched
Example. One masked identity, used in SAP QA and the Salesforce sandbox.
SalesforceSandbox
SAP S/4HANAQA
Built for the SAP & Enterprise QA toolchain
SAP S/4HANASAP AribaSAP HANASalesforceUiPathTricentis

Why it breaks

Why SAP and Salesforce integration tests fail on data

01
Refreshed apartThe sandbox is refreshed on one date and the SAP client on another, so accounts and orders no longer line up.
02
Masked differentlyTwo tools, two sets of rules: a customer called Berg in SAP is someone else in Salesforce, and lookups fail.
03
Sampled apartA partial copy sandbox samples records on its own. Orders in SAP point to accounts that never reached the sandbox.
04
Real customers in sandboxesA full sandbox copies every real account and contact, and admins, partners and offshore developers can see them.

How it works

One scope, one set of rules, one run

SAP S/4HANABusiness partner 100231
SalesforceAccount and contacts
SAP QABerg Handels GmbH
Salesforce sandboxBerg Handels GmbH
SynthesizedOne masking key per customer, applied in both systems, in one run
Production
Test
integration test:
same customer
Both systems are refreshed from the same rules in the same run, so a customer has the same masked name and keys at both ends.
  1. 01

    Map the shared keys

    Which Salesforce fields hold SAP numbers, such as an external ID with the customer number, and which records belong together.

  2. 02

    Set one masking policy

    Names, addresses, contacts and bank details are masked once, so both systems get the same values.

  3. 03

    Choose the scope

    The same sales organisations, accounts or regions in both systems, with every related record on each side.

  4. 04

    Refresh together

    Load SAP QA and the Salesforce sandbox in the same run, then start the integration tests.

What has to match

The records an end-to-end test follows

Business objectIn SalesforceIn SAPWhat must match
CustomerAccount, ContactBusiness partner: BUT000, KNA1Masked name, address and the shared customer number
Products and pricesProduct, price book entriesMaterial, pricing conditionsProduct codes and the prices a quote uses
Quote and orderOpportunity, QuoteSales order: VBAK, VBAPThe reference that links the order to its opportunity
Invoices and statusFields or objects your integration fillsBilling: VBRK, VBRPAmounts and status written back to Salesforce

Object and field names depend on your Salesforce org and your integration. Mapping them is the first step of the setup.

Compare

Two refreshes, or one

Today

Each system refreshed on its own

  • Sandbox and SAP client copied on different dates
  • Each masked with its own tool and rules, if at all
  • Partial copies sample records independently
  • Integration testers rebuild the links by hand
With Synthesized

Both refreshed from one set of rules

  • SAP QA and the sandbox loaded in the same run
  • One masking policy, the same values at both ends
  • The same scope, with every related record
  • Integration tests start the day the refresh ends

We've got you covered

Questions about SAP and Salesforce test data

How do you test an SAP and Salesforce integration?

Start both systems from the same data: an SAP test system and a Salesforce sandbox holding the same customers, products and open orders, masked the same way. Then run the end-to-end scenarios, such as quote to order to invoice, and check what arrives at each end.

Does this replace Salesforce sandbox refresh?

No. A sandbox refresh still brings your org's configuration and metadata. Synthesized fills it with masked data that matches SAP, instead of a copy or sample of production.

Which sandbox types does it work with?

Developer and Developer Pro sandboxes, which start with no records, and partial copy or full sandboxes, where the data copied from production can be replaced with masked data.

Which integration middleware does it support?

Any. The data is consistent at both ends, so SAP Integration Suite, MuleSoft or a custom integration moves it as it would in production.

Why not mask each system with its own tool?

Masking inside one platform protects that platform. It can't give a customer the same masked values as in SAP, which is what an end-to-end test needs.

Does it work for other CRMs?

Yes. A source can be any production application or database, SAP or not, and the same masking policy applies to each one.

Next step

Run your next integration test on matching data

We refresh one SAP QA client and one Salesforce sandbox from the same rules, and show the same customer at both ends.

Runs in your environmentNothing installed in SAPRead-only access to SAPSecurity and deployment
Updated October 2026

SAP, S/4HANA, SAP HANA, SuccessFactors, Ariba, Concur and other SAP products and services mentioned herein, as well as their respective logos, are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies.