Connect CRM and ERP: define the data source for each field
A completed field table defines sources and write directions. It separates contact maintenance, billing address and account state across CRM and ERP.

Before connecting CRM and ERP, define where individual values are changed and confirmed. A customer can exist in both systems while different fields have different owners. This produces a data contract for implementation: identity, field meaning, authoritative source and permitted write direction.
Identify the same record unambiguously
A fictional software company links CRM customer C-204 to ERP customer account D-630. The mapping should remain stable through these references; a similar company name is insufficient. For Dataverse, Microsoft describes alternate keys that can identify rows through unique column values, for example. Which keys the actual systems provide belongs in the technical assessment.
In the following example, “authoritative” means that this system confirms the valid field value. The other system may display it or submit a change request. Field names and values in the table are a custom design for this example, not a provider’s API fields.
Fill in the source and direction for each field
Field | Example value | Authoritative source and direction | Change in the other system |
|---|---|---|---|
Project contact |
| CRM → ERP, as a technical contact. | Display only in ERP. |
Billing address |
| ERP → CRM. | Capture a change request in CRM. |
Account state |
| ERP → CRM. | A sales status in CRM does not change this value. |
Direction is defined per field; a blanket rule that CRM is authoritative would not represent this division. Microsoft’s dual-write documentation shows one-way and two-way column mappings; the specific data contract determines which direction fits this case.
Treat a different entry as a change request
If sales submits the new address Werkstraße 12, Beispielstadt in CRM, an open request should be created first. The authorised ERP team reviews it and confirms the change if appropriate. Only the confirmed ERP value flows back. Requested and confirmed addresses therefore need distinct states.
If transfer fails, CRM needs to keep the open request and last confirmed version distinguishable. Sending work to the interface is not confirmation from the target system. Processing time and outcome should be traceable against the case.
Check three transfers against expected results
Check the agreement in an appropriate test environment before use:
A contact address changed to
projekt-neu@example.invalidin CRM appears as the technical contact in ERP.An address request initially leaves the confirmed value
Werkstraße 8, Beispielstadtunchanged. After ERP approval, the new address appears in CRM too.If ERP changes the account state to
blocked, CRM shows that state. Changing the sales status does not remove the block.
These results check different fields and write permissions. Successfully transferring a single record does not fully cover all three rules.
Sources
Read more
All articles




APIs & Integration with ASES
ERP, CRM and shop cleanly connected

