- Time entry input
- Entry approvals
- Ticket linkage
- Billable rate context
From clock-in to Xero payroll timesheet
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.
Time entered in ConnectWise
Tech logs against ticket, agreement or project.
Approved by tech or manager
Only approved entries cross the wire.
Synced to Xero payroll
Continuous schedule, default every six hours.
Compliance updated, reminders fired
Dashboard live. SMS only if past threshold.
The data that moves between systems
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.
- Sync schedule
- Staff mapping
- Compliance tracking
- SMS reminders
- Pay run execution
- Tax and PAYG
- Super lodgement
- Leave balances
The schedule, in plain English
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.
Edge cases that show up in the real world
Mid-week edits
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.
Pay-period boundaries
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.
Restored backups (CDR-ID reuse)
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.
Multi-org Xero
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.
Approval workflows
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.
Connection drops, retries
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.
What we do with your data
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 minimum to run the sync
- Encrypted ConnectWise and Xero credentials
- Sync state, watermarks, last-cycle stats
- Audit log of sync events (30 to 365 days, by tier)
- Staff-mapping table (CW member to Xero employee)
- SMS reminder schedule and template
Things we deliberately do not touch
- Free-text work descriptions or ticket bodies
- Customer PII beyond what is in the staff record
- Pay rates, super balances, or tax info from Xero
- The content of SMS replies from staff
- Anything from ConnectWise outside time-entry tables
Read the setup guide
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.
