- Time entry input
- Entry approvals
- Ticket linkage
- Billable rate context
A continuous cycle, four stages. A tech logs time in ConnectWise. The entry is approved. Connect Zero lifts it into a Xero payroll timesheet on the next cycle. The compliance dashboard updates. If the entry is missing past the threshold, an SMS reminder fires. No CSV, no retyping, no Friday chase.
Tech logs against ticket, agreement or project.
Only approved entries cross the wire.
Continuous schedule, default every six hours.
Dashboard live. SMS only if past threshold.
ConnectWise is the source of truth for time entries. When a tech logs hours against a ticket, an agreement, or a project, the entry sits in ConnectWise as draft. The tech or their manager approves it. Approved entries are what Connect Zero reads. Connect Zero polls the ConnectWise REST API every six hours by default (configurable). For each new or edited approved entry since the last sync, it builds a Xero payroll timesheet line for the matching staff member and pay period, then writes it to the Xero Payroll API.
Xero remains the source of truth for the pay run itself. Connect Zero does not approve pay runs, does not lodge super, does not calculate PAYG. Those steps happen in Xero, by your payroll administrator, on your schedule. Connect Zero's job stops at the Xero timesheet line. If a Xero timesheet is edited after it lands (rare, but possible), Connect Zero does not overwrite; Xero wins for downstream payroll state. ConnectWise wins for the upstream time-entry source.
The default sync interval is every six hours. That means four cycles per day: 06:00, 12:00, 18:00, 00:00 (Adelaide time). On most days, most time entries flow through within six hours of being approved. The interval is configurable in your tenant settings, from hourly to twelve-hourly. Higher frequency is fine; the ConnectWise and Xero APIs both rate-limit gracefully, and Connect Zero respects their thresholds.
Setting the sync interval is a trade-off between freshness and API pressure. For most teams of 5 to 50 staff, six hours is the sweet spot. Teams of 50+ may want a longer interval (eight or twelve hours) to keep API call counts comfortable. Smaller teams can go as low as one hour without issues. Setup walks you through the choice.
A tech edits an approved entry after it has already synced. The next cycle picks up the edit and updates the Xero timesheet to match. The audit log records the original entry, the edited entry, and the timestamp of each.
A time entry logged at 23:50 on a Sunday at the end of a fortnight is allocated to the correct pay period per your Xero payroll settings. Connect Zero reads your Xero pay calendar at sync time and uses the boundary rules Xero already enforces.
Rarely, a ConnectWise restore can re-use a time-entry ID for a different actual entry. Connect Zero dedups against the entry's content fingerprint (staff ID, ticket ID, hours, date) not just the ID alone, so a restored entry that is genuinely different does not collide with the original.
When you have multiple Xero organisations under one ConnectWise instance, per-staff mapping decides which Xero org each member's hours land in. The mapping is set at setup, can be edited per staff member, and can be bulk-imported from CSV.
Only approved time entries sync. Draft, pending, and rejected entries are skipped. The compliance dashboard distinguishes "logged but not approved" from "not logged" so you can see where the bottleneck sits.
API outages on either side trigger exponential back-off retries. Status surfaces on the dashboard in real time. Multi-hour outages catch up automatically on the next regular cycle. Nothing is lost.
Connect Zero stores tenant credentials and sync state in an AU-hosted database. ConnectWise API keys are encrypted at rest using AES-256. Xero is OAuth-2 with the standard 30-day refresh-token cycle. We never persist the actual content of time-entry notes or work descriptions, only the structured fields needed for payroll. The audit log retains sync events for 90 days, then purges. If you need a longer retention window for compliance reasons, configure it per tenant.
Connect Zero respects ConnectWise role-based access on its API tokens. We recommend a dedicated integration user in ConnectWise with permissions scoped to time-entry read and member read. For Xero, the OAuth scope is payroll.timesheets plus payroll.employees.read. If you revoke either credential from the source system, Connect Zero stops syncing on the next cycle and surfaces the failure on the dashboard.
The setup walkthrough takes 10 minutes. Five steps, dry-run mode first, then live sync. Most customers are running a first cycle within an hour of signup.

Summarize your business so the visitor can learn about your offerings from any page on your website.