You've just pulled your monthly revenue report from your invoicing platform. The number looks healthy. Then you open your accounting software and reconcile against it. The totals don't match. Not by a little—by enough to raise a flag with your accountant. This happens more often than you'd think, especially as you scale beyond a handful of invoices per month. The gap isn't always a data sync failure or a lost transaction. More often, it's one of five systemic causes that sit quietly in the margins of your invoicing and accounting workflows, creating divergence that compounds month over month. Understanding where these gaps hide—and how to audit for them—is the difference between a finance team that sleeps soundly and one that spends Friday nights chasing phantom transactions. 1. Multicurrency rounding eats the pennies When you invoice a client in SGD but your accounting software records everything in INR (or vice versa), every conversion introduces rounding. Your invoicing platform might round to two decimal places at the transaction level. Your accounting software might round at the ledger level. A third system—your payment processor—might round yet again. Across 300 invoices in mixed currency, those fractional rupees add up. How to audit it: Export all invoices from your invoicing platform filtered to non-native currency. Include the invoice amount, the currency, the exchange rate used, and the converted amount. Export the same period from your accounting software's transaction register. Filter to non-native currency entries. Create a reconciliation sheet: invoice amount × exchange rate from invoicing platform vs. the amount recorded in accounting. Sum the rounding variance. If it's more than 0.1% of total revenue, you've found a systemic rounding rule difference. Check if your invoicing platform has settings to align rounding behavior with your accounting software. Most modern platforms allow you to choose rounding method (standard, banker's, truncate). Xero, for instance, has a rounding preference in Settings → General Settings. QuickBooks Online rounds at the line level by default, but you can adjust this during invoice creation by using discount or adjustment rows to absorb the difference. 2. Partial payment allocation is invisible in one system A client pays ₹40,000 against an invoice for ₹50,000. Your invoicing platform records this as a partial payment and updates the invoice balance to ₹10,000. Your accounting software, if not synced, might treat the full ₹50,000 as revenue and the ₹40,000 as an unlinked credit in Accounts Receivable. The revenue number is the same, but the allocation is broken. When you try to reconcile AR aging, the numbers scatter like dropped coins. How to audit it: Run an Accounts Receivable aging report from both systems for the same date. Export both. Match invoices by invoice number and client name. For each invoice, compare the outstanding balance in invoicing vs. accounting. If invoicing shows ₹10,000 outstanding but accounting shows ₹50,000, you have an allocation mismatch. The payment linked to the invoice in one system but not the other. Trace the payment: does it exist in both systems? Is it linked to the invoice in accounting? Pull the bank reconciliation to confirm the payment cleared. If payments sync from your invoicing platform to accounting, check the integration logs. Most platforms (Xero, QuickBooks) log sync events. Look for partial payment transactions that may have failed or been retried. In Xero, use the Unpaid Invoices report filtered by date. In QuickBooks, run Transaction List by Customer and filter to unpaid invoices. If the same invoice appears on both lists with different balance amounts, your sync is out of step. 3. Tax code drift—different classification, same invoice You create an invoice in your invoicing platform with tax code Standard Rate (9%) . Your accounting software, if not set to sync tax codes automatically, might require manual entry—and someone classifies it as Reduced Rate (5%) . Or the invoice syncs with no tax code at all, and accounting staff applies one later. Now the revenue is the same, but the tax liability is different. And if tax is calculated at sync time rather than at edit time, the invoice total in invoicing won't match the posted total in accounting. How to audit it: Export all invoices from your invoicing platform for the period in question. Include the line items, tax codes applied, and calculated tax amounts. Export the same invoices from accounting (usually via GL or transaction export). Include tax code and tax amount per line. Create a reconciliation: for each invoice, compare the tax code and the tax amount between systems. If they differ, check when the mismatch occurred. Did the invoice sync before the tax code was updated in accounting? Or was the tax code never synced and applied manually? If your invoicing platform has a sync log (Xero and QuickBooks both do), check the timestamp of when the invoice was post