Article

Systems integration:how to get your ERP talking to everything else.

API, webhook, file, intermediate database or bot: how to choose the way to integrate, what to assess first and how to keep the integration from failing silently.

Talk to our consultant →

The short answer

To integrate systems, use the API of your ERP and the other systems whenever it exists, with a webhook when one side needs to know right away that something changed. Files and an intermediate database work when there is no API, and a bot that mimics clicks is the last resort. Before choosing, define which system is the source of truth for each piece of data.

The way you integrate is only half the job. The other half is what happens when something goes wrong: the target system is down, a record is rejected, the same sale is sent twice. A well-built integration handles failures, reprocesses without duplicating, protects credentials and alerts someone when it stops.

What are the ways to integrate systems

There are five main ways to get two systems to exchange data. The choice depends on what each system offers, the volume of records and how much delay the operation can tolerate.

MethodHow it worksAdvantagesWatch out for
APIOne system calls the other through a documented interface to read or write dataIt is the standard path, secure when well configured, and lets you validate each record on the spotDepends on the vendor offering the API, on call limits and on version changes
WebhookThe source system automatically notifies the target when something happensData in near real time, without asking all the time whether something changedThe notice is lost if the target is down, so it requires reconciliation and resending
FilePeriodic export in CSV, XML or a similar format, read by the other systemSimple, works with old systems and is easy to auditDelay between exports, formats that change without notice and the risk of reading the same file twice
Intermediate databaseThe systems write to and read from a database or table agreed between themUseful when there is no API and the volume is highTies the systems to the database structure, and touching the database of an off-the-shelf system directly can compromise vendor support
RPA (screen bot)A bot mimics a person clicking and typing in the interfaceWorks when no other means existsBreaks with every screen change, is slow and hard to monitor

In practice, a mature integration combines methods: an API to write, a webhook to notify and a periodic reconciliation to catch what slipped through. When the current system offers no reasonable means, the question becomes whether it is worth keeping, the subject of the guide on how to modernize a legacy system.

What to assess before integrating your ERP with other systems

Many integration problems are born before the first line of code, from a question nobody asked. This is the assessment worth doing before choosing how to integrate:

  • Documentation. Does the system have a documented API? A test environment? Who provides access and how long does that take? Integration without a test environment becomes testing in production.
  • Volume. How many records per day and at what peaks. Ten orders a day and ten thousand call for different designs.
  • Frequency. Does the data need to arrive instantly, every hour or once a day? Real time has a cost and is only worth it where the operation needs it.
  • Source of truth. For each piece of data, which system is in charge. We cover this in the next section.
  • Identifiers. How to know that customer 123 in the ERP is the same customer in the CRM. Without a common key, the integration duplicates records.
  • Limits and contracts. Call limits, vendor charges for API access and what the contract allows you to do with the data.
  • Owners. Who in the company is responsible for each system and who will be notified when something fails.

In the initial study of our projects, we map what each system allows and, when there are limitations, we explain the alternatives and the impact of each one before we start.

Who is the source of truth for each piece of data

When two systems store the same data, you need to decide which one is in charge. The product price comes from the ERP, the customer's contact details may come from the CRM, the delivery status comes from the carrier's system. Without this definition, each system corrects the other, and the team ends up checking which version is right.

The practical rule is that each piece of data has a single place where it is created and changed. The other systems receive copies and do not edit them, or, if they do, they send the change back to the source through an agreed path. That is what lets data be entered once and reach the other systems with no retyping and no two versions of the same information.

This decision sometimes reveals that the problem is not integration but that a system no longer fits the process. The guide on off-the-shelf or custom software helps with that assessment.

How to handle failures and reprocess without duplicating

Every integration will fail at some point: the other system goes down, the network fluctuates, a record arrives with an invalid field. What separates a reliable integration from a fragile one is what happens at that moment.

  • A queue instead of a direct call. The record goes into a queue and is sent from there. If the target is down, it waits instead of getting lost.
  • Retries with increasing intervals. Try again right away and then with a longer wait, without overloading the other system with repeats.
  • Idempotent sending. Each record carries a unique identifier, and the target recognizes when it receives the same submission twice. That way reprocessing does not create a duplicate order.
  • Data errors kept apart from technical errors. A system being down is solved by retrying; an invalid tax ID is not. Rejected records go to a pending list with the reason, for someone to fix.
  • Periodic reconciliation. A check that compares source and target and points out what was left behind, because no mechanism catches everything.

Security in systems integration

An integration is a door between two systems and should be treated as such. The basic precautions:

  • Credentials outside the code. API keys and passwords are kept in a vault or protected variables, with periodic rotation.
  • Least privilege. The integration user accesses only what it uses. If it only reads orders, it cannot delete customers.
  • Protected channel and signed calls. Encrypted traffic and, for webhooks, verification that the notice really came from the source system.
  • Personal data with a purpose. Only what the target needs is transmitted, in line with Brazil's data protection law (LGPD), and every transfer is logged.

In the beacon monitoring project, the presence figures go out through a signed API and are consumed by the dashboards the health unit already used, instead of forcing the team to open yet another system.

Monitoring: how to know the integration has stopped

The worst integration failure is the silent one: it stops on a Friday and someone notices on Monday, when the inventory does not add up. Monitoring means knowing before the customer does.

  • Absence alert. If no record went through in a period when records always do, someone is notified.
  • Pending items dashboard. A visible error queue, with the reason and age of each stuck record.
  • Log of every submission. What went out, when and with what response. That is what lets you investigate a discrepancy without guessing.
  • Alert owner. An alert that goes to everyone reaches no one. Each type of failure has an owner.

Integrating systems is one of the fronts of our work in automation and artificial intelligence and in custom software. From our first retail projects, integrated with ERPs and marketplaces, to the front desk of the patient management system, integrated with CAD-SUS and the CNS (Brazil's national health card), the lesson repeats: an integration is only done when someone knows, without having to ask, that it is working.

Frequently asked questions

Questions on this topic.

01What is systems integration?

It is getting two or more systems to exchange data automatically, without anyone having to copy information from one screen to another. The order placed in the store reaches the ERP, the customer registered in the CRM shows up in finance, and each piece of data is entered only once, in the system responsible for it.

02Does every ERP have an integration API?

No. Many current ERPs offer an API, but coverage varies: some expose only part of the data, others charge for access or limit the number of calls. Older systems may offer only file exports. That is why the first step of any integration is to check what each system really allows.

03What is the difference between an API and a webhook?

With an API, your system asks the other one and gets the answer whenever it wants. With a webhook, the other system automatically notifies you when something happens, such as a confirmed payment. The two usually work together: the webhook signals that something changed and the API fetches or writes the details.

04Is RPA integration reliable?

It works, but it is the most fragile method. The bot depends on the system's screen, so any layout change or slowdown can interrupt the process. It serves as a temporary solution or when there is no API, file or accessible database, and it needs close monitoring so it does not fail silently.

Want an answer for your case?

Our consultant asks the first questions and passes the conversation on to the team, with no commitment.