Xero Integration
ShiftCare HR connects to Xero Payroll so employee master data, leave requests, and payslips stay in sync between both systems. This page covers connecting Xero, mapping leave types, monitoring sync health, syncing individual records, viewing payslips, and disconnecting.
Connect to Xero

- Go to Company Settings → Integrations.
- Click Connect on the Xero Payroll card.

- Sign in to Xero in the login window that appears.

- Select your organisation and click Allow Access.

- Wait for the sync progress bar to complete.
- The card shows a green Connected badge when done.
The Leave Mapping and Sync Health tabs stay greyed out until Xero is connected. Hovering a locked tab shows a Connect Xero first hint. Only the Overview tab is available beforehand.
Overview Tab

- Employee Master Data, Leave Requests, and Payslips are synced.
- The Sync Status card (right side) shows the last sync time and error count.
- Click View Dashboard to jump to the Sync Health tab.
Leave Mapping Tab

- Open the Leave Mapping tab (available after connecting).
- For each HR leave type, select the matching Xero Pay Item from the dropdown.
- Leave types that should not sync to Xero can be left blank or set to Do Not Sync.
- Click Save Changes. A green alert confirms the save.
Sync Health Tab

The breakdown table shows Synced / Failed counts and success rate per component.
- Success rate ≥ 95% is shown in green; below 95% shows a warning.
- The Sync Errors panel lists individual failed records with error details.
- Use the search box or component filter to narrow down errors.
- Click Refresh Data to reload the latest status from the server.
Manual Sync
Click the ↻ (Sync Now) icon in the card header.
- The icon shows a loading spinner while syncing.
- The Last Sync timestamp in the Overview tab updates when complete.
This syncs everything at once. To push a single employee or a single leave request, use the per-record options below.
Resigned employees who have never been linked to Xero are skipped during this sync, since creating them in Xero for the first time would add them as terminated. Resigned employees already linked to Xero still sync, so their resignation reaches Xero.
Sync a Single Employee
You can push one employee to Xero from their profile, without running a full sync.
Go to Employee Management, open the employee, and look at the badge row in the profile header.
The badge only appears when Xero is connected. It shows one of four states:
| Badge | Meaning |
|---|---|
| ✓ Xero Synced | The employee has been pushed to Xero successfully. |
| ⏳ Xero Syncing... | A sync is in progress. |
| ✗ Xero Sync Failed | The last attempt failed. |
| ⚠ Xero Not Synced | The employee has never been pushed to Xero. |
To sync:
- Click the badge. Hovering it first shows what the click will do — Click to sync to Xero, Click to re-sync to Xero, or Sync failed. Click to retry.
- A Xero Sync confirmation appears. For an employee who has never synced it reads "Confirm manual sync to Xero for this employee?"; for one already synced it reads "This employee has already been synced to Xero. Do you want to re-sync?"
- Click Confirm, or Cancel to abort.
- A Xero sync initiated successfully message appears. The badge switches to Xero Syncing... and the profile refreshes a couple of seconds later with the final result.
The badge is clickable in every state, including Xero Synced — use it to re-push an employee after correcting their pay or tax details.
Re-syncing never overwrites what you maintain in Xero itself. These are sent when the employee is first created, and then left alone on every sync afterwards:
| Held in Xero | Why it is never re-sent |
|---|---|
| Earnings lines on the pay template, and the employee's ordinary earnings rate | HR only knows the ordinary line, so re-sending it would delete allowance, overtime and penalty-rate lines you added in Xero; the ordinary rate itself is also only set when the employee is first created |
| First and last name | HR holds one combined name field. It's split into first/last only when the employee is first created — a name change made in Xero afterwards is never overwritten by a re-sync |
| Bank accounts | HR holds one account. A customer splitting pay across several would have those splits collapsed to one |
| Tax declaration | HR knows only the TFN and employment basis, so a fuller declaration maintained in Xero would be replaced by a partial one |
| Home address, date of birth, and gender | Only when HR holds no real value — the placeholder or default used to create the employee is never sent over the address, date of birth, or gender you hold in Xero |
Sync a Single Leave Request
Approved leave can be pushed to Xero individually from the leave list.
Go to Leave Management and find the request in the list. When Xero is connected, each row gains a Xero sync tag.
| Tag | Meaning |
|---|---|
| Xero ✓ | The leave request synced successfully. |
| Xero ✗ | The last sync attempt failed. |
| Xero Not Synced | The employee this leave belongs to has never been synced to Xero. |
| Xero — | Not yet synced. |
- Click a tag showing ✗ or —.
- Confirm Sync this leave request to Xero?
- The result appears as Xero sync success or Xero sync failed.
The tag appears only on requests with an Approved status. Pending and rejected requests are never pushed to Xero. Rows already showing ✓ are not clickable — there is nothing left to retry. Rows showing Xero Not Synced aren't clickable either — hovering explains why ("This employee has not been synced to Xero yet"); sync the employee first (see Sync a Single Employee), then retry the leave sync.
Payroll History and Payslips
Payslips are imported from Xero and shown per employee.
Go to Employee Management, open the employee, and select the Pay and Compensation tab. Employees reach the same view themselves under My Profile → Pay and Compensation.
The Payroll History table lists each imported payslip with its pay period, net pay, and Xero status.
- Use the year dropdown to filter to a single year, or clear it to see all.
- Click Refresh to re-pull payslips from Xero.
- Long histories are paginated.
- Only the most recent pay runs are imported from Xero - up to 20, newest first.
Viewing a payslip
Click View on any row to open the Payslip Details dialog.
The dialog shows the pay period and Xero PayRun ID, followed by:
| Field | Notes |
|---|---|
| Payment Date | Date the pay run was paid. |
| Pay Run Status | See the status table below. |
| Wages | Gross earnings for the period. |
| Tax | Deducted from gross. |
| Superannuation | Deducted from gross. |
| Deductions | Other deductions. |
| Reimbursement | Added to net. |
| Net Pay | Final amount paid. |
Use Back to profile to close the dialog.
Pay run statuses
| Status | Meaning |
|---|---|
| DRAFT | Created in Xero but not yet posted. |
| POSTED | Posted to Xero. |
| VOIDED | Cancelled — the payslip no longer applies. |
| COMPLETED | Fully processed and paid. |
Leave History on the same tab
Below Payroll History, the Leave History table repeats each approved request with a Xero Sync column showing Synced or Error. This is a read-only view — to retry a failed push, use Sync a Single Leave Request.
In the current build, the Xero Status column in the Payroll History table displays Synced for every row regardless of the record's real state. Treat it as a placeholder and confirm the actual status against the Sync Health tab. The Pay Run Status inside the Payslip Details dialog is accurate.
What Gets Synced
Sync activity is recorded against five record types, which are the categories you'll see broken out in the Sync Health tab and its error list:
| Type | Direction | Covers |
|---|---|---|
| Employee | HR → Xero | Employee master data, tax and employment details. |
| Leave Request | HR → Xero | Approved leave requests. |
| Leave Type | HR → Xero | Leave type to Xero pay item mappings. |
| Superfund | HR ↔ Xero | Superannuation fund details. |
| Payslip | Xero → HR | Imported payslips for employee viewing. |
Troubleshooting
| Symptom | What to check |
|---|---|
| Leave Mapping and Sync Health tabs are greyed out | Xero isn't connected. Complete Connect to Xero first. |
| After signing in to Xero you're returned to Company Settings, but Xero still isn't connected | The Xero login link expires 10 minutes after you click Connect, and only works once. If you took too long to sign in, or reused an old link, click Connect again to start over. |
| An employee fails to sync repeatedly | Open their profile and confirm tax and employment details are complete, then click the badge to retry. |
| A new employee is never created in Xero | Confirm the employee has a payroll email, and that no more than one Xero employee uses it. If your Xero organisation has no current ordinary earnings rate, set one up in Xero, then retry. |
| A new employee's sync fails mentioning an ordinary earnings rate | Open the employee, go to the Employment tab, edit, and under Pay details choose a Xero Ordinary Rate, then retry. This is needed when your Xero organisation has more than one current ordinary earnings rate, and can only be chosen before the employee is linked to Xero. Or create the employee in Xero using the same payroll email. |
| Approved leave shows Xero ✗ | Check that the leave type has a Xero Pay Item mapped on the Leave Mapping Tab. Unmapped types cannot sync. |
| Success rate dropped below 95% | Open Sync Health, filter the Sync Errors panel by component, and work through the individual failures. |
| No payslips appear for an employee | Payslips only import once a pay run exists in Xero. Click Refresh on the Pay and Compensation tab. |
| Sync stopped entirely | Confirm the card still shows Connected — an expired Xero authorisation returns the card to its unconnected state. |
Disconnect
Click the power icon in the card header.
- Confirm by clicking Disconnect in the dialog. Click Cancel to abort.
- The card returns to the unconnected state. No further data will sync.
Disconnecting stops all syncing immediately, including payslip imports. Per-employee and per-leave sync badges disappear from the interface until Xero is reconnected.
- For mapping HR leave types to Xero pay items, see also the Xero Leave Mapping section on the Leave Management page.
- For super fund details that sync alongside employee data, see Superannuation.
- For the Integrations tab in context, see Company Settings.