THE KEY ANSWER

Before integration, determine which system is responsible for each field, how you identify the same object, and what happens in case of a conflict. Design validation, retries, and a visible error queue. API access alone is not sufficient.

01

A single source of truth does not have to mean a single system

The CRM may be responsible for commercial relationship data, while the ERP handles settlement terms and order status. It is important that there is a clear rule for each specific piece of information. If both systems can modify the address, establish priority and the method for resolving conflicts. "Two-way" synchronization without these rules quickly creates overwrites that are difficult to explain.

Prepare a field map including format, requirement, and owner. Document semantic differences. "Active customer" in the CRM may mean an open relationship, while in the ERP it may mean the ability to issue a document. Integration should not assume that a similar field name implies an identical business rule.

Context and references: AWS Builders' Library: Making retries safe with idempotent APIs

02

Record identity is more important than similar names

Do not link companies solely by name, which can change and be duplicated. Choose stable identifiers and maintain mapping between systems. Plan for merging duplicates and situations where a record has been deleted or manually merged. The lack of such a procedure can cause old data to be recreated.

Demonstration example: a salesperson corrects a counterparty's name, but the integration recognizes them only by the old name and creates a new entry. Technically, every operation ends in success, yet the process generates duplicates. Therefore, acceptance must verify the business outcome, not just the HTTP response with a success code.

03

Retries must not duplicate effects

The network may interrupt the response after the target system has performed the write. Resending without operation identification may create a second order. Design a mechanism for recognizing duplicates and checking the result. This property is often referred to as idempotency.

Distinguish between transient errors and data errors. Service unavailability may justify a delayed retry. An incorrect customer number requires correction or a human decision. Repeatedly sending the same faulty record only increases load. Establish a retry limit and a place where the issue awaits processing.

04

Integration requires operational tools

The person handling the process should be able to see what did not synchronize, why, and what the next step is. A change history and safe retry of a single operation are useful. Do not require manual database intervention by a developer every time. An exception handling interface is often more important than a dashboard showing the number of successful calls.

Test the full cycle: creation, modification, cancellation, duplication, and delayed messages. Ensure event ordering and status consistency. After deployment, compare selected data between systems to detect silent discrepancies. The absence of a technical alert does not prove that every order reached the correct place.

WHERE TO START

Bring this into your project.

  • Assign an owner to each field.
  • Establish stable identifiers and duplicate handling.
  • Distinguish between transient failures and invalid data.
  • Provide history, an exception queue, and controlled retries.

Choose one thing your process is missing today. It's a useful topic for your first conversation with the team.

QUESTIONS AND ANSWERS

Frequently asked questions.

Does synchronization have to be immediate?

Not always. Match the delay to the process: delivery status may tolerate a different time than the reservation of the last item. The user should know when the data was updated.

Should AI map all fields?

Fixed mapping rules are better executed with predictable code. AI can help interpret unstructured content, but the result should pass validation before being written to the business system.

Sources and context

Prepared by the ALGOV team. Current as of September 8, 2026. Examples describe possible scenarios, not results from client projects. How we create our guides.

YOUR SITUATION IS UNIQUE

Let's put these insights to work.

Describe the task, your data and what gets in the way today. Together we'll decide which first step can test the solution's value.

Discuss your idea ↗Explore our service: Integrations and data flow