You invoice a client from your CRM, the invoice lands in Xero, and you wait. Three days later, the client pays. But your CRM still shows the deal as pending. You log into Xero, confirm payment cleared, switch back to the CRM, and manually move the deal to closed-won. This happens fifty times a month. This isn't a gap in your workflow. This is how Xero integrations actually work. The marketing language says 'seamless sync.' The reality is one-way, delayed, and full of manual approval loops that feel like they shouldn't exist. Here's what syncs, what doesn't, and which integrations are worth the setup cost for service businesses invoicing from the CRM. The one-way sync trap: invoices flow down, data doesn't flow back Most CRM-to-Xero integrations sync outbound well. You create an invoice in the CRM, hit 'send to Xero,' and within minutes it lands in Xero's inbox. Clean. Fast. Feels integrated. The return journey is the problem. Xero does not natively push invoice status, payment status, or client payment history back to the CRM. Some integrations attempt this via webhooks or scheduled syncs, but they're slow (30-minute delays are common), incomplete (they miss payment notes, discount adjustments, or partial payments), and often require manual approval before they land in the CRM. This means: Your CRM shows 'Invoice sent' but not 'Invoice paid.' A deal marked 'closed-won' may still have an unpaid invoice in Xero. Your sales forecast includes revenue you haven't actually collected. Client payment history lives only in Xero, invisible to the team using the CRM. For service businesses running retainers or milestone-based invoicing, this creates a reconciliation tax: someone has to log into Xero weekly, check what's paid, and manually update the CRM. Scale that to ten invoices a week, and you've lost three to five hours monthly to this one task. Which integrations actually move data in real-time (and which fake it) Not all Xero integrations are equal. Some integrate tightly with popular CRMs; others use Zapier or lightweight connectors that batch updates every thirty minutes. HubSpot + Xero: HubSpot's native Xero connector syncs invoices and basic contact info in both directions, but payment status sync is limited and slow. Deals tied to invoices don't automatically update when payment clears in Xero. You still need a manual approval step or a secondary automation to pull payment data back. Pipedrive + Xero: The Zapier-based integration is popular but not real-time. Invoices sync in roughly 15–30 minutes, and payment updates lag even further. For a deal closing today, the payment status won't reflect in Pipedrive until tomorrow. Freshsales + Xero: Freshsales' integration is tighter than most, but it still doesn't push paid invoices back automatically. You'll need internal automations to close the loop. Zoho CRM + Xero: Zoho, being part of a larger suite, offers more bidirectional sync than competitors, but even here, invoice approval steps are manual and payment reconciliation still requires weekly checks. The honest truth: no third-party CRM-Xero integration offers true real-time, fully bidirectional sync. Even 'tight' integrations lag on payment status and require manual approval for certain transactions. The approval loop nobody talks about Many CRM-Xero integrations require approval before an outbound invoice actually lands in Xero. You create and send the invoice from the CRM, but a manager or accountant has to approve it in Xero before it's treated as an official transaction. This isn't a security feature—it's a design limitation. Xero wants to be the source of truth for accounting, so it holds invoices in a queue until someone with Xero access reviews them. From a sales team's perspective, this creates a bottleneck: the CRM says the invoice is sent, but it's not legally binding or financially recorded until an accountant approves it in Xero. For a service business billing on milestones or retainers, this means: Invoices sit pending for 24–48 hours while they wait for approval. The sales team can't confidently tell a client 'your invoice is in your email' until approval happens. Approval failures are silent—invoices get rejected for tax code mismatches, missing tax IDs, or formatting issues, and the CRM never knows. Some teams work around this by running all invoices through a Xero approval workflow before creating them in the CRM. That defeats the point of using the CRM for billing in the first place. Tax codes, currencies, and the hand-off that breaks Xero is rigid about tax. Every invoice line needs a tax code, and those codes vary by country. A 10% GST code in Australia is different from a 7% GST code in Singapore, and many CRM-Xero integrations don't map them correctly. When the integration can't match a tax code from the CRM to Xero, it either fails silently (the invoice never syncs) or defaults to a generic code (your revenue gets misclassified and your tax report is wrong). Similarly, multi-currency