How do you stop re-keying data between your CRM, ERP and other systems?
Why the same customer gets typed into three systems, what it costs, and how to connect them so a change in one place shows up in the others.
The short answer
Name one system as the owner of each kind of record, give every record a shared reference, and connect the other systems so a change in the owner is carried across on its own. A customer entered in the CRM then appears in your ERP and other tools with the same details, and later changes travel the same way. Log every change and send conflicts to a person.
Key takeaways
- Every kind of record gets one owner system. The others hold copies that update on their own.
- Give each customer, order and job one shared reference that appears in every system.
- Start with the record that causes the most arguments, which is usually the customer.
- Log every carry and send conflicts to a person, so a wrong value can be traced and fixed.
- Measure the hours of re-keying and the errors in your records, before and after.
- Written by
- Clearmatic
- Published
- Share
A new customer signs. Sales creates them in the CRM. Finance creates them again in the ERP, spelt slightly differently. Operations sets them up in the project or ticketing tool with a shorter name because the field was small. Three months later an invoice goes to the old address, a report shows two customers where there is one, and someone in finance spends a Friday afternoon working out which version is right.
Nobody designed it that way. Each system was bought by a different team for a good reason, and people typing filled the gaps between them. You can remove that typing without replacing any of the systems.
What re-keying costs, beyond the typing
The hours are the visible cost. Someone with real skills spends part of every day copying fields from one screen to another, and the time never shows up on a budget line because it's spread across six people in ten-minute pieces.
Errors cost more. Every copy is a chance to get something wrong, and the mistake surfaces somewhere else. A mistyped payment term in the ERP becomes a late payment. A missing order reference becomes an invoice nobody can reconcile. A customer who told one department about their move keeps getting post at the old address. Each takes an hour to untangle, once someone notices.
Disagreeing systems also cost you trust. When three systems disagree about how many active customers you have, every board pack starts with a caveat, and decisions get made on whichever number was quoted most recently.
Give every record one owner
The fix starts with a decision your team makes before any tool is involved. For each kind of record, name the system that owns it. The owner is where the record is created and changed. Every other system holds a copy and can't edit the fields the owner controls.
- Customers and contacts: usually the CRM, because that's where they first appear.
- Invoices and payments: the ERP or accounting system, always.
- Jobs, projects and tickets: the tool your delivery or service team works in.
- Products and prices: wherever the price list really lives. If that's a spreadsheet, this is a good moment to move it.
Ownership can be split by field. The CRM might own the customer's name and contacts while the ERP owns payment terms and credit limits. Every field still has exactly one owner, and everyone should know which it is.
Then agree one reference that travels with the record: a customer number, order number or job number, created once by the owner and written into every copy. Without it, connecting the systems means matching on names, and inconsistent names are how most companies got here.
How the connection works
Once the owners are decided, the automation is a set of carries. When a record is created or changed in its owner, the change is picked up, translated into the shape each other system expects, and written there. A deal marked won in the CRM becomes a customer in the ERP with the same name, address and reference. A status change on a job becomes a note on the account. An invoice posted in the ERP shows on the customer's CRM record, so sales can see it before they call.
Three rules keep this working once people rely on it.
- Log every carry: what changed, where, when, and what was written on the other side. When a value looks wrong, you can trace it back instead of guessing which system to blame.
- Send conflicts to a person. If a record was changed in two places before the carry ran, the system shouldn't pick a winner. Both versions go to the record's owner, side by side, with one click to choose.
- Close the side doors. If people can still create a customer directly in accounting, they will, and the copies drift apart again. The owner system becomes the only way in.
Most of this is plain integration: a field mapped to a field. AI earns its place at the edges, such as spotting that two differently spelt customers are the same company, or reading a free-text note to work out which job it belongs to. AI agents or workflow automation sets out how to tell which a step needs. Integration is cheaper to build and easier to test, so use it wherever it does the job.
Decide what to carry, and when
Carry only the fields the other systems need. Accounting needs the customer's legal name, billing address, payment terms, tax details and the shared reference. It doesn't need the deal stage or the sales notes. Carrying less means fewer conflicts and a log that's easier to read.
Most carries should run within minutes, so a deal won this morning is a customer in the ERP before anyone raises the first invoice. A few are fine overnight, such as a bulk status update across hundreds of jobs. Anything a system calculates from its own data, such as an outstanding balance, should be read from that system when it's needed, because a copied balance goes stale.
Documents are a case of their own. A signed contract belongs in one place, with links to it from the other systems. Three copies of a contract usually means three versions.
A worked example: customers between the CRM and the ERP
Take a hypothetical distributor with 300 staff. Sales creates new accounts in the CRM every week. Finance re-creates each one in the ERP, and the credit controller fixes addresses whenever an invoice bounces. The team agrees that the CRM owns the customer's name, address and contacts, the ERP owns payment terms and credit limits, and the CRM's account number goes into both.
Before switching anything on, they merge the duplicates and give every existing customer the shared reference. Then new accounts flow from the CRM to the ERP, and the finance lead reads the log each morning for the first few weeks. When the log has been quiet for a while, they add the ticketing tool, so service agents see the same customer details and the latest invoices.
Where to start
- List every system the customer record lives in today, and who creates it in each.
- Name the owner for each field and the shared reference. Expect a short, useful argument.
- Clean the existing records once: merge duplicates, fix addresses, assign the reference. The connection keeps records in step from then on, but it won't repair the past.
- Connect the owner to one other system, for new records only, while someone watches the log.
- Add the next system, then the next kind of record.
The one-off clean-up is the step teams try to skip. It's a few days of someone's attention, and you only need it for the record you're connecting. Do you need to fix your data before you automate? covers how much clean-up is enough.
What to measure
- Hours of re-keying each week: ask each person who does it today, and ask again a month after go-live.
- Errors in your records each month: duplicate customers, invoices sent to the wrong address, orders missing a reference.
- Records in step: a monthly check that the customer count, and a sample of addresses and terms, agree across systems.
What to do this week
- Ask each team who types customer details, into which system, and how often.
- Pick the record that causes the most arguments.
- Draft the owner for each of its fields and the reference that will travel with it.
- Count the duplicates in your CRM and ERP so you know how big the clean-up is.
Connecting the systems you already run is a large part of our build work. We start with the record you pick, set up the carries and the log, and hand you a process your team can see working.
Questions
Do we have to replace any of our systems?
Usually not, because the aim is to connect what you have. The exceptions are a system with no way to connect to it at all, and a spreadsheet acting as the record for something a proper system should own.
What if one of our systems has no way to connect?
There are often workable routes, such as a scheduled export, an import file the system accepts, or a report it already emails out. They're slower than a live connection, so check what's possible before you commit, and keep that system's carries to the fields that matter most.
Who should own the rules once it's live?
The person who owns the record in the business, such as the finance controller for billing details or the sales operations lead for contacts. They decide what happens when values conflict, because they know what the values mean. IT keeps the connection running.
How do we stop people creating records in the wrong place?
Remove the permission to create that record in the copy systems, and give people a quick way to request one from the owner. If creating a customer in the CRM is as fast as the old route, people stop looking for a way around it.
Get the next article when it's published.
More on data.
All guides
Point of viewCan you run AI without a data team?
Yes, with four things in place: an owner for the process, access to the systems, a weekly review of the output and someone to call when it breaks.
Point of viewDo you need to fix your data before you automate?
You don't need a company-wide clean-up. You need reliable inputs to the one process you automate first. How to check them, and what to fix.
- Guide
Guide
Fund first
A four-question test
Which AI use case should you fund first?
Score each candidate on how often it happens, how much judgment it needs, where its inputs come from and how you'd measure it. Fund the one that passes.