Your CRM says the deal is closed and invoiced. Your accounting system says the payment hasn't cleared. Your team says they sent an invoice weeks ago. Three different truths, zero shared foundation—and month-end close turns into a three-day firefight to make the numbers match. This isn't a process problem or a people problem. It's a data sync problem, and it lives in nine specific places where CRM records and general ledger entries stop talking to each other. These breaks aren't exotic edge cases. They're baked into how most CRM-accounting workflows operate, and each one erodes audit confidence and slows reconciliation. Let's map the nine breaks, show you how to spot them, and build an audit checklist you can run monthly in 90 minutes. Break 1: Duplicate contacts collapse into one invoice You created "Acme Inc" in January. Your colleague created "Acme Incorporated" in March. They're the same company, but your CRM sees two separate entities. The accounting system receives invoices from both records: Invoice #1001 to "Acme Inc" for $15,000 Invoice #1002 to "Acme Incorporated" for $8,500 During reconciliation, you merge the two contacts in the CRM. The merged contact now shows both invoices—but the GL still has them posted to two separate customer accounts. Your accounts receivable subledger won't reconcile because the GL customer master and the CRM contact record no longer match. Audit step: Run a duplicate contact report in your CRM. Flag records with the same company name, domain, or phone number created within 90 days of each other. Before merging in the CRM, check whether the GL customer master has already been consolidated or split. Post a consolidation journal entry in the GL if needed. Break 2: Currency conversion happens at invoice, GL posts at payment You invoice a client in SGD on day 1 at SGD 10,000 (USD 7,500 at 1.33). Your CRM records the deal amount as USD 7,500. The client pays SGD 10,000 on day 15, when the rate has moved to 1.35 (USD 7,407). Your accounting system posts the payment at USD 7,407, but the invoice is already recorded at USD 7,500. Now there's a $93 realized foreign exchange loss that has no owner in the CRM. During reconciliation, the deal still shows as "won" and "invoiced" in the CRM, but the GL shows a small loss. If multiple currencies flow through your pipeline, these gaps accumulate fast. Audit step: Pull a currency exposure report from your GL. For each transaction pair (invoice + payment), compare the invoice amount in the CRM to the invoice amount posted in the GL, and the payment amount to the GL receipt. Flag any difference larger than 0.5% of the invoice amount. Create a currency revaluation journal entry for the gap. Break 3: Tax allocation doesn't match invoice line items Your CRM deal shows total value $100,000. Your billing system auto-fills a 10% tax field (common for e-invoicing in Southeast Asia). Invoice line item 1 is $50,000 + $5,000 tax. Invoice line item 2 is $50,000 + $5,000 tax. Total invoice = $110,000. But your GL chart of accounts separates revenue, service tax payable, and tax expense into different accounts. If the invoicing system didn't post the tax split correctly—or if the tax was applied to only one of two line items—the GL revenue total will be $100,000 but tax payable will be $4,500 instead of $10,000. The invoice and GL won't foot. Audit step: For each invoice, compare the line-item total before tax (from the invoice) to the revenue amount posted to the GL for that same invoice. Cross-check tax amounts in a separate report. Use a vlookup or COUNTIFS formula to flag invoices where (line total) ≠ (GL revenue posting for that invoice ID). Break 4: Payment status lags 3–5 days behind cash receipt A check arrives on day 5. Your accounting team deposits it immediately and posts a cash receipt in the GL on day 5. But your CRM still shows the invoice as "sent—awaiting payment" until the client confirms receipt on day 8. Now your GL balance sheet shows cash + receivables totaling the invoiced amount, but your CRM shows the same amount as still outstanding. When you reconcile AR to the GL, you have a $X receivable balance in the GL (because the payment posted) but the same balance still showing as open in the CRM. This is a timing difference, but if you don't catch it, you'll assume there's a missing payment. Audit step: Pull a list of invoices marked "paid" in the CRM in the last 10 days. Cross-check that each one has a corresponding cash receipt in the GL within 2 days of the paid date. Flag any gap of 3+ days. Ask whether the payment cleared and whether CRM status was updated late. Break 5: Partial payments don't spawn a second invoice record Invoice #1001 is for $20,000. Client pays $12,000 as a deposit. Most CRM systems record this as a single invoice marked "partially paid" or "partially invoiced." But accounting systems often require two records: the original invoice #1001 for $20,000 and a credit memo or separate receivable for the unpaid $8,0