Interactive controls are loading. Phone and email links are available.

Skip to main content
For sales teams tired of asking finance what the customer owes

CRM and ERP Integration: Getting Sales and the Back Office Onto One Customer

Your CRM knows who the customer is, what was promised and who is chasing them. Your ERP knows what they actually bought, what they still owe and whether their credit is on hold. When the two never speak, sales quotes prices the factory cannot honour, finance chases people sales just reassured, and the board gets two different revenue numbers in the same meeting.

This page covers the six flows that matter between a CRM and an ERP, the field level ownership decisions that have to be made before anything is mapped, and the specific failure modes that make CRM data untrustworthy within a year. It also covers where you should deliberately not connect the two.

What Changes, Realistically

2 to 5 days
Typical lag from won deal to order in the ERP
Varies with volume and with how the handoff works. A PDF emailed to someone for retyping is usually the slow step
4 keys
ABN, entity name, email domain and delivery address
ABN alone is not enough to match accounts: one ABN can cover several trading names and sites, and consumers have none
1 owner
Per field, not per record
The ERP owns the billing identity, the CRM owns the relationship, and both rules get written down
15 to 60 min
Saved per quote when pricing is read from the ERP
Depends on line count and how many approvals a discount needs

Four Decisions That Decide Whether This Integration Is Trusted

The technical connection between a CRM and an ERP is rarely the hard part. These four decisions are, and they are usually made by accident.

Which system owns which field, not which record

Most arguments about whether the CRM or the ERP is the master are unanswerable because both are right about different fields. The ERP owns the legal billing identity: entity name, ABN, trading terms, credit limit, tax treatment. The CRM owns the relationship: contacts and their roles, activity history, next steps, campaign membership, account ownership by rep. Write the split field by field before anything is mapped, because in a two way sync with no owner, each system overwrites the other system’s changes.

Where a price is actually calculated

The moment a salesperson can type a price into the CRM, the CRM becomes a second pricing system, and it will quietly disagree with the first. The durable pattern is that the CRM asks the ERP what this customer pays for this item at this quantity today, and shows the answer. Discounts above a threshold route for approval and are written back with a reason. This is more work than syncing a price list nightly, and it means the quoted price is the price the ERP will invoice.

What the word revenue means in each system

A CRM reports pipeline and closed won. An ERP reports orders taken, goods shipped, invoices raised and cash received. They will never match, and they are not supposed to. What matters is that everyone knows which number they are looking at, that deal values and ERP amounts use the same GST convention, and that there is one agreed bridge between closed won and invoiced revenue so the gap can be explained rather than argued about.

How little ERP data belongs in the CRM

The instinct is to push everything across so sales can see it. Replicating every invoice line into CRM objects gives you a slow CRM, a large bill, an API budget spent on data nobody reads, and a second copy of the ledger that drifts. Sales needs summaries and answers: what they bought this year, what is overdue, what is on backorder, the last five orders. Detail stays where it belongs, reachable by a link.

The Six Flows Between a CRM and an ERP

Very few businesses need all six on day one. Most get the first two right and add the rest as trust builds.

One customer

Account and contact mastering

New accounts created in either system appear in the other, matched rather than duplicated. ABN is the strongest key an Australian business has, but it is not sufficient on its own: group structures share one ABN across many trading names and delivery sites, and retail consumers have none. Practical matching combines ABN, normalised entity name, email domain and delivery address, with anything ambiguous queued for a person instead of guessed at.

No re-keying

Quote to sales order

An accepted quote becomes an ERP sales order with its lines, quantities, agreed prices, delivery instructions, required dates and any deposit intact. The ERP order number returns to the CRM so both sides reference the same transaction. This is the flow that removes the most keystrokes and the most transcription errors, and it is usually the first flow worth building.

Read only

Credit and receivables visibility

Current balance, overdue amount, oldest invoice age, credit limit and any credit hold flag, pushed to the CRM account as read only fields and refreshed on a sensible cycle. Sales stops promising delivery to accounts finance has stopped, and stops phoning accounts payable to ask. The write direction stays firmly with the ERP, which is the only system allowed to change a credit decision.

Sell what exists

Items, price groups and availability

Sellable items, units of measure, pack sizes, price groups and discontinued flags flow to the CRM so quotes reference real products. Stock on hand and expected arrival dates come across as indicative figures with a timestamp shown, because a number in a CRM without a time next to it will be treated as a promise. Anything genuinely time critical is read live at quote time rather than cached.

Real status

Event driven deal stages

Deal and account status changes driven by things that actually happened in the ERP: order confirmed, part shipped, fully invoiced, payment received, order cancelled. Pipeline hygiene stops depending on whether a rep remembered to drag a card, and renewal or reorder prompts can be triggered from real consumption rather than from a guess.

Context

Service, returns and order history summary

A rolled up view on the account: last orders, year to date spend, open backorders, credits raised, returns in progress and open support tickets. Enough for a rep to walk into a meeting informed, without replicating the transaction detail. Deep links open the full record in the system that owns it, which also keeps your access controls honest.

What Changes Day to Day

TaskTraditionalConnected ProperlyNotes
New trade customer set upKeyed into CRM and ERP separatelyCreated once, matched and linkedThe duplicate rate in an unmatched pair of systems grows quietly for years before anyone measures it.
Quoting a large orderRep guesses price from a stale sheetLive customer price per lineRemoves the renegotiation that happens when the quoted price cannot be honoured by the ERP.
Accepted quote becomes an orderPDF emailed, re-typed by adminSales order created with lines intactTypically the single highest value flow, both for hours saved and for errors avoided.
Rep asks what a customer owesPhone call or email to financeBalance and overdue on the accountRead only fields on purpose, so nobody can negotiate a credit limit in the CRM.
Customer on credit holdSales finds out after promisingFlag visible before the meetingSet expectations about refresh frequency, since an hourly flag is not a real time one.
Forecasting the quarterPipeline and ERP numbers disagreeOne agreed bridge between themFix the GST convention first: a deal value including GST compared with an ex GST ledger is a common cause of disagreement.
Chasing an overdue accountFinance chases blindRelationship context attachedReduces the awkward call where finance chases a customer mid renegotiation.
A record that will not matchDuplicate created silentlyQueued with the reasonShared ABNs across trading divisions are the most common cause, and always need a human decision.

Where CRM and ERP Integrations Go Wrong

Both systems allowed to create accounts with no matching rules

This is the default state and it produces duplicates at a rate nobody notices until reporting is unusable. Decide which system may create, and if both may, write the matching rules first. ABN is the best available key in Australia and still imperfect: one ABN can cover dozens of trading names and sites, franchisees are separate entities under a shared brand, and consumers have none. Combine keys, normalise names before comparing, and send the ambiguous ones to a person.

Prices maintained in the CRM as well as the ERP

Two pricing systems produce quotes the business cannot honour, and the damage lands on the customer relationship rather than on the integration. Either read prices from the ERP at quote time, or accept a nightly one way push with a clear rule that the ERP price wins at order entry and the rep is told when it changes. Do not allow free text prices on quote lines without an approval path and a recorded reason.

The whole ledger replicated into CRM objects

Pushing every invoice and every line into the CRM burns API quota, slows page loads, inflates storage costs and creates a second copy of the ledger that will drift from the first. Push summaries and aggregates to the CRM, keep detail behind a deep link, and be sceptical of any design that measures success by how much data it moved.

Privacy obligations treated as an afterthought

Contact details, call notes and buying history are personal information under the Privacy Act 1988, and the Australian Privacy Principles apply to how you collect, use, store and disclose them. Know which country each system hosts data in, use dedicated service accounts with least privilege rather than a departing employee’s login, keep only the notes you would be comfortable disclosing to the person concerned, and be able to make a correction in both systems rather than just the one that received the request. Australia has no general right to erasure, but APP 11.2 requires you to destroy or de-identify personal information you no longer need, and that has to happen in both systems too.

Nobody agreed what to do when a rep leaves

Account ownership, territory and rep codes usually exist in both systems with different lists and different spellings. When someone leaves or a territory is redrawn, an unmapped rep code silently breaks assignment, commission reporting and the sync itself. Maintain one owner list, map codes explicitly, and make reassignment a deliberate process rather than a spreadsheet someone edits at quarter end.

The integration is only tested with clean new records

Testing with a freshly created customer proves almost nothing. The records that break integrations are the fifteen year old ones: missing ABNs, apostrophes and ampersands in entity names, addresses in a single free text field, contacts who left in 2019, inactive accounts with open credits. Test on a copy of real data including the worst of it, and expect a first pass to surface data cleanup work that should be priced separately.

How Yes AI Approaches CRM and ERP Integration

Field level ownership agreed up front

We produce a one page map of which system owns each field, which direction it moves, and what happens on conflict. It is signed off by whoever owns sales reporting and whoever owns the ledger, before any build starts, because a disagreement found after the build has started means rework.

A quote to order path your reps will actually use

Live pricing where it matters, approval routing for discounts, and a handoff that carries delivery instructions and required dates rather than dropping them. We design it around how your reps genuinely quote, including the ones who still work from a spreadsheet in the car, rather than around an idealised process.

Built, hosted and monitored by us

The connection runs on a managed cloud automation layer that we operate, with same day failure alerting and record level logging. You do not run servers or keep scripts alive, and a failed connection, such as one caused by a vendor changing an authentication flow, raises an alert to us.

Honest advice about off the shelf connectors

If your CRM and ERP are both mainstream, you use standard objects and you have one entity and one price list, a supported connector may be all you need, and we will tell you so. Custom work earns its keep when pricing rules are genuinely yours, when several entities or currencies are involved, or when the handoff has to carry fields the connector never contemplated.

How the Work Runs

Five steps. The first flow, usually quote to order or account matching, is typically live in weeks four to six.

Map the customer lifecycle across both systems

We trace a customer from first enquiry to paid invoice, noting every point where data is retyped, every spreadsheet in the middle, and every question one team has to ask another. Hours and error rates get attached to each, which is what makes the business case arguable rather than assumed.

Agree ownership, matching and definitions

Field level ownership, the matching rules and their fallbacks, the GST convention for deal values, and the agreed bridge between pipeline and invoiced revenue. This is the step people want to skip and the one that determines whether the numbers are trusted in two years.

Specify each flow in plain English

Trigger, fields, direction, matching, conflict handling, exception routing and who clears the queue. Written so a sales manager and a financial controller can both check it without a developer translating. You approve before we build.

Build against official APIs and test on real data

Idempotent writes so a retry updates rather than duplicates, rate limiting sized to your peak, and testing on a copy of your actual records including the awkward historical ones. Then a watched go live on one flow, not all six at once.

Monitor, tune and extend

Same day alerting, a short exception queue with reasons attached, and tuning of matching rules against real traffic in the first months. New flows are added to the same layer as your needs grow, with the documentation updated each time.

FAQ

What does CRM and ERP integration actually involve?

In practice it is six flows, not one connection. Mastering accounts and contacts so both systems agree who the customer is. Turning accepted quotes into sales orders without re-keying. Showing sales the credit and receivables position as read only. Bringing sellable items, price groups and indicative availability into the CRM. Driving deal status from real ERP events such as shipment and invoice. And surfacing a summary of order, returns and service history on the account. Each is scoped, priced and tested separately, and most businesses start with two.

Should the CRM or the ERP be the source of truth for customers?

Neither, as a whole record. Split it by field. The ERP should own the legal and financial identity: entity name, ABN, billing address, payment terms, credit limit, tax treatment. The CRM should own the relationship: contacts and their roles, activity and notes, account owner, campaign membership, opportunity data. Once that is written down, most of the arguments about mastership disappear, because each team keeps authority over the fields it is accountable for.

Can our reps quote using ERP pricing without opening the ERP?

Yes, and that is usually the right design. The CRM asks the ERP for the price of this item for this customer at this quantity, and shows the answer on the quote line with a timestamp. Discounts beyond a set threshold route for approval and are written back with a reason. The alternative, pushing price lists into the CRM nightly, is simpler and acceptable if your pricing is stable, as long as everyone accepts that the ERP price wins at order entry.

Do we need every invoice in the CRM?

Almost certainly not, and asking for it is one of the more expensive requests in this kind of project. Replicating transaction detail consumes API quota, slows the CRM, increases storage costs and creates a second ledger that drifts from the first. Sales needs year to date spend, the last few orders, what is overdue and what is on backorder. Push those as summary fields, and deep link to the ERP for the detail, which is also better for access control.

Why do our CRM and ERP revenue numbers never agree?

Usually three reasons stacked on top of each other. First, GST: a deal value entered including GST reads 10 percent higher than the same sale in an ex GST ledger, because the GST is one eleventh of the GST inclusive amount, and the gap is easy to miss for months. Second, timing: closed won is the date a customer said yes, invoiced revenue is the date goods went out, and a quarter boundary between them can move a large amount from one quarter to the next. Third, definitions: partial shipments, cancellations and credits are handled differently in each system. Agree one bridge between the two numbers and report the gap rather than pretending it should be zero.

Is an off the shelf connector good enough?

Sometimes. If both systems are mainstream, you are using standard objects, you have one legal entity, one currency and one price list, a supported connector is often the cheapest sensible answer and we will say so. It stops being enough when your pricing has real logic in it, when several entities or currencies are involved, when quotes must carry custom fields, or when you need approval routing and exception handling that the connector does not contemplate. Test the connector against your awkward cases as well as your common ones.

How long does it take and what breaks afterwards?

A first flow is typically live four to six weeks after scoping, with the full set staged over a few months. What breaks later is predictable: a vendor changes an API or an authentication flow, someone adds a required field in the CRM, a new entity or price group appears, or a territory is redrawn and rep codes stop matching. This is why the integration needs monitoring, a named owner and a maintenance budget from the start, rather than being treated as a project that finishes.

Get Sales and Finance Onto the Same Customer

Book a call. We map the customer lifecycle across both systems, show you where the re-keying and the disagreements are, and give you a priced plan for the flows worth connecting first.

All discussions held in confidence. Australian-based consultants.