Microsoft Dynamics 365 CRM is a software designed to record and store every viable piece of information regarding business interactions. It can be used as a standalone platform or as a complement of large enterprise system backed by S/4HANA.

It is usually a part of large enterprise landscape with ERP (Enterprise Resource Planning) on the other side – it’s key objective is to enable company to function robustly as it allows to understand and manage all the resources needed to operate the business successfully.

We are proud to present an integration case study between SAP ERP and Microsoft Dynamics 365 CRM where production data are fed into CRM system, so that CRM users can make optimal solutions that satisfy customer needs and companywide business objectives.

The following case study brings you a somewhat detailed overview of design choices and implementation details when providing SAP-Microsoft CRM integration. We focus on the main data sources and key decisions while building the solution.



To begin with, Integration had to consider the following sets of data from the S/4HANA system:

Business partners from SAP LO area with the IDOC message;

Material resources from SAP MM area with the IDOC message;

Customer inventory from SAP MM area with the IDOC message;

Financial data from SAP FI area through proxy message;

Credit and credit limit data from SAP FI area through proxy message.

Business partners and material resources were distributed by observing readily available SAP change pointers data.Export was configured for a specific list of changes in active fields.

Remaining areas were handled by custom SAP Reports collecting data in S/4HANA in a scheduled background process and importing it into SAP PO using standard proxy mechanism.

Technical implementation required a set of additional interfaces on SAP PO to be implemented. Standard PO mechanism of message mappings was used to check, whether data is available on the CRM side.

Having accomplished necessary operational checks control flow was passed to API CRM function with REST 7.5 adapter.

The general schema of operation was implemented as follows:

1. Creating new records using POST method – per dataset.

2. Record update using PATCH method along with placing the object idenifier as a URI parameter in URL address – per dataset.

We would like to give you a sneak peek into design decisions and tools used to deliver the integration.

The presented data is not complete by might help you in your own deployments when connecting SAP and Microsoft 365.

List of objects responsible for interface calling along with data delivery method and used base data type (can be standard or one defined by us):

Here, we give you some of the particular data fields that were part of the integration and had to be transported from ERP to CRM.

List covers integrated areas and some of the details. 



Methods implemented in Inventory API:

  • Check inventory
  • Set Inventory


Methods implemented in Invoices API:

  • Get Invoice Status
  • Get Invoice Line Status
  • Check Invoice
  • Check InvoiceLine
  • Set Invoice
  • Set InvoiceLine


Methods implemented in Product API:

  • Get Product Status
  • Check Product
  • Set Product


Methods implemented in Credit Limit API:

  • Check Credit Limit
  • Set Credit Limit

Methods implemented in User API:

  • Check User

These diagrams show the overall data transfer mechanism for IDOC flow and proxy queries.

All areas addressed conform to this schema.

Process flow

Process flow using synchronous IDOC- query

Process flow using synchronous IDOC- answer

Process flow using synchronous proxy – query

For communication with CRM, standard REST communication channels are used.

In order to execute operations dynamically, global parameters have been used to indicate the correct ednpoints on CRM side.

Authorization with system is basen on Oauth 2.0 standard available in SAP PO 7.5.

Additionaly, for the suitable conversion XML messages from SAP/PO into JSON format required in CRM, custom adapter module has been implemented. It enables correct numeric conversions and flexible structure customization such as special characters in fieldnames.

Examples of the communication channel configuration with a dynamically set endpoint for PATCH operation is given as follows.

Response messages are triggered by using ResponseOnewayBean standard adapter module.

It contains significant parameters such as IdocNumber, objectKey or operation stored in DynamicConfiguration module during request mapping logic. 

Synchronous interfaces enable fetching specific identifiers of entities from CRM. Response message usually contains object ID field used to map correct values during update operations and determine method of object synchronization.


As you can see integration between SAP S/4HANA ERP and Microsoft Dynamics 365 CRM is readily achievable with standard features of SAP PO 7.5. Presented approach can be easily expanded to other areas handled by the ERP.

When standard IDOCs are unavailable or not suited for the task, proxies handled by SAP PO will accomplish the job just fine.