Xero integration summary

Stitch’s Xero integration replicates data using the Xero Accounting API. Refer to the Schema section for a list of objects available for replication.

Xero feature snapshot

A high-level look at Stitch's Xero (v1.0) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release Status

Released

Supported By

Stitch

Stitch Plan

Paid

Singer GitHub Repository

Xero Repository

DATA SELECTION
Table Selection

Supported

Column Selection

Supported

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Unsupported

Table-level Reset

Unsupported

Configurable Replication Methods

Unsupported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Xero

Xero setup requirements

To set up Xero in Stitch, you need:

  • A paid Stitch plan. While those currently in the Free Trial will also be able to set up Xero, replication will be paused until a paid plan is selected after the trial ends.

Step 1: Add Xero as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Xero icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Xero” would create a schema called stitch_xero in the destination. Note: Schema names cannot be changed after you save the integration.

Step 2: Define the historical sync

The Sync Historical Data setting will define the starting date for your Xero integration. This means that:

  • For tables using Incremental Replication, data equal to or newer than this date will be replicated to your data warehouse.
  • For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Xero’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 3: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Xero integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 4: Authorize Stitch to access Xero

Next, you’ll be directed to Xero’s website to complete the setup.

  1. Enter your Xero credentials and click Login.
  2. A screen asking for authorization to Xero will display. Note that Stitch will only ever read your data.
  3. From the dropdown menu, select the company you want to connect to Stitch.
  4. Click Authorise.
  5. After the authorization process successfully completes, you’ll be redirected back to Stitch.
  6. Click All Done.

Step 5: Set tables and columns to replicate

To complete the setup, you’ll need to select the tables and columns you want to replicate to your data warehouse.

Check out the Schema section to learn more about the available tables in Xero and how they replicate.

  1. In the list of tables that displays - or in the Tables to Replicate tab, if you skipped this step during setup - locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A green checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A green checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.

Note: If you change these settings while a replication job is still in progress, they will not be used until the next job starts.

Initial and historical replication jobs

After you finish setting up Xero, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Xero table schemas

Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

AccountId

API endpoint :

getAccounts

The accounts table contains info about the various accounts (ex: banking) connected to your Xero account.

AccountId
STRING

The account ID.

Reference:

UpdatedDateUTC
DATE-TIME

The date the account was last modified, in UTC.

Code
STRING

The alpha-numeric account code.

Name
STRING

The name of the account.

Type
STRING

The account type. Refer to Xero’s documentation for a list of possible account types.

ReportingCodeName
STRING

The name of the account’s reporting code, if set.

SystemAccount
STRING

If a system account, this field will contain the type of system account. Refer to Xero’s documentation for a list of possible system account types.

BankAccountType
STRING

For bank accounts only. Possible values are:

  • BANK
  • CREDITCARD
  • PAYPAL

TaxType
STRING

The account’s tax type. Refer to Xero’s documentation for a list of possible tax types.

Description
STRING

Not applicable to bank accounts. The description of the account.

Class
STRING

The account’s class. Possible values are:

  • ASSET
  • EQUITY
  • EXPENSE
  • LIABILITY
  • REVENUE

BankAccountNumber
STRING

For bank accounts only. If the account is a bank account (Type: BANK), this field will contain its bank account number.

Status
STRING

The status of the account. Possible values are:

  • ACTIVE
  • ARCHIVED

ShowInExpenseClaims
BOOLEAN

If true, the account code is available for use with expense claims.

CurrencyCode
STRING

For bank accounts only. The currency code the account uses.

Reference:

ReportingCode
STRING

The reporting code for the account, if set.

EnablePaymentsToAccount
BOOLEAN

If true, the account may have payments applied to it.

HasAttachments
BOOLEAN

If true, the account has an attachment.


bank_transactions

Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

BankTransactionId

API endpoint :

getBankTransactions

The bank_transactions table contains info about the bank transactions in your Xero account.

BankTransactionId
STRING

The bank transaction ID.

Reference:

UpdatedDateUTC
DATE-TIME

The date the bank transaction was last modified, in UTC.

Type
STRING

The bank transaction type. Refer to Xero’s documentation for possible transaction types.

Contact
OBJECT

LineItems
ARRAY

Details about the line items in the bank transaction.

LineItemID
STRING

The ID of the line item.

Description
STRING

The description of the line item.

Quantity
NUMBER

The quantity of the line item.

UnitAmount
NUMBER

The amount of the line item.

AccountCode
STRING

The account code associated with the line item.

ItemCode
STRING

The code associated with the item.

TaxType
STRING

The tax type associated with the line item.

LineAmount
NUMBER

The total of the line item, calculated as UnitAmount x Quantity.

TaxAmount
NUMBER

The total tax of the line item.

DiscountRate
NUMBER

The discount rate of the line item, if applicable.

Tracking
ARRAY

Details about the tracking categories applied to the line item, if applicable.

This will contain the same attributes as the tracking_categories table. Refer to the tracking_categories table schema for details.

bank_transactions (table), Tracking (attribute)
bank_transactions (table), LineItems (attribute)

BankAccount
ARRAY

Details about the bank account used in the bank transaction.

This will contain the same attributes as the accounts table. Refer to the accounts table schema for details.

bank_transactions (table), BankAccount (attribute)

IsReconciled
BOOLEAN

If true, then the transaction has been reconciled.

Date
DATE-TIME

The date of the transaction.

DateString
DATE-TIME

The date of the transaction.

Reference
STRING

The reference for the transaction. Only applicable to SPEND and RECEIVE transactions.

CurrencyCode
STRING

The currency that the bank transaction has been raised in.

Reference:

CurrencyRate
NUMBER

The exchange rate to base currency when money is spent or received. Only used for bank transactions in non-base currency.

Url
STRING

The URL link to a source document.

Status
STRING

The status of the bank transaction. Possible values are:

  • AUTHORISED
  • DELETED

LineAmountTypes
STRING

The type of amounts that the line items in the transaction contain. Possible values are:

  • Exclusive - Line items are exclusive of tax
  • Inclusive - Line items are inclusive tax
  • NoTax - Line items have no tax

SubTotal
NUMBER

The total of the bank transaction, excluding taxes.

TotalTax
NUMBER

The total tax of the bank transaction.

Total
NUMBER

The total of the bank transaction, tax inclusive.

PrepaymentID
STRING

The prepayment ID associated with the transaction. Applicable to bank transactions with Type: SPEND-PREPAYMENT or Type: RECEIVE-PREPAYMENT.

Reference:

OverpaymentID
STRING

The overpayment ID associated with the transaction. Applicable to bank transactions with Type: SPEND-OVERPAYMENT or Type: RECEIVE-OVERPAYMENT.

Reference:

HasAttachments
BOOLEAN

If true, the bank transaction has an attachment.


Replication Method :

Key-based Incremental

Replication Key :

CreatedDateUTC

Primary Key :

BankTransferID

API endpoint :

getBankTransfers

The bank_transfers table contains info about bank transfers.

BankTransferID
STRING

The bank transfer ID.

CreatedDateUTC
DATE-TIME

The date the bank transfer was created, in UTC.

FromBankAccount
OBJECT

Details about the source bank account.

This will contain the same attributes as the accounts table. Refer to the accounts table schema for details.

bank_transfers (table), FromBankAccount (attribute)

ToBankAccount
OBJECT

Details about the destination bank account.

This will contain the same attributes as the accounts table. Refer to the accounts table schema for details.

bank_transfers (table), ToBankAccount (attribute)

Amount
NUMBER

The amount that was transferred.

Date
STRING

The date of the transfer.

DateString
DATE-TIME

The date of the transfer.

CurrencyRate
NUMBER

The currency rate of the transfer.

FromBankTransactionID
STRING

The bank transaction ID for the source account.

Reference:

ToBankTransactionID
STRING

The bank transaction ID for the destination account.

Reference:

HasAttachments
BOOLEAN

If true, the bank transfer has an attachment.

CreatedDateUTCString
DATE-TIME

The date the bank transfer was created.


Replication Method :

Full Table

Primary Key :

BrandingThemeID

API endpoint :

getBrandingThemes

The branding_themes table contains info about your branding themes. A branding theme is customization you can apply to customer-facing documents such as invoices, statements, quotes, etc.

BrandingThemeID
STRING

The branding theme ID.

Reference:

Name
STRING

The name of the branding theme.

CreatedDateUTC
DATE-TIME

The date the branding theme was created, in UTC.

SortOrder
INTEGER

The ranked order of the branding theme. The default branding theme has a value of 0.


Replication Method :

Full Table

Primary Key :

ContactGroupID

API endpoint :

getContactGroups

The contact_groups table contains info about your contact groups. A contact group is a group of contacts that have something in common.

Note: Due to the limits of Xero’s API, only active contact groups (Status: ACTIVE) may be retrieved.

ContactGroupID
STRING

The contact group ID.

Reference:

Name
STRING

The name of the contact group.

Status
STRING

The status of the contact group. This will always be ACTIVE.

HasValidationErrors
BOOLEAN

If true, there are validation errors associated with the contact group.


Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

ContactID

API endpoint :

getContacts

The contacts table contains info about the customers and suppliers you do business with.

ContactID
STRING

The contact ID.

Reference:

UpdatedDateUTC
DATE-TIME

The date the contact was last updated, in UTC.

ContactNumber
STRING

An identifier for the contact used in an external system. In Xero, this is the Contact Code field in the Contacts UI.

AccountNumber
STRING

The account number associated with the contact.

ContactStatus
STRING

The current status of the contact. Possible values are:

  • ACTIVE
  • ARCHIVED

Name
STRING

The full name of the contact/organisation.

FirstName
STRING

The first name of the contact.

LastName
STRING

The last name of the contact.

EmailAddress
STRING

The email address of the contact.

SkypeUserName
STRING

The Skype username of the contact.

BankAccountDetails
STRING

The bank account number of the contact.

TaxNumber
STRING

The tax number of the contact. Depending on the version of Xero you’re using, this could be one of the following in the Xero UI:

  • Australia - ABN
  • New Zealand - GST Number
  • UK - VAT Number
  • US and global - Tax ID Number

AccountsReceivableTaxType
STRING

The default tax type used on AR invoices for the contact.

AccountsPayableTaxType
STRING

The default tax type used on AP invoices for the contact.

Addresses
ARRAY

Details about the contact’s addresses.

Region
STRING

The region associated with the address.

AddressType
STRING

The address type. Possible values are:

  • POBOX
  • STREET
  • DELIVERY - Note: This address type is not valid for contacts.

AddressLine1
STRING

The first line of the address.

AddressLine2
STRING

The second line of the address.

AddressLine3
STRING

The third line of the address.

AddressLine4
STRING

The fourth line of the address.

AttentionTo
STRING

The name of the addressee.

City
STRING

The city associated with the address.

PostalCode
STRING

The postal code associated with the address.

Country
STRING

The country associated with the address.

contacts (table), Addresses (attribute)

Phones
ARRAY

Details about the contact’s phone numbers.

PhoneNumber
STRING

The phone number.

PhoneAreaCode
STRING

The area code associated with the phone number.

PhoneCountryCode
STRING

The country code associated with the phone number.

PhoneType
STRING

The type of phone number. Possible values are:

  • DEFAULT
  • DDI
  • MOBILE
  • FAX
contacts (table), Phones (attribute)

IsSupplier
BOOLEAN

If true, the contact has AP invoices entered against them.

IsCustomer
BOOLEAN

If true, the contact has AR invoices entered against them.

DefaultCurrency
STRING

The default currency for raising invoices against the contact.

ContactPersons
ARRAY

Details about the contact persons associated with the contact.

FirstName
STRING

The first name of the contact person.

LastName
STRING

The last name of the contact person.

EmailAddress
STRING

The email address of the contact person.

IncludeInEmails
STRING

If true, the contact person should be included on emails with invoices, etc.

contacts (table), ContactPersons (attribute)

SalesDefaultAccountCode
STRING

The default sales account code for the contact.

PurchasesDefaultAccountCode
STRING

The default purchases account code for the contact.

SalesTrackingCategories
ARRAY

Details about the default sales tracking categories for the contact.

TrackingCategoryID
STRING

The tracking category ID.

Reference:

Status
STRING

The status of the tracking category.

TrackingCategoryName
STRING

The name of the tracking category.

Name
STRING

The name of the tracking option.

Option
STRING

The value of the tracking option.

Options
ARRAY

Details about the tracking option.

IsActive
BOOLEAN

If true, the tracking option is active.

IsDeleted
BOOLEAN

If true, the tracking option has been deleted.

TrackingOptionID
STRING

The ID of the tracking option.

IsArchived
BOOLEAN

If true, the tracking option has been archived.

Status
STRING

The status of the tracking option.

Name
STRING

The name of the tracking option.

contacts (table), Options (attribute)
contacts (table), SalesTrackingCategories (attribute)

PurchasesTrackingCategories
ARRAY

Details about the default purchases tracking categories for the contact.

TrackingCategoryID
STRING

The tracking category ID.

Reference:

Status
STRING

The status of the tracking category.

TrackingCategoryName
STRING

The name of the tracking category.

Name
STRING

The name of the tracking option.

Option
STRING

The value of the tracking option.

Options
ARRAY

Details about the tracking option.

IsActive
BOOLEAN

If true, the tracking option is active.

IsDeleted
BOOLEAN

If true, the tracking option has been deleted.

TrackingOptionID
STRING

The ID of the tracking option.

IsArchived
BOOLEAN

If true, the tracking option has been archived.

Status
STRING

The status of the tracking option.

Name
STRING

The name of the tracking option.

contacts (table), Options (attribute)
contacts (table), PurchasesTrackingCategories (attribute)

TrackingCategoryName
STRING

The name of the Tracking Category assigned to the contact.

TrackingCategoryOption
STRING

The name of the Tracking Option assigned to the contact.

PaymentTerms
ARRAY

Details about the contact’s payment terms.

Sales
OBJECT

Details about the payment terms used for sales transactions.

Day
INTEGER

An integer used with the payment term type to indicate the calendar date of the payment term used for sales transactions.

Type
INTEGER

The payment term type used for sales transactions. Possible values are:

  • DAYSAFTERBILLDATE - n day(s) after the bill date
  • DAYSAFTERBILLMONTH- n day(s) after the bill month
  • OFCURRENTMONTH - Of the current month
  • OFFOLLOWINGMONTH - Of the following month
contacts (table), Sales (attribute)

Bills
OBJECT

Details about the payment terms used for bills (invoices).

Day
INTEGER

An integer used with the payment term type to indicate the calendar date of the payment term used for bills.

Type
INTEGER

The payment term type used for bills (invoices). Possible values are:

  • DAYSAFTERBILLDATE - n day(s) after the bill date
  • DAYSAFTERBILLMONTH- n day(s) after the bill month
  • OFCURRENTMONTH - Of the current month
  • OFFOLLOWINGMONTH - Of the following month
contacts (table), Bills (attribute)
contacts (table), PaymentTerms (attribute)

ContactGroups
ARRAY

Details about the contact groups the contact is included in.

This will contain the same attributes as the contact_groups table. Refer to the contact_groups table schema for details.

contacts (table), ContactGroups (attribute)

Website
STRING

The website address of the contact.

BrandingTheme
OBJECT

Details about the branding theme applied to documents sent to the contact.

This will contain the same attributes as the branding_themes table. Refer to the branding_themes table schema for details.

contacts (table), BrandingTheme (attribute)

BatchPayments
OBJECT

Details about the batch payment details for the contact.

Details
STRING

Details about the batch payment.

Reference
STRING

The reference number for the batch payment.

Code
STRING

The code associated with the batch payment.

BankAccountNumber
STRING

The bank account number associated with the batch payment.

BankAccountName
STRING

The name of the bank account associated with the batch payment.

contacts (table), BatchPayments (attribute)

Discount
NUMBER

The default discount rate for the contact.

Balances
OBJECT

Details about the raw AR (sales invoices) and AP (bills) outstanding and overdue amounts associated with the contact.

AccountsReceivable
OBJECT

Details about the outstanding and/or overdue sales invoices associated with the contact, not converted to base currency.

Outstanding
NUMBER

The total amount of outstanding sales invoices associated with the contact.

Overdue
NUMBER

The total amount of overdue sales invoices associated with the contact.

contacts (table), AccountsReceivable (attribute)

AccountsPayable
OBJECT

Details about the outstanding and/or overdue bills associated with the contact, not converted to base currency.

Outstanding
NUMBER

The total amount of outstanding bills associated with the contact.

Overdue
NUMBER

The total amount of overdue bills associated with the contact.

contacts (table), AccountsPayable (attribute)
contacts (table), Balances (attribute)

HasAttachments
BOOLEAN

If true, the contact has an attachment.

HasValidationErrors
ARRAY

Details about any validation errors associated with the contact.

Message
STRING

The validation error message.

contacts (table), HasValidationErrors (attribute)

Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

CreditNoteID

API endpoint :

getCreditNotes

The credit_notes table contains info about credit notes. A credit note is similar to an invoice, except it reduces the amount you owe a supplier or the amount a customer owes you.

CreditNoteID
STRING

The credit note ID.

Reference:

UpdatedDateUTC
DATE-TIME

The date the credit note was last updated, in UTC.

Type
STRING

The credit note type. Possible values are:

  • ACCPAYCREDIT - An Accounts Payable (supplier) credit note
  • ACCRECCREDIT - An Accounts Receivable (customer) credit note

Contact
OBJECT

Details about the contact associated with the credit note.

This will contain the same attributes as the contacts table. Refer to the contacts table schema for details.

credit_notes (table), Contact (attribute)

Date
DATE-TIME

The date the credit note was issued.

DueDate
DATE-TIME

The due date associated with the credit note.

DueDateString
DATE-TIME

The due date associated with the credit note.

Status
STRING

The status of the credit note. Possible values are:

  • DRAFT
  • SUBMITTED - Awaiting approval
  • DELETED
  • AUTHORISED - Approved and awaiting payment OR partially paid
  • PAID - Completely paid
  • VOIDED

LineAmountTypes
STRING

The type of amounts that the line items in the credit note contain. Possible values are:

  • Exclusive - Line items are exclusive of tax
  • Inclusive - Line items are inclusive tax
  • NoTax - Line items have no tax

LineItems
ARRAY

Details about the line items contained in the credit note.

LineItemID
STRING

The ID of the line item.

Description
STRING

The description of the line item.

Quantity
NUMBER

The quantity of the line item.

UnitAmount
NUMBER

The amount of the line item.

AccountCode
STRING

The account code associated with the line item.

ItemCode
STRING

The code associated with the line item.

TaxType
STRING

The tax type associated with the line item.

LineAmount
NUMBER

The total of the line item, calculated as UnitAmount x Quantity.

TaxAmount
NUMBER

The total tax of the line item.

DiscountRate
NUMBER

The discount rate of the line item, if applicable.

Tracking
ARRAY

Details about the tracking categories applied to the line item, if applicable.

This will contain the same attributes as the tracking_categories table. Refer to the tracking_categories table schema for details.

credit_notes (table), Tracking (attribute)
credit_notes (table), LineItems (attribute)

SubTotal
NUMBER

The subtotal of the credit note, excluding taxes.

AppliedAmount
NUMBER

TotalTax
NUMBER

The total tax on the credit note.

Total
NUMBER

The total of the credit note, calculated as SubTotal + TotalTax.

CurrencyCode
STRING

The currency code used for the credit note.

Reference:

FullyPaidOnDate
DATE-TIME

The date that the credit note was fully paid, in UTC.

CreditNoteNumber
STRING

An identifier for the credit note. The value this field contains varies depending on the credit note Type:

  • ACCPAYCREDIT - A non-unique alpha-numeric code identifying the credit note. In the Xero UI, this displays as Reference.
  • ACCRECCREDIT - A unique alpha-numeric code identifying the credit note.

Reference
STRING

Applicable only to Type: ACCRECCREDIT credit notes. An additional reference number.

SentToContact
BOOLEAN

If true, the credit note has been sent to a contact via the Xero app.

CurrencyRate
NUMBER

The currency rate for a multicurrency invoice. If no rate is specified, the XE.com day rate is used.

RemainingCredit
NUMBER

The remaining credit balance on the credit note.

Allocations
ARRAY

Details about allocations associated with the credit note.

Invoice
OBJECT

Details about the invoice associated with the credit note.

This will contain the same attributes as the invoices table. Refer to the invoices table schema for details.

credit_notes (table), Invoice (attribute)

Date
DATE-TIME

The date the credit note was applied.

Amount
NUMBER

The amount being applied to the invoice.

credit_notes (table), Allocations (attribute)

BrandingThemeID
STRING

The ID of the branding theme applied to the credit note.

Reference:

HasAttachments
BOOLEAN

If true, the credit note has an attachment.

DateString
DATE-TIME

The date the credit note was issued.


Replication Method :

Full Table

Primary Key :

Code

API endpoint :

getCurrencies

The currencies table contains info about the currencies available in your Xero account.

Code
STRING

The three letter alpha code for the currency. Refer to XE.com for a list of codes.

Reference:

Description
STRING

The name of the currency.


Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

EmployeeID

API endpoint :

getEmployees

The employees table contains info about employees.

Note: According to Xero’s documentation, the endpoint that produces this table is:

Used for an employee type used exclusively by the global Payrun functionality in Xero core accounting.

As a result, this table may not contain all employee data. Refer to the contacts table if you believe you are missing records.

EmployeeID
STRING

The employee ID.

UpdatedDateUTC
DATE-TIME

The date the employee was last updated, in UTC.

Status
STRING

The current status of the employee. Possible values are:

  • ACTIVE
  • ARCHIVED

FirstName
STRING

The first name of the employee.

LastName
STRING

The last name of the employee.

ExternalLink
STRING

A link to an external resource for the employee. For example: An employee record in an external system.


Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

ExpenseClaimID

API endpoint :

getExpenseClaims

The expense_claims table contains info about expense claims.

ExpenseClaimID
STRING

The expense claim ID.

UpdatedDateUTC
DATE-TIME

The date when the expense claim was last updated, in UTC.

User
ARRAY

Details about the user(s) who submitted the expense claim.

This will contain the same attributes as the users table. Refer to the users table schema for details.

expense_claims (table), User (attribute)

Receipts
ARRAY

Details about the receipt(s) associated with the expense claim.

This will contain the same attributes as the receipts table. Refer to the receipts table schema for details.

expense_claims (table), Receipts (attribute)

Payments
ARRAY

Details about the payment(s) associated with the expense claim.

This will contain the same attributes as the payments table. Refer to the payments table schema for details.

expense_claims (table), Payments (attribute)

Status
STRING

The current status of the expense claim. Possible values are:

  • SUBMITTED
  • AUTHORISED
  • PAID

Total
NUMBER

The total of the expense claim being paid.

AmountDue
NUMBER

The amount due to be paid for the expense claim.

AmountPaid
NUMBER

The amount still to pay for an expense claim.

PaymentDueDate
DATE-TIME

The date when the expense claim is due to be paid.

ReportingDate
DATE-TIME

The date when the expense claim will be reported in Xero.


Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

InvoiceID

API endpoint :

getInvoices

The invoices table contains info about sales invoices, which are requests for payment for goods and services.

InvoiceID
STRING

The invoice ID.

Reference:

UpdatedDateUTC
DATE-TIME

The date the invoice was last updated, in UTC.

Type
STRING

The type of the invoice. Possible values are:

  • ACCPAY - A bill, or an Accounts Payable or supplier invoice
  • ACCREC - A sales invoice, or an Accounts Receivable or customer invoice

Contact
ARRAY

Details about the contact(s) associated with the invoice.

This will contain the same attributes as the contacts table. Refer to the contacts table schema for details.

invoices (table), Contact (attribute)

Date
DATE-TIME

The date the invoice was issued.

DueDate
DATE-TIME

The date the invoice is due.

Status
STRING

The status of the invoice. Possible values are:

  • DRAFT
  • SUBMITTED
  • AUTHORISED
  • DELETED
  • VOIDED
  • PAID

LineAmountTypes
STRING

The type of amounts that the line items in the invoice contain. Possible values are:

  • Exclusive - Line items are exclusive of tax
  • Inclusive - Line items are inclusive tax
  • NoTax - Line items have no tax

LineItems
ARRAY

Details about the line items contained in the invoice.

LineItemID
STRING

The ID of the line item.

Description
STRING

The description of the line item.

Quantity
NUMBER

The quantity of the line item.

UnitAmount
NUMBER

The amount of the line item.

AccountCode
STRING

The account code associated with the line item.

ItemCode
STRING

The code associated with the line item.

TaxType
STRING

The tax type associated with the line item.

LineAmount
NUMBER

The total of the line item, calculated as UnitAmount x Quantity.

TaxAmount
NUMBER

The total tax of the line item.

DiscountRate
NUMBER

The discount rate of the line item, if applicable.

Tracking
ARRAY

Details about the tracking categories applied to the line item, if applicable.

This will contain the same attributes as the tracking_categories table. Refer to the tracking_categories table schema for details.

invoices (table), Tracking (attribute)
invoices (table), LineItems (attribute)

SubTotal
NUMBER

The total of the invoice, excluding taxes.

TotalTax
NUMBER

The total tax on the invoice.

Total
NUMBER

The total of the invoice, calculated as SubTotal + TotalTax.

TotalDiscount
NUMBER

The total of discounts applied to invoice line items.

CurrencyCode
STRING

The currency that the invoice has been raised in.

Reference:

CurrencyRate
NUMBER

The currency rate, if the invoice is a multicurrency invoice.

InvoiceNumber
STRING

An identifier for the invoice. The value this field contains varies depending on the invoice Type:

  • ACCPAY - A non-unique alpha-numeric code identifying the invoice. In the Xero UI, this displays as Reference.
  • ACCREC - A unique alpha-numeric code identifying the invoice.

Reference
STRING

Applicable only to Type: ACCREC invoices. An additional reference number.

BrandingThemeID
STRING

The ID of the branding theme applied to the invoice.

Reference:

Url
STRING

The URL link to a source document.

SentToContact
BOOLEAN

IF true, the invoice will display in the Xero app as ‘Sent’.

ExpectedPaymentDate
DATE-TIME

For sales invoices (Type: ACCREC), the expected payment date.

ExpectedPaymentDateString
DATE-TIME

For sales invoices, the expected payment date.

PlannedPaymentDate
DATE-TIME

For bills (Type: ACCPAY), the planned payment date.

PlannedPaymentDateString
DATE-TIME

For bills, the planned payment date.

HasAttachments
BOOLEAN

If true, the invoice has an attachment.

Payments
ARRAY

Details about the payments associated with the invoice.

This will contain the same attributes as the payments table. Refer to the payments table schema for details.

invoices (table), Payments (attribute)

CreditNotes
ARRAY

Details about the credit notes associated with the invoice.

This will contain the same attributes as the credit_notes table. Refer to the credit_notes table schema for details.

invoices (table), CreditNotes (attribute)

Prepayments
ARRAY

Details about the prepayments associated with the invoice.

This will contain the same attributes as the prepayments table. Refer to the prepayments table schema for details.

invoices (table), Prepayments (attribute)

Overpayments
ARRAY

Details about the overpayments associated with the invoice.

This will contain the same attributes as the overpayments table. Refer to the overpayments table schema for details.

invoices (table), Overpayments (attribute)

AmountDue
NUMBER

The amount remaining to be paid on the invoice.

AmountPaid
NUMBER

The sum of payments received for the invoice.

FullyPaidOnDate
DATE-TIME

The date the invoice was fully paid.

AmountCredited
NUMBER

The sum of all credit notes, overpayments, and prepayments applied to the invoice.

DueDateString
DATE-TIME

The date the invoice is due.

DateString
DATE-TIME

The date the invoice was issued.


Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

ItemID

API endpoint :

getItems

The items table contains info about the products and services you buy and sell.

ItemID
STRING

The item ID.

UpdatedDateUTC
STRING

The date the item was last updated.

Code
STRING

The user-defined code for the item.

IsSold
BOOLEAN

If true, the item is available on sales transactions.

IsPurchased
BOOLEAN

If true, the item is available for purchase transactions.

Description
STRING

The sales description of the item.

PurchaseDescription
STRING

The purchase description of the item.

PurchaseDetails
OBJECT

The item’s purchase details.

TaxType
STRING

The tax type used for the item in purchase transactions.

COGSAccountCode
STRING

The cost of goods sold account for the item in purchase transactions.

UnitPrice
NUMBER

The unit price of the item in purchase transactions.

AccountCode
STRING

The default account code for the item in purchase transactions.

items (table), PurchaseDetails (attribute)

SalesDetails
OBJECT

The item’s sales details.

UnitPrice
NUMBER

The unit price of the item in sales transactions.

AccountCode
STRING

The default account code for the item in sales transactions.

items (table), SalesDetails (attribute)

IsTrackedAsInventory
BOOLEAN

If true, the item is tracked as inventory.

Note: This field will only be true if InventoryAssetAccountCode and COGSAccountCode in Purchase Details are set.

InventoryAssetAccountCode
STRING

The inventory asset account for the item, if applicable.

TotalCostPool
NUMBER

The value of the item on hand, calculated using average cost accounting.

QuantityOnHand
NUMBER

The quantity of the item on hand.


Replication Method :

Key-based Incremental

Replication Key :

If-Modified-Since

Primary Key :

JournalID

API endpoint :

getJournals

The journals table contains info about journal entries.

JournalID
STRING

The journal ID.

JournalDate
DATE-TIME

The date the journal was posted.

JournalNumber
STRING

A Xero-generated journal number.

CreatedDateUTC
DATE-TIME

The date the journal was created, in UTC.

Reference
STRING

The reference for the journal.

SourceID
STRING

The identifier for the source transaction. Use the SourceType value to identify the type of transaction that created the journal.

For example: If SourceType: ARPREPAYMENT, this field would contain a PrepaymentID, which you can use to join this table to the prepayments table.

SourceType
STRING

The type of transaction that created the journal. Refer to Xero’s documentation for a list of possible values.

JournalLines
ARRAY

Details about the journal lines in the journal.

JournalLineID
STRING

The journal line ID.

AccountID
STRING

The account ID associated with the journal line.

Reference:

AccountType
STRING

The type of the account.

AccountCode
STRING

The account code associated with the account.

TaxName
STRING

The tax type of the account.

Reference:

Description
STRING

The description from the source transaction line item.

GrossAmount
NUMBER

The gross amount of the journal line, calculated as NetAmount + TaxAmount.

NetAmount
NUMBER

The net amount of the journal line. This value will be positive for a debit and negative for a credit.

AccountName
STRING

The name of the account.

TaxAmount
NUMBER

The total tax on the journal line.

TrackingCategories
ARRAY

Details about the tracking categories associated with the journal line.

This will contain the same attributes as the tracking_categories table. Refer to the tracking_categories table schema for details.

journals (table), TrackingCategories (attribute)
journals (table), JournalLines (attribute)

linked_transactions

Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

LinkedTransactionID

API endpoint :

getLinkedTransactions

The linked_transactions table contains info about linked transactions. Linked transactions are transactions where line items from a purchase transaction to a customer are linked to a sales transaction.

LinkedTransactionID
STRING

The linked transaction ID.

UpdatedDateUTC
DATE-TIME

The date the linked transaction was last updated, in UTC.

Status
STRING

The status of the linked transaction, which is derived from the statuses of the source and target transactions. Possible values are:

  • DRAFT - The source transaction is in a draft status. The linked transaction hasn’t been allocated to the target transaction.
  • APPROVED - The source transaction is in an authorised status. The linked transaction hasn’t been allocated to the target transaction.
  • ONDRAFT - The linked transaction has been allocated to the target transaction in draft status.
  • BILLED - The linked transaction has been allocated to the target transaction in authorised status.
  • VOIDED - The source transaction has been voided.

Type
STRING

The type of the linked transaction. This value will always be BILLABLEEXPENSE.

SourceTransactionID
STRING

The ID of the source transaction, or the purchase component of a billable expense. The value this field contains varies depending on the value of SourceTransactionTypeCode:

  • ACCPAY - The source transaction was an invoice. The ID in this field will be equivalent to invoices.InvoiceID.
  • SPEND The source transaction was a bank transaction. The ID in this field will be equivalent to bank_transaction.BankTransactionID.

Reference:

SourceLineItemID
STRING

The ID of the associated line item from the source transaction.

SourceTransactionTypeCode
STRING

The type of the source transaction. Possible values are:

  • ACCPAY - The source transaction was an invoice.
  • SPEND The source transaction was a bank transaction.

ContactID
STRING

The ID of the contact on the target transaction, i.e. the customer that the expense is being billed to.

Reference:

TargetTransactionID
STRING

The ID of the target transaction, or the sale component of a billable expense.

Note: Only invoices with Type: ACCREC can be target transactions.

Reference:

TargetLineItemID
STRING

The ID of the line item on the target transaction.


Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

ManualJournalID

API endpoint :

getManualJournals

The manual_journals table contains info about manual journals, which are used by accountants or bookkeepers to work directly with a general ledger. For example: To record accrued expenses or completed work that wasn’t invoiced.

ManualJournalID
STRING

The manual journal ID.

UpdatedDateUTC
DATE-TIME

The date the manual journal was last updated, in UTC.

Date
DATE-TIME

The date the journal was posted.

LineAmountTypes
STRING

The type of amounts that the line items in the manual journal contain. Possible values are:

  • Exclusive - Line items are exclusive of tax
  • Inclusive - Line items are inclusive tax
  • NoTax - Line items have no tax

Status
STRING

The status of the manual journal. Possible values are:

  • DRAFT
  • POSTED
  • DELETED
  • VOIDED

Narration
STRING

A description of the journal being posted.

JournalLines
ARRAY

Details about the journal lines in the manual journal.

LineAmount
NUMBER

The total amount for the line. This will be a positive value for a debit, negative for a credit.

Description
STRING

A description of the journal line.

TaxAmount
NUMBER

The calculated tax amount, based on TaxType and LineAmount.

AccountCode
STRING

The account code associated with the journal line.

TaxType
STRING

The tax type for the journal line. Refer to Xero’s documentation for possible tax types.

Tracking
ARRAY

Details about the tracking details associated with the journal line.

This will contain the same attributes as the tracking_categories table. Refer to the tracking_categories table schema for details.

manual_journals (table), Tracking (attribute)
manual_journals (table), JournalLines (attribute)

Url
STRING

A URL link to a source document.

ShowOnCashBasisReports
BOOLEAN

If true, the manual journal will show on Cash Basis Reports.

HasAttachments
BOOLEAN

If true, the manual journal has an attachment.


Replication Method :

Full Table

Primary Key :

OrganisationID

API endpoint :

getOrganisation

The organisations table contains info about the organisations in your Xero account.

OrganisationID
STRING

The organisation ID.

APIKey
STRING

The organisation’s unique key for Xero-to-Xero transactions.

Name
STRING

The display name of the organisation in Xero.

LegalName
STRING

The legal name of the organisation, as shown in reports.

PaysTax
BOOLEAN

If true, the organisation is registered with a local tax authority.

Version
STRING

The version of the organisation. Refer to Xero’s documentation for possible versions.

OrganisationType
STRING

The type of the organisation. Possible values are:

  • COMPANY
  • CHARITY
  • CLUBSOCIETY
  • PARTNERSHIP
  • PRACTICE
  • PERSON
  • SOLETRADER
  • TRUST

BaseCurrency
STRING

The default currency (ISO 4217) of the organisation. Refer to XE.com for a list currency codes.

CountryCode
STRING

The country code (ISO 3166-2 of the organisation. Refer to XE.com for a list currency codes.

IsDemoCompany
BOOLEAN

If true, the organisation is a demo company.

OrganisationStatus
STRING

This value will be ACTIVE if you can connect to the organisation via the Xero API.

RegistrationNumber
STRING

Only applicable to New Zealand, Australian, and UK organisations. The registration number of the organisation.

TaxNumber
STRING

The organisation’s tax number. Depending on the version of Xero you’re using, this could be one of the following in the Xero UI:

  • Australia - ABN
  • New Zealand - GST Number
  • UK - VAT Number
  • US and global - Tax ID Number

FinancialYearEndDay
INTEGER

The calendar day that the organisation’s financial year end occurs. Possible values are 0-31.

FinancialYearEndMonth
INTEGER

The calendar month that the organisation’s financial year end occurs. Possible values are 1-12.

SalesTaxBasis
STRING

The accounting basis used for tax returns. Refer to Xero’s documentation for a list of possible values.

SalesTaxPeriod
STRING

The frequency with which tax returns are processed. Refer to Xero’s documentation for a list of possible values.

DefaultSalesTax
STRING

The default tax used for line amounts on sales transactions.

DefaultPurchaseTax
STRING

The default tax used for line amounts on purchase transactions.

PeriodLockDate
DATE-TIME

The period lock date for the organisation, if set.

EndOfYearLockDate
DATE-TIME

The year end lock date for the organisation, if set.

CreatedDateUTC
DATE-TIME

The date the organisation was created, in UTC.

Timezone
STRING

The timezone the organisation is in. Refer to Xero’s documenation for a list of possible timezone values.

OrganisationEntityType
STRING

The entity type of the organisation. Possible values are:

  • COMPANY
  • CHARITY
  • CLUBSOCIETY
  • PARTNERSHIP
  • PRACTICE
  • PERSON
  • SOLETRADER
  • TRUST

ShortCode
STRING

A unique ID for the organisation.

LineOfBusiness
STRING

The description of the business, as defined in the organisation’s settings.

Addresses
ARRAY

Details about the addresses associated with the organisation.

Region
STRING

The region associated with the address.

AddressType
STRING

The address type. Possible values are:

  • POBOX
  • STREET
  • DELIVERY - Note: This address type is not valid for contacts.

AddressLine1
STRING

The first line of the address.

AddressLine2
STRING

The second line of the address.

AddressLine3
STRING

The third line of the address.

AddressLine4
STRING

The fourth line of the address.

AttentionTo
STRING

The name of the addressee.

City
STRING

The city associated with the address.

PostalCode
STRING

The postal code associated with the address.

Country
STRING

The country associated with the address.

organisations (table), Addresses (attribute)

Phones
ARRAY

Details about the phone numbers associated with the organisation.

PhoneNumber
STRING

The phone number.

PhoneAreaCode
STRING

The area code associated with the phone number.

PhoneCountryCode
STRING

The country code associated with the phone number.

PhoneType
STRING

The type of phone number. Possible values are:

  • DEFAULT
  • DDI
  • MOBILE
  • FAX
organisations (table), Phones (attribute)

ExternalLinks
ARRAY

Details about profile links for the organisation, such as Facebook, Twitter, LinkedIn, etc. These are set in the organisation’s settings.

PaymentTerms
ARRAY

Details about the default payment terms for the organisation.

Sales
OBJECT

Details about the payment terms used for sales transactions.

Day
INTEGER

An integer used with the payment term type to indicate the calendar date of the payment term used for sales transactions.

Type
INTEGER

The payment term type used for sales transactions. Possible values are:

  • DAYSAFTERBILLDATE - n day(s) after the bill date
  • DAYSAFTERBILLMONTH- n day(s) after the bill month
  • OFCURRENTMONTH - Of the current month
  • OFFOLLOWINGMONTH - Of the following month
organisations (table), Sales (attribute)

Bills
OBJECT

Details about the payment terms used for bills (invoices).

Day
INTEGER

An integer used with the payment term type to indicate the calendar date of the payment term used for bills.

Type
INTEGER

The payment term type used for bills (invoices). Possible values are:

  • DAYSAFTERBILLDATE - n day(s) after the bill date
  • DAYSAFTERBILLMONTH- n day(s) after the bill month
  • OFCURRENTMONTH - Of the current month
  • OFFOLLOWINGMONTH - Of the following month
organisations (table), Bills (attribute)
organisations (table), PaymentTerms (attribute)

Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

OverpaymentID

API endpoint :

getOverpayments

The overpayments table contains info about overpayments, which are transactions where a customer pays too much or you mistakenly overpay a supplier.

OverpaymentID
STRING

The overpayment ID.

Reference:

UpdatedDateUTC
DATE-TIME

The date the overpayment was last updated, in UTC.

Type
STRING

The overpayment type. Possible values are:

  • RECEIVE-OVERPAYMENT
  • SPEND-OVERPAYMENT

Contact
ARRAY

Details about the contact(s) associated with the overpayment.

This will contain the same attributes as the contacts table. Refer to the contacts table schema for details.

overpayments (table), Contact (attribute)

Date
DATE-TIME

The date the overpayment was made.

Status
STRING

The status of the overpayment. Possible values are:

  • AUTHORISED
  • PAID
  • VOIDED

AppliedAmount
NUMBER

The amount of the overpayment that has been applied.

LineAmountTypes
STRING

The type of amounts of the line items in the overpayment. Possible values are:

  • Exclusive - Line items are exclusive of tax
  • Inclusive - Line items are inclusive of tax
  • NoTax - Line items have no tax

LineItems
ARRAY

Details about the line items contained in the overpayment.

LineItemID
STRING

The ID of the line item.

Description
STRING

The description of the line item.

Quantity
NUMBER

The quantity of the line item.

UnitAmount
NUMBER

The amount of the line item.

AccountCode
STRING

The account code associated with the line item.

ItemCode
STRING

The code associated with the line item.

TaxType
STRING

The tax type associated with the line item.

LineAmount
NUMBER

The total of the line item, calculated as UnitAmount x Quantity.

TaxAmount
NUMBER

The total tax of the line item.

DiscountRate
NUMBER

The discount rate of the line item, if applicable.

Tracking
ARRAY

Details about the tracking categories applied to the line item, if applicable.

This will contain the same attributes as the tracking_categories table. Refer to the tracking_categories table schema for details.

overpayments (table), Tracking (attribute)
overpayments (table), LineItems (attribute)

SubTotal
NUMBER

The subtotal of the overpayment, excluding taxes.

TotalTax
NUMBER

The total tax on the overpayment.

Total
NUMBER

The total of the overpayment, calculated as SubTotal + TotalTax.

CurrencyCode
STRING

The currency used for the overpayment.

Reference:

CurrencyRate
NUMBER

The currency rate for a multicurrency overpayment.

RemainingCredit
NUMBER

The remaining credit balance on the overpayment.

Allocations
ARRAY

Details about the allocations associated with the overpayment.

Date
DATE-TIME

The date the overpayment was applied.

Amount
NUMBER

The amount being applied to the invoice.

Invoice
OBJECT

Details about the invoices the overpayment has been allocated against.

overpayments (table), Invoice (attribute)
overpayments (table), Allocations (attribute)

Payments
ARRAY

Details about the payments associated with the overpayment.

This will contain the same attributes as the payments table. Refer to the payments table schema for details.

overpayments (table), Payments (attribute)

Reference
STRING

The overpayment’s reference.

HasAttachments
BOOLEAN

If true, the overpyament has an attachment.

DateString
DATE-TIME

The date the overpayment was made.


Replication Method :

Key-based Incremental

Replication Key :

UpdateDateUTC

Primary Key :

PaymentID

API endpoint :

getPayments

The payments table contains info about the payments recorded in your Xero account.

PaymentID
STRING

The payment ID.

Reference:

UpdateDateUTC
STRING

The date the payment was last updated, in UTC.

Date
DATE-TIME

The date the payment is being made.

CurrencyRate
NUMBER

The exchange rate when the payment was received.

Amount
NUMBER

The amount of the payment.

Reference
STRING

An optional reference for the payment. For example: Direct Debit

IsReconciled
BOOLEAN

If true, the payment has been marked as manually reconciled. Refer to Xero’s documentation for more info.

Status
STRING

The status of the payment. Possible values are:

  • AUTHORISED
  • DELETED

PaymentType
STRING

The type of the payment. Possible values are:

  • ACCRECPAYMENT - Accounts Receivable Payment
  • ACCPAYPAYMENT - Accounts Payable Payment
  • ARCREDITPAYMENT - Accounts Receivable Credit Payment (Refund)
  • APCREDITPAYMENT - Accounts Payable Credit Payment (Refund)
  • AROVERPAYMENTPAYMENT - Accounts Receivable Overpayment Payment (Refund)
  • ARPREPAYMENTPAYMENT - Accounts Receivable Prepayment Payment (Refund)
  • APPREPAYMENTPAYMENT - Accounts Payable Prepayment Payment (Refund)
  • APOVERPAYMENTPAYMENT - Accounts Payable Overpayment Payment (Refund)

Account

Details about the account the payment was made from.

Invoice

Details about the invoice the payment was made against.

CreditNote
OBJECT

Details about the credit note the payment was made against.

CreditNoteNumber
STRING

The number of the credit note the payment was made against.

payments (table), CreditNote (attribute)

Prepayments
ARRAY

Details about the prepayment the payment was made against.

PrepaymentID
STRING

The ID of the prepayment the payment was made against.

Reference:

payments (table), Prepayments (attribute)

Overpayment
ARRAY

Details about the overpayment the payment was made against.

OverpaymentID
STRING

The ID of the overpayment the payment was made against.

Reference:

payments (table), Overpayment (attribute)

BankAmount
NUMBER

The bank amount of the payment.

HasValidationErrors
BOOLEAN

If true, a validation error is associated with the payment.

BatchPaymentID
STRING

The ID of the batch the payment was included in, if applicable.


Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

PrepaymentID

API endpoint :

getPrepayments

The prepayments table contains info about prepayments, which are payments made in advance of an invoice being raised for a customer or a bill being received from a supplier.

PrepaymentID
STRING

The prepayment ID.

Reference:

UpdatedDateUTC
DATE-TIME

The date the prepayment was last updated, in UTC.

Type
STRING

The prepayment type. Possible values are:

  • RECEIVE-PREPAYMENT
  • SPEND-PREPAYMENT

Contact
ARRAY

Details about the contact(s) associated with the prepayment.

This will contain the same attributes as the contacts table. Refer to the contacts table schema for details.

prepayments (table), Contact (attribute)

Date
DATE-TIME

The date the prepayment was created.

Status
STRING

The status of the prepayment. Possible values are:

  • AUTHORISED
  • PAID
  • VOIDED

LineAmountTypes
STRING

The type of amounts of the line items in the prepayment. Possible values are:

  • Exclusive - Line items are exclusive of tax
  • Inclusive - Line items are inclusive of tax
  • NoTax - Line items have no tax

LineItems
ARRAY

Details about the line items contained in the prepayment.

LineItemID
STRING

The ID of the line item.

Description
STRING

The description of the line item.

Quantity
NUMBER

The quantity of the line item.

UnitAmount
NUMBER

The amount of the line item.

AccountCode
STRING

The account code associated with the line item.

ItemCode
STRING

The code associated with the line item.

TaxType
STRING

The tax type associated with the line item.

LineAmount
NUMBER

The total of the line item, calculated as UnitAmount x Quantity.

TaxAmount
NUMBER

The total tax of the line item.

DiscountRate
NUMBER

The discount rate of the line item, if applicable.

Tracking
ARRAY

Details about the tracking categories applied to the line item, if applicable.

This will contain the same attributes as the tracking_categories table. Refer to the tracking_categories table schema for details.

prepayments (table), Tracking (attribute)
prepayments (table), LineItems (attribute)

SubTotal
NUMBER

The subtotal of the prepayment.

TotalTax
NUMBER

The total tax on the prepayment.

Total
NUMBER

The total amount of the prepayment, calculated as SubTotal + TotalTax.

CurrencyCode
STRING

The currency used for the prepayment.

Reference:

CurrencyRate
NUMBER

The currency rate for a multicurrency prepayment.

Reference
STRING

If available, the number of the invoice associated with the prepayment.

RemainingCredit
NUMBER

The remaining credit balance on the prepayment.

Allocations
ARRAY

Details about the allocation of the prepayment.

Date
DATE-TIME

The date the prepayment was applied.

Amount
NUMBER

The amount being applied to the invoice.

Invoice
OBJECT

Details about the invoices the prepayment has been allocated against.

prepayments (table), Invoice (attribute)
prepayments (table), Allocations (attribute)

HasAttachments
BOOLEAN

If true, the prepayment has an attachment.

DateString
DATE-TIME

The date the prepayment was made.


Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

PurchaseOrderID

API endpoint :

getPurchaseOrders

The purchase_orders table contains info about your purchase orders. Purchase orders are requests sent to suppliers for specific goods and services.

PurchaseOrderID
STRING

The purchase order ID.

UpdatedDateUTC
DATE-TIME

The date the purchase order was last updated, in UTC.

Date
DATE-TIME

The date the purchase order was issued.

DeliveryDate
DATE-TIME

The date the goods are to be delivered.

LineAmountTypes
STRING

The type of amounts of the line items in the purchase order. Possible values are:

  • Exclusive - Line items are exclusive of tax
  • Inclusive - Line items are inclusive of tax
  • NoTax - Line items have no tax

PurchaseOrderNumber
STRING

The unique alpha numeric code identifying the purchase order.

Reference
STRING

An additional reference number for the purchase order.

LineItems
ARRAY

Details about the line items contained in the purchase order.

LineItemID
STRING

The ID of the line item.

Description
STRING

The description of the line item.

Quantity
NUMBER

The quantity of the line item.

UnitAmount
NUMBER

The amount of the line item.

AccountCode
STRING

The account code associated with the line item.

ItemCode
STRING

The code associated with the line item.

TaxType
STRING

The tax type associated with the line item.

LineAmount
NUMBER

The total of the line item, calculated as UnitAmount x Quantity.

TaxAmount
NUMBER

The total tax of the line item.

DiscountRate
NUMBER

The discount rate of the line item, if applicable.

Tracking
ARRAY

Details about the tracking categories applied to the line item, if applicable.

This will contain the same attributes as the tracking_categories table. Refer to the tracking_categories table schema for details.

purchase_orders (table), Tracking (attribute)
purchase_orders (table), LineItems (attribute)

BrandingThemeID
STRING

The ID of the branding theme applied to the purchase order.

Reference:

CurrencyCode
STRING

The currency that the purchase order has been raised in.

Reference:

Status
STRING

The status of the purchase order. Possible values are:

  • DRAFT
  • SUBMITTED
  • AUTHORISED
  • BILLED
  • DELETED

SentToContact
BOOLEAN

If true, the purchase order has been marked as ‘sent’.

DeliveryAddress
STRING

The address the goods are to be delivered to.

AttentionTo
STRING

The person that the delivery is going to.

Telephone
STRING

The phone number for the person accepting the delivery.

DeliveryInstructions
STRING

The delivery instructions, if any.

ExpectedArrivalDate
DATE-TIME

The date the goods are expected to arrive.

CurrencyRate
NUMBER

The currency rate for a multicurrency purchase order.

SubTotal
NUMBER

The total of the purchase order, excluding taxes.

TotalTax
NUMBER

The total tax on the purchase order.

Total
NUMBER

The total amount of the purchase order, calculated as SubTotal + TotalTax.

TotalDiscount
NUMBER

The total of discounts applied on the purchase order line items.

HasAttachments
BOOLEAN

If true, the purchase order has an attachment.

DeliveryDateString
DATE-TIME

The delivery date of the purchase order.

Type
STRING

The purchase order type. This will be PURCHASEORDER.

DateString
DATE-TIME

The date the purchase order was issued.

HasErrors
BOOLEAN

If true, the purchase order contains an error.

IsDiscounted
BOOLEAN

If true, the purchase order has been discounted.

ExpectedArrivalDateString
DATE-TIME

The expected arrival date of the purchase order.


Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

ReceiptID

API endpoint :

getReceipts

The receipts table contains info about invoice receipts, which are receipts sent to customers after an invoice has been received.

ReceiptID
STRING

The receipt ID.

Reference:

UpdatedDateUTC
DATE-TIME

The date the receipt was last updated, in UTC.

Date
DATE-TIME

The date of the receipt.

Contact
ARRAY

Details about the contact(s) associated with the receipt.

This will contain the same attributes as the contacts table. Refer to the contacts table schema for details.

receipts (table), Contact (attribute)

LineItems
ARRAY

Details about the line items contained in the receipt.

LineItemID
STRING

The ID of the line item.

Description
STRING

The description of the line item.

Quantity
NUMBER

The quantity of the line item.

UnitAmount
NUMBER

The amount of the line item.

AccountCode
STRING

The account code associated with the line item.

ItemCode
STRING

The code associated with the line item.

TaxType
STRING

The tax type associated with the line item.

LineAmount
NUMBER

The total of the line item, calculated as UnitAmount x Quantity.

TaxAmount
NUMBER

The total tax of the line item.

DiscountRate
NUMBER

The discount rate of the line item, if applicable.

Tracking
ARRAY

Details about the tracking categories applied to the line item, if applicable.

This will contain the same attributes as the tracking_categories table. Refer to the tracking_categories table schema for details.

receipts (table), Tracking (attribute)
receipts (table), LineItems (attribute)

User
ARRAY

Details about the user(s) associated with the receipt.

This will contain the same attributes as the users table. Refer to the users table schema for details.

receipts (table), User (attribute)

Reference
STRING

An additional reference number for the receipt.

LineAmountTypes
STRING

The type of amounts of the line items in the receipt. Possible values are:

  • Exclusive - Line items are exclusive of tax
  • Inclusive - Line items are inclusive of tax
  • NoTax - Line items have no tax

SubTotal
NUMBER

The subtotal of the receipt.

TotalTax
NUMBER

The total tax on the receipt.

Total
NUMBER

The total amount of the receipt, calculated as SubTotal + TotalTax.

Status
STRING

The status of the receipt. Possible values are:

  • DRAFT
  • SUBMITTED - Receipt has been submitted as part of an expense claim
  • AUTHORISED
  • DECLINED

ReceiptNumber
INTEGER

A Xero-generated sequence number for the receipt in a current claim for a given user.

HasAttachments
BOOLEAN

If true, the receipt has an attachment.

Url
STRING

The URL link to a source document.

ValidationErrors
ARRAY

Details about the validation errors associated with the receipt, if any.

Message
STRING

The validation error message.

receipts (table), ValidationErrors (attribute)

repeating_invoices

Replication Method :

Full Table

Primary Key :

RepeatingInvoiceID

API endpoint :

getRepeatingInvoices

The repeating_invoices table contains info about invoices set up to repeat in your Xero account. A repeating invoice is a recurring transaction, or a transaction that occurs on a regular basis.

RepeatingInvoiceID
STRING

The repeating invoice ID.

Type
STRING

The invoice type. Possible values are:

  • ACCPAY - A bill, or an Accounts Payable or supplier invoice
  • ACCREC - A sales invoice, or an Accounts Receivable or customer invoice

Contact

Details about the contact(s) associated with the repeating invoice.

Note: This is an array that may be flattened into a subtable. This table would be named repeating_invoices__Contact; records in this table may be joined to their parent by following these instructions.

Refer to the contacts table for a list of attributes this subtable may contain.

Schedule
OBJECT

Details about the schedule used by the repeating invoice.

Unit
STRING

The unit of time used by the repeating invoice schedule. One of the following: WEEKLY or MONTHLY.

DueDateType
STRING

The payment terms of the repeating invoice schedule. Possible values are:

  • DAYSAFTERBILLDATE - n day(s) after the bill date
  • DAYSAFTERBILLMONTH- n day(s) after the bill month
  • OFCURRENTMONTH - Of the current month
  • OFFOLLOWINGMONTH - Of the following month

StartDate
DATE-TIME

The date the first invoice of the current version of the repeating schedule was generated. This value will change if/when the repeating invoice is modified.

DueDate
INTEGER

An integer used with the schedule’s due date type to indicate the calendar date of the payment term.

EndDate
STRING

The invoice end date. Applicable only if the template has a set end date.

NextScheduleDate
DATE-TIME

The calendar date of the next invoice in the schedule to be generated.

Period
INTEGER

Integer used with the schedule unit. For example: 1 (every 1 week), 2 (every 2 months)

repeating_invoices (table), Schedule (attribute)

LineItems
ARRAY

Details about the line items contained in the repeating invoice.

LineItemID
STRING

The ID of the line item.

Description
STRING

The description of the line item.

Quantity
NUMBER

The quantity of the line item.

UnitAmount
NUMBER

The amount of the line item.

AccountCode
STRING

The account code associated with the line item.

ItemCode
STRING

The code associated with the line item.

TaxType
STRING

The tax type associated with the line item.

LineAmount
NUMBER

The total of the line item, calculated as UnitAmount x Quantity.

TaxAmount
NUMBER

The total tax of the line item.

DiscountRate
NUMBER

The discount rate of the line item, if applicable.

Tracking
ARRAY

Details about the tracking categories applied to the line item, if applicable.

This will contain the same attributes as the tracking_categories table. Refer to the tracking_categories table schema for details.

repeating_invoices (table), Tracking (attribute)
repeating_invoices (table), LineItems (attribute)

LineAmountTypes
STRING

The type of amounts of the line items in the repeating invoice. Possible values are:

  • Exclusive - Line items are exclusive of tax
  • Inclusive - Line items are inclusive of tax
  • NoTax - Line items have no tax

Reference
STRING

Applicable only to ACCREC repeating invoices. The additional reference number for the invoice.

BrandingThemeID
STRING

The ID of the branding theme applied to the repeating invoice.

Reference:

CurrencyCode
STRING

The currency that the invoice has been raised in.

Reference:

Status
STRING

The status of the repeating invoice. Possible values are:

  • DRAFT
  • AUTHORISED

SubTotal
NUMBER

The subtotal of the repeating invoice.

TotalTax
NUMBER

The total tax on the repeating invoice.

Total
NUMBER

The total amount of the repeating invoice, calculated as SubTotal + TotalTax.

HasAttachments
BOOLEAN

If true, the repeating invoice has an attachment.


Replication Method :

Full Table

Primary Key :

Name

API endpoint :

getTaxRates

The tax_rates table contains info about the tax rates set up in your Xero account.

Name
STRING

The name of the tax rate.

Reference:

TaxType
STRING

The tax type of the tax rate. Refer to Xero’s documentation for a list of possible values.

TaxComponents
ARRAY

Details about the components that make up the tax rate.

Name
STRING

The name of the tax component.

IsCompound
BOOLEAN

If true, the tax rate is compounded. Refer to Xero’s documentation for more info.

IsNonRecoverable
BOOLEAN

If true, the tax rate is non-recoverable. Non-recoverable tax rates are only applicable to Canadian organisations.

Rate
NUMBER

The tax rate.

tax_rates (table), TaxComponents (attribute)

Status
STRING

The status of the tax rate. Possible values are:

  • ACTIVE - The tax rate is active and can be used in transactions.
  • DELETED - The tax rate is deleted and cannot be restored or used on transactions.
  • ARCHIVED - The tax rate has been used on a transaction, but has since been deleted. ARCHIVED tax rates cannot be restored or used in transactions.

ReportTaxType
STRING

The report tax type. Refer to Xero’s documentation for a list of possible values.

CanApplyToAssets
BOOLEAN

If true, the tax rate can be used for asset accounts.

CanApplyToEquity
BOOLEAN

If true, the tax rate can be used for equity accounts.

CanApplyToExpenses
BOOLEAN

If true, the tax rate can be used for expense accounts.

CanApplyToLiabilities
BOOLEAN

If true, the tax rate can be used for liability accounts.

CanApplyToRevenue
BOOLEAN

If true, the tax rate can be used for revenue accounts.

DisplayTaxRate
NUMBER

The tax rate in decimal format. For example: 12.5000

EffectiveRate
NUMBER

The effective tax rate.


tracking_categories

Replication Method :

Full Table

Primary Key :

TrackingCategoryID

API endpoint :

getTrackingCategories

The tracking_categories table contains info about the tracking categories in your Xero account. Tracking categories are used to track the performance of different areas of a business.

TrackingCategoryID
STRING

The tracking category ID.

Reference:

Status
STRING

The status of the tracking category.

TrackingCategoryName
STRING

The name of the tracking category.

Name
STRING

The name of the tracking option.

Option
STRING

The value of the tracking option.

Options
ARRAY

Details about the tracking option.

IsActive
BOOLEAN

If true, the tracking option is active.

IsDeleted
BOOLEAN

If true, the tracking option has been deleted.

TrackingOptionID
STRING

The ID of the tracking option.

IsArchived
BOOLEAN

If true, the tracking option has been archived.

Status
STRING

The status of the tracking option.

Name
STRING

The name of the tracking option.

tracking_categories (table), Options (attribute)

Replication Method :

Key-based Incremental

Replication Key :

UpdatedDateUTC

Primary Key :

UserID

API endpoint :

getUsers

The users table contains info about the users in an organisation.

UserID
STRING

The user ID.

Reference:

UpdatedDateUTC
DATE-TIME

The date the user was last updated, in UTC.

EmailAddress
STRING

The email address of the user.

FirstName
STRING

The first name of the user.

LastName
STRING

The last name of the user.

IsSubscriber
BOOLEAN

If true, the user is the subscriber.

OrganisationRole
STRING

The organisation role of the user. Possible values are:

  • READONLY
  • INVOICEONLY
  • STANDARD
  • FINANCIALADVISER
  • MANAGEDCLIENT
  • CASHBOOKCLIENT

ValidationErrors
ARRAY

Details about the validation errors associated with the user, if any.

Message
STRING

The validation error message.

users (table), ValidationErrors (attribute)


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.