CRM ERP Integration: What to Sync and How to Plan It
A sales rep promises a customer delivery in two weeks. The warehouse, looking at the ERP, knows the part is on backorder until next month. Nobody finds out until the customer calls. That gap between what sales sees and what operations knows is the problem CRM ERP integration solves.
This guide is for operations, sales ops and IT leads who run a CRM beside an ERP and want the two to agree. It covers what the integration actually does, which records should move in which direction, who owns each field, how Salesforce, HubSpot, Dynamics 365 and Odoo handle it, and how to plan the project so it doesn't turn into a nightly sync nobody trusts.
What Is CRM ERP Integration?
CRM ERP integration is the automated exchange of customer, product, pricing, order and invoice data between a customer relationship management system and an enterprise resource planning system, so each record is created once, owned by one system, and visible in both without re-typing.
The CRM runs the front office: leads, accounts, opportunities, quotes, cases. The ERP runs the back office: item master, inventory, production, fulfilment, invoicing and the general ledger. Integration doesn't merge them. It decides which facts each one is allowed to change and then copies those facts to where people need to see them.
In practice that means a won opportunity becomes a sales order in the ERP without anyone keying it in, and the rep can see order status, open invoices and credit hold without logging into finance's system. You'll also see it called ERP CRM integration. The order of the letters doesn't change the work.
Why Do CRM and ERP Records Drift Apart?
They drift because two teams edit the same customer in two places, on two schedules, with two sets of rules. Sales updates a billing address in the CRM after a call. Finance updates it in the ERP after a returned invoice. A month later there are two addresses and nobody knows which is right.
This isn't a niche worry. In DATAVERSITY's Trends in Data Management 2024 survey of 334 data professionals, 68% named the number of data silos as a top data management challenge, up from 61% the year before. CRM and ERP are usually the two biggest silos a mid-sized B2B company has, which makes ERP and CRM integration a sensible place to start.
The costs show up in familiar places:
- Quotes built on last quarter's price list, then corrected by finance after the customer has accepted.
- Orders re-keyed from a closed-won opportunity into the ERP, with typos in part numbers and ship-to addresses.
- Reps chasing a customer for a renewal while the account is on credit hold.
- Revenue reports that don't match between the sales dashboard and the finance close.
Which Data Should Sync Between CRM and ERP?
Sync the records that both teams act on: customer accounts and contacts, products and price lists, quotes that become orders, sales orders and their status, invoices and payment status, and credit limits. Leave marketing activity in the CRM and ledger detail in the ERP.
The useful question isn't "what can we sync?" but "which system is allowed to change this, and who needs to read it?" The table below is a sensible default for a B2B manufacturer or distributor. Your own answers will differ in a few rows, and those differences are exactly what the design phase should settle.
| Record | System of record | Direction | Typical timing |
|---|---|---|---|
| Prospect and lead | CRM | Stays in CRM | Not synced |
| Customer account (once it buys) | ERP for legal name, tax ID, payment terms; CRM for owner, segment, relationship data | Two-way, field by field | Near real time |
| Contacts | CRM | CRM to ERP (billing and shipping contacts only) | On change |
| Products and item master | ERP | ERP to CRM | On change or hourly |
| Price lists and discounts | ERP | ERP to CRM | On change |
| Quote | CRM | Stays in CRM until accepted | n/a |
| Sales order | ERP | CRM creates it; ERP owns it afterwards | On opportunity close |
| Order and shipment status | ERP | ERP to CRM | On change |
| Inventory and available-to-promise | ERP | Read from ERP on demand | Live lookup |
| Invoices, payments, credit hold | ERP | ERP to CRM (read-only) | Daily or on change |
| Support cases and warranty claims | CRM | CRM to ERP when parts or credits are involved | On change |
Two rows deserve a second look. Inventory is better read live than copied, because a stock number copied an hour ago is already wrong on a busy day. And the customer account is split by field, not by record, which is where most integrations go wrong.
Which System Should Own Each Field?
Each field gets exactly one owner. The ERP owns anything with legal, tax or financial consequences. The CRM owns anything about the relationship. The integration only lets the owner write; every other system reads a copy.
"Two-way sync" sounds reassuring and causes most of the trouble. If both systems can write to the billing address, the integration needs a rule for which edit wins, and "last write wins" quietly overwrites a correction finance made an hour ago with an older value sales just saved from a stale screen.
A field ownership matrix removes that ambiguity. For the customer account it often looks like this:
- ERP owns: legal entity name, customer number, tax ID, billing address, payment terms, credit limit, currency, price group.
- CRM owns: account owner, industry and segment, relationship stage, parent-child hierarchy for sales territories, marketing consent.
- Shared but gated: shipping addresses, where sales may propose a new one and the ERP approves it before it becomes usable on orders.
Once the matrix exists, lock the ERP-owned fields to read-only on the CRM page layout. Users then can't create conflicts the integration has to resolve later. It's a small configuration change that prevents a large class of support tickets.
You still need a conflict rule for the rare case where both sides change something in the same window. Pick one per field, write it down, and log every conflict so someone reviews them weekly. The log tells you where your ownership rules are wrong.
What Are the Main Ways to Integrate CRM and ERP?
There are four: a native connector built by one of the vendors, an integration platform (iPaaS or middleware) that sits between the systems, a custom API integration, or scheduled file exports. Most mid-sized companies are best served by a native connector where one exists, and an integration platform where it doesn't.
| Method | Best when | Watch out for |
|---|---|---|
| Native connector | Both systems come from vendors with a supported connector, and your process is close to standard | Limited custom field mapping; connector updates on the vendor's timeline |
| Integration platform (iPaaS, middleware) | Three or more systems, custom objects, or transformation logic between them | Another subscription and another system someone has to own |
| Custom API integration | A single, well-defined flow with unusual rules, and in-house developers to maintain it | Error handling, retries and monitoring are yours to build |
| Scheduled file exchange | An older on-premise ERP with no usable API | Data is only as fresh as the last file; failures are silent unless monitored |
Direct point-to-point connections look cheaper at the start. They get expensive when a third system arrives, because every new connection has to know about every other one. An integration platform keeps the mappings in one place.
It also helps to think in patterns rather than products. Salesforce's architecture guidance names six integration patterns, and three of them cover almost every CRM ERP flow. Request and reply fits a live stock or credit check while a rep builds a quote. Fire and forget fits pushing a closed deal to the ERP as an order. Batch data synchronization fits nightly price list or invoice updates.
How Do Salesforce, HubSpot, Dynamics 365 and Odoo Handle ERP Integration?
Each platform starts from a different place, and that changes how much of the work is configuration versus build.
Salesforce
Salesforce has no built-in ERP of its own, so Salesforce ERP integration always crosses a system boundary. The usual routes are an AppExchange connector for the specific ERP, MuleSoft (Salesforce's own integration platform) or another iPaaS, or custom work on the Salesforce APIs. The patterns above apply directly. Most Salesforce implementations for manufacturers end up with a request-and-reply call for pricing and stock during quoting, and an event-driven push (a platform event or outbound webhook) when an opportunity closes.
HubSpot
HubSpot offers a native NetSuite integration that maps HubSpot contacts, companies, deals, invoices, orders, products, tickets and activities to their NetSuite counterparts. Each sync can be configured as one-way or two-way. Custom field mappings require a Data Hub subscription, which is worth budgeting for early, because almost every B2B company has at least a few custom fields that matter. For HubSpot ERP integration with systems that have no native app, such as many SAP or industry-specific ERPs, the work usually runs through an iPaaS.
Microsoft Dynamics 365
Dynamics 365 is the one case where CRM and ERP come from the same vendor with integration built in. Microsoft's dual-write infrastructure gives near-real-time, bidirectional integration between the finance and operations apps (Finance, Supply Chain Management) and Dataverse, where Dynamics 365 Sales stores its data. Customer, product and vendor master data can be shared rather than copied. The trade-off is that you are firmly inside one vendor's ecosystem, and moving data into Dynamics needs the same field-level care as any other project.
Odoo
Odoo ships CRM, Sales, Inventory, Manufacturing and Accounting as apps on one database. An opportunity turns into a quotation and then a sales order without any sync at all, which removes the whole problem for companies that can run on Odoo end to end. The integration question with Odoo usually runs the other way: connecting Odoo as the ERP to a separate CRM the sales team already prefers. In one Unboxx project, a roadside assistance company kept Salesforce for customer requests and case management while Odoo ran work orders, fleet, inventory and invoicing, with automated flows keeping customer and dispatch records consistent between the two.
How Does CRM ERP Integration Work in Manufacturing?
In manufacturing, the integration carries the quote-to-cash chain: configured products and customer-specific pricing into the quote, available-to-promise dates back to the rep, the accepted quote into a sales order, and shipment, invoice and credit status back to the account team.
Manufacturers have a few requirements that generic guides skip:
- Customer-specific pricing. Contract prices, volume breaks and distributor discounts live in the ERP. If the CRM quote tool can't read them, reps build quotes in spreadsheets and the CRM becomes a record of what was guessed, not what was sold.
- Configured products. A quote built in a CPQ (configure, price, quote) tool for a configurable machine has to map to a bill of materials the ERP understands. That mapping is usually the hardest part of the design and should be prototyped first.
- Blanket orders and releases. Many industrial customers sign one annual agreement and release against it monthly. The CRM needs to show the agreement and its remaining balance, not a stream of unrelated small orders.
- Multi-site accounts and distributors. A single customer may buy from three plants through two distributors. Account hierarchy is a CRM concern; ship-to and bill-to logic is an ERP concern. Both have to agree on the customer number.
- After-sales service. Warranty claims and spare-part orders start as cases in the CRM but consume inventory and create credits in the ERP.
Field teams add one more requirement: data they can reach away from a desk. For a logistics client, Unboxx extended Salesforce and a transport management system into a secure mobile app so drivers and field staff weren't tied to the office for order data. If you're weighing a CRM for a plant or distribution business, the manufacturing CRM requirements are laid out in more detail on our industry page.
How Do You Plan a CRM ERP Integration Project?
Plan it in eight steps: map the processes that cross the two systems, agree field ownership, clean both datasets, choose the integration method, design the mappings and error handling, build in a sandbox, test with real scenarios, then go live in stages with monitoring switched on from day one.
- Map the cross-system processes. Start with quote-to-cash and case-to-credit. Write down every hand-off between sales, operations and finance, and which screen each person uses at that moment.
- Agree the field ownership matrix. Get sales ops and finance in the same room and settle who owns each field. This meeting prevents more problems than any technical decision.
- Clean both datasets. Deduplicate accounts, align customer numbers and retire dead products before anything syncs. An integration copies bad data faster; it doesn't fix it. The same discipline applies as in a CRM migration.
- Choose the method. Use a native connector if it covers your objects and custom fields, and an integration platform if it doesn't or if more systems are coming.
- Design mappings and error handling. For each flow, define the trigger, the fields, the transformation, the retry rule and who gets alerted when a record fails.
- Build in a sandbox. Use sandbox copies of both systems. Never test an order flow against a live ERP.
- Test with real scenarios. Run a new customer, a price change, a partial shipment, a credit hold and a cancelled order through end to end. Check the ledger, not just the CRM screen.
- Go live in stages and monitor. Switch on read-only flows first (products, prices, order status), then the order creation flow. Watch the error queue daily for the first month.
What Usually Goes Wrong?
Most CRM and ERP integration failures come from decisions nobody made before the build started, not from the connector: no owner for each field, duplicate records carried across, errors that fail silently, too much ledger data copied into the CRM, and no named owner once the project team moves on.
- No field owner. Two-way sync on every field produces overwrites and a slow loss of trust in both systems.
- Duplicates carried across. Three versions of the same customer in the CRM become three customer numbers in the ERP, and finance inherits the clean-up. We cover the pattern in common CRM migration mistakes.
- Silent failures. A record fails validation in the ERP, the integration logs it somewhere nobody reads, and the order simply never ships.
- Scope creep into the ledger. Copying general ledger detail into the CRM adds load and exposure without helping sales. Reps need status, not journal entries.
- Nobody owns the integration after go-live. ERPs get upgraded, fields get renamed, and a working integration breaks six months later because it had no owner.
How Do You Test and Monitor the Integration?
Test with end-to-end business scenarios rather than single-field checks, using sandbox copies of both systems. After launch, monitor three numbers every day: records that failed, records still waiting in the queue, and the time from a CRM event to the matching ERP record.
A good test pack follows a customer's life: created as a prospect, converted, quoted with a special price, ordered, partly shipped, invoiced, paid late, put on credit hold, and released. At each step, someone checks both systems and the numbers finance cares about.
After go-live, put an error queue in front of a named person with a daily habit of clearing it. Alerts should reach that person, not a shared inbox. For recurring failures, fix the rule upstream rather than retrying forever. This is also where AI business automation earns its place: classifying failed records, suggesting the likely fix, and routing the exception to the right team, while a human still approves changes to financial data.
How Much Does CRM ERP Integration Cost?
Cost depends less on the software than on the number of flows, the amount of custom logic, and the state of the data. A native connector with standard fields is a small project; a custom quote-to-cash integration across several plants is a large one.
The main cost drivers are:
- Licences for the connector or integration platform, plus any add-on tiers needed for custom field mapping.
- The number of flows and the direction of each. One-way reference data is cheap; two-way transactional flows are not.
- Custom objects and transformation logic, especially configured products and customer-specific pricing.
- Data clean-up before the first sync. This is often underestimated, and it's the step you most regret skipping.
- Ongoing ownership: monitoring, upgrades on either side, and changes as processes evolve.
A fixed quote is only reliable after the ownership matrix and flow list exist. Any estimate made before that is a guess about decisions nobody has made yet.
Key Takeaways
- CRM ERP integration gives each fact one owner and copies it to where it's needed; it doesn't merge the two systems.
- The ERP owns anything financial or legal; the CRM owns the relationship. Lock ERP-owned fields to read-only in the CRM.
- Read inventory and credit live where you can, and sync reference data such as products and prices one way.
- Use a native connector if it covers your objects, and an integration platform when you have more systems or custom logic.
- Most failures trace back to missing ownership rules, dirty data and no named owner after go-live.
Frequently Asked Questions
Can a CRM be integrated with any ERP?
Almost always, yes. Modern ERPs such as NetSuite, SAP S/4HANA and Dynamics 365 expose APIs, and older on-premise ones can usually exchange scheduled files. What varies is effort: a supported native connector may need only configuration, while an older ERP with no API needs middleware and a file-based flow that is less fresh and needs closer monitoring.
Should CRM and ERP sync in real time?
Only where a delay changes a decision. Stock, credit status and order creation benefit from real-time or near-real-time exchange. Product catalogues, price lists and invoice history are fine on a schedule. Making everything real time adds cost and failure points without helping anyone.
What is the difference between CRM ERP integration and data migration?
Migration is a one-time move of historical records from an old system into a new one. Integration is an ongoing exchange between two systems that both stay in use. Projects often need both: migrate history once, then integrate for everything that happens after go-live. One Unboxx project moved customer records from Salesforce to HubSpot and connected the accounting system in the same engagement.
Do we need an integration platform, or is a native connector enough?
A native connector is enough when it covers the objects and custom fields you need and only two systems are involved. Choose an integration platform when a third system is coming, when you need logic between the systems, or when the connector can't map your custom fields.
Who should own the integration after go-live?
One named person, usually in sales operations or business systems, with IT support for the technical layer. They clear the error queue, approve mapping changes and sign off on upgrades to either system. Integrations without an owner tend to break quietly within a year.
How Unboxx Approaches CRM ERP Integration
Unboxx is a Salesforce Crest (Gold) Partner and CRM consultancy working across Salesforce, HubSpot, Microsoft Dynamics 365 and Odoo. Our CRM consulting and integration services start with the ownership matrix and the quote-to-cash map, then move to the connector or platform that fits, with monitoring built in before go-live. We do this work for manufacturers, distributors and professional services firms such as accounting practices that bill from one system and sell from another.
If your sales team and your ERP disagree more often than they should, book a CRM integration assessment and we'll map where the two systems drift and what it would take to close the gap.
Let's create something out of this world together.
Have a project in mind? Contact us for expert design and development solutions. Let's discuss how we can help grow your business.
Ready to Unboxx Your Potential?
Build smarter systems. Automate faster. Scale confidently.
