Skip to main content

Xero synchronisation reference

Understand how invoices, credit notes, bills, expense claims, allowances, timesheets and leave differ for Xero, including leave import cadence and finance sync pause during a Drum data import.

Written by Ben Walker

This reference describes the Xero integration. Do not assume the same behaviour applies to another finance connector.

Behaviour by record type

Record

Drum to Xero

Xero to Drum and limitations

Client invoice

An approved Drum invoice can create or update its linked Xero invoice, subject to finance access, validation and status restrictions. The project invoice-to company must map to a valid Xero Contact.

Refreshes can update invoice details, line items, dates, sent status and payment information. Changes are processed in the background, not guaranteed immediately.

Credit note

Create and approve a client credit note on the project's Credit Notes tab. An eligible Drum credit note can create its linked Xero credit note and allocate it to the linked invoice, subject to finance access, validation and status restrictions.

A credit note created only in Xero does not create a matching Drum credit note. Refreshes update an already-linked credit note only. Create credit notes in Drum when you need them on the project and in Xero. If one was already raised only in Xero, contact Drum support before you create another credit in Xero. Support may be able to link that existing Xero credit as a one-off. Otherwise coordinate with accounts on the Xero record, then create the matching credit note in Drum so project financials stay correct.

Project-cost bill

An eligible project cost can create or update a linked supplier bill. If Xero rejects the bill (including archived supplier contacts and nested line-item validation errors), Drum shows the Xero error messages and does not keep a bill status or Xero bill id on the cost. See If a supplier bill will not push to Xero.

Refreshes update bill status, dates, payment information and supported line-item details. Check the cost after editing the linked bill; this is not a guarantee that every field or deletion is mirrored.

Expense-claim bill

Eligible expense claim items are combined into a Xero bill. Manage the claim's items and project allocations in Drum.

Refreshes update claim-level status, dates, tax treatment, reference and payment information. They do not rebuild individual expense claim items from edited Xero bill lines.

Staff allowance

No Xero bill or payroll integration.

Allowances are a payroll concept. Process payment through payroll outside Drum and record payment in Drum when appropriate.

Timesheet (payroll hours)

No current Drum → Xero Payroll timesheet push for standard accounts. The older payroll timesheet UI was removed. Export hours with Insights Timesheet Summary, Detailed Timesheet or Single Staff Timesheet → Export Excel instead.

Xero does not write weekly timesheet hours back into Drum timesheets.

Leave

Drum does not send leave applications to Xero Payroll as a timesheet substitute.

When leave import from Xero is enabled and payroll employee / leave-type mapping is set up, eligible Xero leave can create leave time in Drum, including leave that starts on a future date. This is leave sync, not a timesheet → payroll hours push. There is no Refresh button on the timesheet for that import. Drum runs the import about every six hours. On Xero Staff Matching you can also select Sync Leave Now (about a five-minute cooldown between manual runs). Leave whose start date is before today is not imported automatically for Australian or New Zealand Xero Payroll; enter those days on the timesheet yourself when needed. Leave types appear under the Leave heading when Show on Timesheets is on in Settings → Leave Types, so staff can enter leave hours on the timesheet while the import catches up. Same-name duplicate leave types can confuse leave import (manual bookings and Xero imports can land on different rows). Clean duplicates first with Settings → Leave Types → Sync Leave Types (and Xero pay-item import for AU/NZ), which attaches a Xero leave type id to a same-name unlinked orphan, or moves tracked leave onto the already-synced row and archives the orphan when time credit types match. Deleted leave types stay deleted. Two different Xero ids, or two unlinked same-name rows without a matching Sync, stay separate. Healing needs an admin Sync Leave Types or a later leave / pay-item import; it is not automatic for every already-connected account. Steps and when Sync will not merge: If Detailed Timesheet shows two columns for the same leave type. Setup steps: How to import leave from Xero.

Purchase order

Use the current Drum purchase-order workflow to record the commitment before a supplier cost exists.

The old workflow that began by creating a cost is obsolete. Follow the current PO guides, then allocate supplier costs as they arrive.

Status and access matter

A finance action requires an appropriate connection or delegation and the relevant Drum permissions. Approval in Drum and status in Xero are separate. Xero can reject changes to records that are approved, paid or otherwise restricted.

Reverting an integrated expense claim to draft can void and recreate its linked bill. Coordinate corrections with your accounts team and check the resulting bill. Voiding or deleting a linked record in Xero can also affect its availability in Drum.

Check synchronisation

Check the integration status and errors in Drum, open the linked Xero record and confirm its details. Allow for background processing. Keep the exact Contact or Invoice validation text if Xero rejects the push. Confirm the invoice-to company still links to an active Xero Contact, and that the Xero connection has not expired.

If the records remain inconsistent, check the connection and contact Drum support before creating a duplicate. For a step-by-step checklist when a project invoice will not push, see If a project invoice will not push to Xero. For a rejected supplier bill from a project cost, see If a supplier bill will not push to Xero.

Leave import from Xero

Leave import is optional and only available for Australian and New Zealand Xero organisations with payroll access. Turn it on under Settings → Features → Finance with Import approved leave requests from finance integration.

Before leave can import for a person:

  • Match that person on Xero Staff Matching so their Drum staff row has a Xero employee id.

  • Map leave types so each Drum leave type used for import carries the matching Xero leave type id (use Settings → Leave Types → Sync Leave Types, or Xero pay-item import for AU/NZ).

What imports:

  • Australian Xero Payroll: leave periods in Scheduled or Processed status.

  • New Zealand Xero Payroll: leave periods in Approved or Completed status.

  • Applications whose start date is today or later, including future-dated approved leave.

What does not import automatically:

  • Leave whose start date is before today. For example, sick leave or leave without pay that already started in a past fortnight will not appear from the import. Enter those days on the timesheet (with Show on Timesheets on for that leave type), or ask Drum support about a one-off historical load.

  • Staff or leave types that are not matched to Xero.

Cadence: Drum queues leave import about every six hours for accounts with the feature on. Use Sync Leave Now on Xero Staff Matching when you need a run sooner. Manual syncs share a short cooldown (about five minutes) so repeated clicks do not stack against Xero rate limits. New leave usually appears on timesheets within a minute or two after a sync starts.

Use the leave list in Xero Payroll (for example a fortnight view) as the source of which approved leave should exist. After a sync, check the matching week on the staff timesheet in Drum.

Finance sync during a Drum data import

When the Drum team runs an import-mode data import with Xero still connected, Drum pauses finance sync for the account until the run finishes (or until a failed import with remaining imported records is resumed, cleared or locked for go-live). Manual pushes show an accounting-sync-paused alert; background syncs wait. Approve and send and similar flows keep their usual not-sent warning. Validate-only checks do not pause sync.

Related guides

Did this answer your question?