Xero (Edge)

Last updated on Aug 12, 2026

Xero is a cloud-based accounting platform used by small and medium-sized businesses to manage their finances online. It enables you to send and track invoices, reconcile bank transactions, manage fixed assets, run payroll, and track projects, connecting your business with a network of accountants, bookkeepers, and banks.

Hevo uses the Xero Accounting, Assets, Files, Projects, Payroll AU, and Payroll NZ REST APIs to replicate data from your Xero organization to the Destination of your choice. Hevo supports the following authentication methods to connect to your Xero organization:

  • Custom Connection: Uses the client credentials of a Xero Custom Connection app you create. It is available only for Xero organizations in Australia, New Zealand, the United Kingdom, and the United States.

  • Web App: Uses your own Xero OAuth app and the Open Authorization (OAuth) 2.0, so you can choose which Xero organization the connection can access.


Supported Features

Feature Name Supported
Capture deletes Yes
History mode No
Custom data (user-configured tables & fields) No
Data blocking (skip objects and fields) Yes
Resync (objects and Pipelines) Yes
API configurable No

Handling of Deletes

Hevo handles deleted records differently based on how data is ingested for each object. For most objects, Xero does not permanently delete records. Instead, it updates the object’s status field to a value such as DELETED, VOIDED, or ARCHIVED. Hevo captures this updated status but does not set the __hevo__marked_deleted metadata column to true. To identify deleted records in the Source, use the object’s status field.

For the Contact object, Xero does not permanently delete contact records. Instead, Xero marks an archived or GDPR-erased contact by setting the ContactStatus field to ARCHIVED or GDPRREQUEST. Hevo ingests these records and marks them as deleted in the Destination by updating the value of the metadata column __hevo__marked_deleted to True.

For the child object Contact Group Member, Hevo ingests the entire data during each sync. If a contact is removed from a group in Xero, the corresponding record is no longer present in the Destination after the next Pipeline run.


Source Considerations

  • The AU Payroll and NZ Payroll objects are available only for Xero organizations based in Australia and New Zealand, respectively, that have completed Xero’s Payroll setup process.

  • Xero does not update the updated_date_utc field on every change to a record. For example, some field-level changes do not update this timestamp. As a result, such changes may not be captured during incremental Pipeline runs. To retrieve the latest values for these fields in your Destination, you can resync the corresponding objects at regular intervals.


Limitations

  • Hevo does not support ingestion of Xero Payroll UK objects. Only the Payroll AU and Payroll NZ objects are supported.

  • Hevo supports connecting to only one Xero organization per Pipeline. To ingest data from multiple Xero organizations, create a separate Pipeline for each organization.


Revision History

Refer to the following table for the list of key updates made to this page:

Date Release Description of Change
Aug-11-2026 NA New document.

Tell us what went wrong