TL;DR
Multi-currency sync from ConnectWise to Xero requires Xero Premium (AUD 99 per month per organisation in 2026) and a clear decision between one entity with multi-currency or one entity per legal jurisdiction. Connect Zero passes the currency code on the invoice payload; Xero applies the FX rate. Variance budget is under AUD 50 per month for a typical 50-invoice MSP. The hardest part is not the sync; it is the entity strategy.
The two viable patterns for multi-currency MSPs
An international MSP running ConnectWise PSA and Xero has two architecturally clean ways to handle multiple currencies. Pattern A: one Xero entity on the Premium plan, multi-currency enabled, invoices issued in customer-local currency, base reporting in the corporate base currency. Pattern B: separate Xero entities per legal jurisdiction, each on the Standard or Premium plan in its own base currency, ConnectWise locations or departments mapped one-to-one to Xero entities.
Pattern A suits MSPs operating under a single legal entity that bills across borders. A typical example: an Australian MSP with AUD as base currency, billing 70 percent of revenue to Australian customers in AUD and 30 percent to UK or NZ customers in GBP or NZD. The Xero Premium subscription covers up to AUD 99 per month per organisation as of May 2026 (Xero pricing, accessed 24 May 2026), and multi-currency invoicing supports over 160 currencies natively.
Pattern B suits MSPs with separate legal subsidiaries per jurisdiction. A typical example: an Australian parent with AUD base, a New Zealand subsidiary with NZD base, and a US subsidiary with USD base. Each subsidiary has its own Xero entity, its own bank accounts, its own tax registration. The sync layer (Connect Zero) targets the correct Xero entity per ConnectWise location, with no currency conversion happening at the sync layer.
Pattern A walkthrough: one entity, multiple currencies
For Pattern A, the Xero side is straightforward. Upgrade the Xero subscription to Premium. Enable multi-currency in Settings → Currencies. Add each currency you bill in (e.g. GBP, NZD, EUR). Xero will start using its daily-updated exchange rate against the base currency for any invoice issued in a foreign currency.
The ConnectWise side requires a per-customer currency override. In ConnectWise PSA, the customer record has an optional currency field; setting it to GBP (for example) tells ConnectWise to issue invoices for that customer in GBP. If the field is left blank, ConnectWise uses the system default (typically AUD for an Australian MSP).
The Connect Zero sync layer reads the currency code from each ConnectWise invoice and passes it through to the Xero invoice payload. Xero applies the exchange rate at invoice create time using the daily Xero rate, unless the sync admin has configured a rate-override (rare; most MSPs accept the Xero default rate).
The reconciliation pattern at month-end is: Xero P&L in base currency shows AUD-equivalent revenue across all currencies; Xero balance sheet shows GBP, NZD, and AUD receivables separately; Xero handles the realised and unrealised FX gain/loss accounts automatically. The MSP's bookkeeper does not manually compute FX deltas.
Pattern B walkthrough: one entity per legal jurisdiction
For Pattern B, the Xero side is one organisation per jurisdiction. The Australian parent has one Xero organisation in AUD; the US subsidiary has its own Xero organisation in USD. Each organisation has its own subscription (AUD 99 Premium plus USD 65 Premium, for example).
The ConnectWise side requires a location-or-department strategy. Set up one ConnectWise location per jurisdiction (Australia, US, NZ). Tag every customer with its corresponding location. Tag every invoice line with the same location at invoice creation. The location tag is what the sync layer uses to route the invoice to the correct Xero entity.
The Connect Zero sync layer in Pattern B is configured per-Xero-entity. Each Xero entity has its own OAuth connection, its own product-mapping and tracking-category mapping, its own filter on ConnectWise location. The sync writes Australian-tagged invoices to the Australian Xero entity (in AUD), US-tagged invoices to the US Xero entity (in USD), and NZ-tagged invoices to the NZ Xero entity (in NZD).
The reconciliation pattern at month-end is: each Xero entity reconciles to its own base currency, no FX gain/loss accounts at the sync layer. Consolidated reporting (combining Australian + US + NZ revenue into a single group view) happens outside Xero; typically in a Power BI or Looker dashboard fed by all three Xero APIs, with FX conversion applied at the reporting layer using a month-end rate.
Pattern A vs Pattern B: which fits
The decision tree is governed by your legal-entity structure, not your operational preference.
| Criterion | Pattern A (one entity multi-currency) | Pattern B (entity per jurisdiction) |
|---|---|---|
| Legal-entity structure | Single corporate entity | Separate subsidiaries per jurisdiction |
| Xero subscription cost (Premium) | AUD 99 per month | AUD 99 + USD 65 + NZD 80 = roughly AUD 250 per month |
| FX accounting | Native in Xero | Handled at consolidation layer |
| Tax registration | One jurisdiction | One per jurisdiction |
| Bank-account structure | Multi-currency bank accounts | Local bank accounts per jurisdiction |
| Connect Zero configuration | One sync connection, currency from ConnectWise | One sync connection per Xero entity, location-based routing |
| Month-end reconciliation | One reconciliation | Three reconciliations, one per entity |
| BAS / GST treatment (AU) | AUD-based, foreign currency converted in BAS | AUD entity does BAS; US entity does sales tax |
Numeric scenario: 50-invoice month across three currencies
A representative international MSP doing AUD 2 million revenue per year, with 70 percent of revenue from Australian customers in AUD, 20 percent from UK customers in GBP, and 10 percent from NZ customers in NZD. Total 50 invoices per month.
Under Pattern A: 35 invoices in AUD (AUD 117k revenue), 10 invoices in GBP (GBP 22k = roughly AUD 42k at 0.52 rate), 5 invoices in NZD (NZD 6k = roughly AUD 5.5k at 1.09 rate). Xero P&L base currency shows total AUD 164.5k revenue. Realised FX gain/loss account shows roughly AUD 80 to AUD 200 of monthly movement, depending on rate volatility.
Under Pattern B: AU entity shows AUD 117k revenue, UK entity shows GBP 22k revenue (no AUD conversion in entity P&L), NZ entity shows NZD 6k revenue. Consolidated reporting (in Power BI) shows AUD 164.5k at month-end rate. Three reconciliations, three closes, three BAS or VAT or GST returns.
Pattern A is operationally cheaper for this volume. Pattern B becomes operationally cheaper at higher per-jurisdiction volume (when each jurisdiction has 30+ invoices per month and its own dedicated bookkeeper).
Pitfalls and how to avoid them
- Setting customer currency in ConnectWise but not enabling Xero multi-currency. ConnectWise issues an invoice in GBP, the sync tries to create it in Xero, Xero rejects it because multi-currency is not enabled. The fix is to upgrade Xero to Premium before configuring the first GBP customer in ConnectWise.
- Treating Pattern A as a tax-saving move. Operating across borders under a single legal entity does not avoid the tax exposure in the customer's jurisdiction. A UK customer paying a UK-issued invoice may trigger UK VAT registration thresholds, which would still require a UK entity at scale.
- Forgetting the exchange-rate override. Xero uses its daily rate by default. If your contract with a UK customer specifies a fixed exchange rate (rare but common in long-term agreements), you need to override the Xero default rate on each invoice. Connect Zero supports per-invoice rate overrides via a ConnectWise custom field.
- Running Pattern B without location tagging in ConnectWise. The sync layer has no way to route invoices to the right Xero entity if the ConnectWise location field is blank. The fix is to back-fill location on all existing customers before turning on the sync.
- Underestimating FX-volatility impact on Pattern B reporting. Group-level consolidated reporting using a month-end rate produces choppy month-on-month revenue if exchange rates move. Use a rolling 90-day average rate for consolidation if smoothing matters.
Pricing reality for international MSPs in 2026
Xero Premium subscription pricing varies by region in 2026. AUD 99 per month per organisation in Australia (Xero AU pricing, accessed 24 May 2026); GBP 56 per month per organisation in the UK; USD 75 per month per organisation in the US. The Premium plan is the only Xero tier that supports multi-currency; Standard does not.
For Pattern A, the additional cost is one Premium upgrade. For Pattern B, the additional cost is one Premium subscription per entity (most international subsidiaries already need Premium for the multi-currency capability anyway, since they bill the local market in local currency).
Connect Zero pricing is identical for Pattern A and Pattern B; the sync layer charges per Xero entity or per ConnectWise customer count, not per currency. See the pricing page for the current AUD numbers.
The full product context is at the Connect Zero hub and the comparison with WiseSync (which supports multi-currency identically) is at vs WiseSync. The implementation playbook for switching from WiseSync to Connect Zero is at the WiseSync migration playbook. The tax-side considerations across jurisdictions are at the tax mapping guide. For Australian MSPs specifically, the BAS treatment under multi-currency is at the Australian MSPs and BAS guide. The tracking-category structure that multi-entity MSPs use is at the tracking categories guide.
Frequently asked questions
Does Xero support multi-currency invoicing?
Yes, on the Xero Premium plan (AUD 99 per month per organisation as of May 2026 per Xero pricing, accessed 24 May 2026). The Standard plan does not include multi-currency. Multi-currency invoicing in Xero supports over 160 currencies; the exchange rate is set per-invoice by default but can be overridden.
Does Connect Zero handle multi-currency invoices?
Yes, where the source ConnectWise invoice has a currency override and the target Xero entity is on the Premium plan. Connect Zero passes the currency code on the invoice payload; Xero applies the exchange rate at create time using the Xero default rate or an override the sync admin can configure.
Should I use one Xero entity per currency or one entity with multi-currency?
For MSPs with one corporate entity invoicing in multiple currencies (a UK MSP billing UK customers in GBP and EU customers in EUR), use one Xero entity on the Premium plan. For MSPs with separate legal entities per country (an Australian parent with a US subsidiary), use one Xero entity per legal entity, each in its own base currency, and let Connect Zero target the correct entity per ConnectWise location.
How are exchange-rate differences reconciled?
Xero handles exchange-rate movement automatically via the realised and unrealised foreign exchange gain/loss accounts. The reconciliation pattern is: invoice in foreign currency, payment in same currency, Xero calculates the FX delta against the base currency at month-end. Connect Zero does not touch the FX accounts; Xero handles them natively.
What is the variance budget for multi-currency reconciliation?
Under AUD 50 per month for a typical 50-invoice multi-currency MSP, driven by exchange-rate rounding at the second-decimal-place level. Material variance (over AUD 200) means a mapping or currency override is wrong.
About this article
Written by the Connect Zero team, an Australian-built ConnectWise to Xero sync sold by Auswide IT, an Australian MSP integration vendor based in Adelaide. We have configured Pattern A and Pattern B installs for international MSPs across Australia, New Zealand, the UK and the US. Last updated 24 May 2026.
