A record changes in ConnectWise. The next cycle writes it to Xero.
Connect Zero polls the ConnectWise Manage API on a configurable schedule (every six hours by default). Each cycle reads new and updated records since the last watermark, maps them to the right Xero organisation, account code, and tracking category, and writes them to the Xero API. Failures raise an exception; the next cycle retries. The cycle is idempotent.
A new invoice, procurement, payment, or credit note is created or edited
Next scheduled cycle polls the ConnectWise API for changes since the last watermark
Location, staff, or tag routing decides which Xero org receives the record
Record lands in Xero as draft or approved per your settings
Every request and response captured. Failures emailed to the configured address
The schedule in plain English
Default schedule runs every six hours. That covers most MSPs comfortably; new invoices land in Xero before the end of the working day. If you need faster, the schedule is configurable down to hourly. The faster the cycle, the more ConnectWise and Xero API calls per day; both APIs have generous rate limits but watch the daily quota at sub-hourly rates.
Default: every 6 hours
Four cycles per day. Suits MSPs running 50 to 500 records per month.
Configurable to hourly
Up to 24 cycles per day for higher-volume MSPs. Higher cycle counts use more API quota.
Force-sync any time
One-click force sync for individual records or whole record types. Bypasses the schedule on demand.
Edge cases the cycle handles
Mid-cycle edits
An invoice edited after it has synced replays on the next cycle. The Xero record updates to match.
Idempotent retries
If a cycle is interrupted (transient API error), the next cycle picks up exactly where it left off. No duplicate records.
OAuth refresh
Xero OAuth tokens refresh automatically on the standard 30-day cycle. Connect Zero handles refresh; you do not log back in.
Multi-currency invoices
Invoices in non-AUD currencies sync at the exchange rate captured in ConnectWise. Xero records the source currency and the exchange rate.
Pay-period boundaries
Invoices dated near a period boundary are allocated to the period per the date on the ConnectWise record, not the sync timestamp.
Mapping failures
Missing Xero contact, account code, or tracking category triggers an exception. Email lands in the next cycle. Force-sync once you fix the mapping.
Read the setup guide
Setup takes under thirty minutes. ConnectWise API credentials, Xero OAuth, mapping CSV, first cycle.
