How it works

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.

1
ConnectWise change

A new invoice, procurement, payment, or credit note is created or edited

live
2
Connect Zero reads

Next scheduled cycle polls the ConnectWise API for changes since the last watermark

~6h default
3
Map to Xero org + account

Location, staff, or tag routing decides which Xero org receives the record

in cycle
4
Write to Xero

Record lands in Xero as draft or approved per your settings

in cycle
5
Audit log + exception emails

Every request and response captured. Failures emailed to the configured address

post cycle

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.