User Manual
Help Center/User Manual/Connect SAP S/4HANA: pull sales orders and customers in

Connect SAP S/4HANA: pull sales orders and customers in

Last updated 2026-11-01

Enter your S/4HANA OData base URL, add one complete credential set — a Basic communication user or an OAuth2 client-credentials set — then test, map, and activate to pull sales orders and customers.

The SAP S/4HANA connector pulls sales orders and customers from your S/4HANA system into Integration through its OData services. You sign in one of two ways: a Basic communication user, or OAuth2 client credentials — you fill in one complete set, not both. This connection does not sync inventory: inventory in S/4HANA is neither pulled in nor pushed back through it.

SAP S/4HANA connection steps: base URL and one credential set first, then test, mapping, and activate.

Prerequisites#

  • An SAP S/4HANA system — Cloud or on-premise — that you are allowed to integrate with.
  • Help from your SAP Basis or SAP admin team: you will need the OData base URL, and either a communication user or an OAuth2 client setup from them.
  • The sales order OData service (API_SALES_ORDER_SRV) activated in your S/4HANA system. If it is not active yet, your SAP admin can activate it with /IWFND/MAINT_SERVICE.
  • A decision on which sign-in method you will use: Basic (username + password) or OAuth2 (Client ID + Client Secret + Token URL). Only one complete set is needed.

Get your credentials#

  1. Base URL: ask your SAP Basis team for the OData base address of your S/4HANA system, or take it from your BTP destination if you use one. It looks like https://s4hana.example.com:44300. There is no universal default — Cloud and on-premise addresses differ, so never copy an address from another system.
  2. Basic set (option A): ask your SAP admin to create or confirm a communication user in S/4HANA, and note its username and password. A communication user is the account S/4HANA reserves for system-to-system sign-in — do not use a personal dialog user.
  3. OAuth2 set (option B) — Cloud: get the Client ID, Client Secret, and Token URL from the service key of your integration instance in SAP BTP.
  4. OAuth2 set (option B) — on-premise: get the Client ID and Client Secret from your OAuth client configuration, and take the Token URL from that same configuration. The Token URL has no standard value you can guess — always copy it from your own system or service key.
  5. SAP client: if your system works with an SAP client number (for example 100), note it down as well. It is sent with each request as the sap-client parameter. If your Basis team says you do not need one, you can leave it out.
Fill in exactly one complete credential set. A half-filled set — for example a username with no password, or a Client ID with no Token URL — fails the test with an incomplete-credentials error, and the error message lists the two combinations that work.

Fill it into Integration#

  1. Open Integration → Connector Marketplace → SAP S/4HANA → New connection.
  2. base_url (required): the OData base address of your S/4HANA system, for example https://s4hana.example.com:44300. This is the only field that is always required.
  3. sap_client (optional): your SAP client number, for example 100. Leave it blank if your system does not use one.
  4. username (Basic set): the username of the communication user in S/4HANA. Fill this only if you chose the Basic set — and always together with password.
  5. password (Basic set): the password of that communication user. It is stored encrypted and never shown again.
  6. client_id (OAuth2 set): the OAuth2 Client ID — from the BTP service key on Cloud, or from your OAuth client configuration on-premise. It typically starts with sb-. Fill this only if you chose the OAuth2 set, together with client_secret and token_url.
  7. client_secret (OAuth2 set): the OAuth2 Client Secret that belongs to that Client ID. It is stored encrypted and never shown again.
  8. token_url (OAuth2 set): the OAuth2 Token URL, in the form https://…/oauth/token. Copy it from your BTP service key (Cloud) or your OAuth client configuration (on-premise) — do not type one from memory.

Test the connection#

The test first checks that base_url is filled in and that exactly one credential set is complete; an incomplete set fails right away, and the error lists the two combinations that work (username + password, or client_id + client_secret + token_url). With the OAuth2 set, the test first exchanges your credentials for an access token at token_url; with the Basic set it signs in directly. It then reads the description of the sales order OData service — GET {base_url}/sap/opu/odata/sap/API_SALES_ORDER_SRV/$metadata, with the sap-client parameter added when you filled sap_client. An OK result within the 12-second limit means the address, the sign-in, and the service all work. Each failure has its own error code and next step — see FAQ.

Mapping / pick a template#

Pick the SAP S/4HANA standard template for sales orders. Before activating, use the preview with one real sales order and check that the order number, the customer, and the order lines land on the right standard fields. Customer records pulled from S/4HANA keep the customer identifiers from your SAP system, so an order can be matched to the customer it belongs to. If a field you rely on lands in the wrong place, adjust the mapping and preview again — do not activate on an unchecked mapping.

SAP S/4HANA flow: sales orders and customers are pulled in through OData; inventory is not synced.

Activate#

After activation, Integration pulls new and changed sales orders and customers from S/4HANA on the schedule you set. Nothing is pushed back into S/4HANA through this connection, and inventory is not synced in either direction — keep managing inventory the way you do today. Watch the first orders in Runs / Logs and confirm each one matches its sales order in S/4HANA before leaving the connection unattended.

FAQ#

Test fails with 404 — SERVICE_NOT_ACTIVATED

Here a 404 does not mean the address is wrong. It means the sales order OData service (API_SALES_ORDER_SRV) is not activated yet in your S/4HANA system, so there is nothing at that service address to answer.

Ask your SAP admin to activate the API_SALES_ORDER_SRV service in S/4HANA using /IWFND/MAINT_SERVICE, then run the test again. Do not change base_url for this error.

Test fails with 401 — INVALID_CREDENTIALS

S/4HANA rejected the sign-in: the username or password of the communication user is wrong, or the OAuth2 Client ID / Client Secret does not match, or the token exchange at token_url did not accept them.

Re-copy the credentials of the set you chose from their source (the communication user in S/4HANA, or the BTP service key / OAuth client configuration), watch for spaces copied along at the start or end, and test again.

Test fails with 403 — MISSING_SCOPE

The sign-in worked, but the account is not allowed to use the sales order service: the communication user is missing the permissions for it, or the communication scenario for this integration is not set up in S/4HANA.

Ask your SAP admin to check the communication user’s permissions and the communication scenario configuration for the sales order service, then test again. Changing the password does not fix a 403.

Test says the credentials are incomplete

Only part of a credential set is filled in — for example username without password, or client_id and client_secret without token_url. The test needs one full set and stops before even trying to sign in.

Decide on one set and fill in every field of it: username + password for Basic, or client_id + client_secret + token_url for OAuth2. Clear the fields of the other set so nothing half-filled is left behind.

Can this connection sync inventory with S/4HANA?

No. This connection pulls sales orders and customers only: inventory in S/4HANA is not pulled in, and inventory changes are not pushed back. Keep managing inventory in the systems you use today, and do not plan stock levels in OMS around this connection.

Only two kinds of records move through this connection — sales orders and customers. Product records do not flow either, so keep your product catalog and your stock figures maintained the way they are today.