Skip to content

Xero: Accounting schemas (part 1)

75 Xero schemas with complete fields and constraints.

← Accounting operations · All schemas

Create a new currency for a Xero organisation — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
CodeModelOptionalExpand Create a new currency for a Xero organisation — request body — body Code
DescriptionstringOptionalName of Currency

Referenced models: Create a new currency for a Xero organisation — request body — body Code

Create a new currency for a Xero organisation — request body — body Code

FieldTypePresenceDescription and constraints
$stringRoot3 letter alpha code for the currency – see list of currency codes
One of: AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYN, BYR, BZD, CAD, CDF, CHF, CLF, CLP, CNY, COP, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EEK, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SKK, SLE, SLL, SOS, SRD, STD, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, VES, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW, ZMK, ZWD

Create a new currency for a Xero organisation — response body

FieldTypePresenceDescription and constraints
$objectRoot
CurrenciesarrayOptional
Currencies[]ModelEach itemExpand Create a new currency for a Xero organisation — response body — Currencies item

Referenced models: Create a new currency for a Xero organisation — response body — Currencies item

Create a new currency for a Xero organisation — response body — Currencies item

FieldTypePresenceDescription and constraints
$objectRoot
CodeModelOptionalExpand Deletes an Allocation from a Prepayment — response body — Invoice Currency Code
DescriptionstringOptionalName of Currency

Referenced models: Deletes an Allocation from a Prepayment — response body — Invoice Currency Code

Create tracking categories — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
NamestringOptionalThe name of the tracking category e.g. Department, Region (max length = 100)
Maximum length: 100
OptionstringOptionalThe option name of the tracking option e.g. East, West (max length = 100)
Maximum length: 100
OptionsarrayOptionalSee Tracking Options
Options[]ModelEach itemExpand Creates options for a specific tracking category — request body — body
StatusstringOptionalThe status of a tracking category
One of: ACTIVE, ARCHIVED, DELETED
TrackingCategoryIDstringOptionalThe Xero identifier for a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
TrackingOptionIDstringOptionalThe Xero identifier for a tracking option e.g. dc54c220-0140-495a-b925-3246adc0075f
Format: uuid

Referenced models: Creates options for a specific tracking category — request body — body

Create tracking categories — response body

FieldTypePresenceDescription and constraints
$objectRoot
TrackingCategoriesarrayOptional
TrackingCategories[]ModelEach itemExpand Create tracking categories — response body — Tracking Categories item

Referenced models: Create tracking categories — response body — Tracking Categories item

Create tracking categories — response body — Tracking Categories item

FieldTypePresenceDescription and constraints
$objectRoot
NamestringOptionalThe name of the tracking category e.g. Department, Region (max length = 100)
Maximum length: 100
OptionstringOptionalThe option name of the tracking option e.g. East, West (max length = 100)
Maximum length: 100
OptionsarrayOptionalSee Tracking Options
Options[]ModelEach itemExpand Creates options for a specific tracking category — response body — Options item
StatusstringOptionalThe status of a tracking category
Known values: ACTIVE, ARCHIVED, DELETED
TrackingCategoryIDstringOptionalThe Xero identifier for a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
TrackingOptionIDstringOptionalThe Xero identifier for a tracking option e.g. dc54c220-0140-495a-b925-3246adc0075f
Format: uuid

Referenced models: Creates options for a specific tracking category — response body — Options item

Creates a bank transfer — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
BankTransfersarrayOptional
BankTransfers[]ModelEach itemExpand Creates a bank transfer — request body — body Bank Transfers item

Referenced models: Creates a bank transfer — request body — body Bank Transfers item

Creates a bank transfer — request body — body Bank Transfers item

FieldTypePresenceDescription and constraints
$objectRoot
AmountnumberRequired within parentamount of the transaction
Format: double
BankTransferIDstringOptionalThe identifier of the Bank Transfer
Format: uuid
Read only: true
CreatedDateUTCstringOptionalUTC timestamp of creation date of bank transfer
Read only: true
CurrencyRatenumberOptionalThe currency rate
Format: double
Read only: true
DatestringOptionalThe date of the Transfer YYYY-MM-DD
FromBankAccountModelRequired within parentExpand Creates a new chart of accounts — request body — body
FromBankTransactionIDstringOptionalThe Bank Transaction ID for the source account
Format: uuid
Read only: true
FromIsReconciledbooleanOptionalThe Bank Transaction boolean to show if it is reconciled for the source account
Default: false
FromTrackingarrayOptionalOptional Tracking Category for the source account – see Tracking. A bank transfer can have a maximum of 2 tracking categories per account.
FromTracking[]ModelEach itemExpand Creates a bank transfer — response body — Bank Transfers item To Tracking item
HasAttachmentsbooleanOptionalBoolean to indicate if a Bank Transfer has an attachment
Default: false
Read only: true
ReferencestringOptionalReference for the transactions.
StatusstringOptionalAUTHORISED or DELETED (read-only). New bank transfers will have a status of AUTHORISED.
One of: AUTHORISED, DELETED
Read only: true
ToBankAccountModelRequired within parentExpand Creates a new chart of accounts — request body — body
ToBankTransactionIDstringOptionalThe Bank Transaction ID for the destination account
Format: uuid
Read only: true
ToIsReconciledbooleanOptionalThe Bank Transaction boolean to show if it is reconciled for the destination account
Default: false
ToTrackingarrayOptionalOptional Tracking Category for the destination account – see Tracking. A bank transfer can have a maximum of 2 tracking categories per account.
ToTracking[]ModelEach itemExpand Creates a bank transfer — response body — Bank Transfers item To Tracking item
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Creates a new chart of accounts — request body — body, Creates a bank transfer — response body — Bank Transfers item To Tracking item, Retrieves journals — response body — Warnings item

Creates a bank transfer — response body

FieldTypePresenceDescription and constraints
$objectRoot
BankTransfersarrayOptional
BankTransfers[]ModelEach itemExpand Creates a bank transfer — response body — Bank Transfers item

Referenced models: Creates a bank transfer — response body — Bank Transfers item

Creates a bank transfer — response body — Bank Transfers item

FieldTypePresenceDescription and constraints
$objectRoot
AmountJSONRequired within parent
Amount (anyOf 1)numberAlternativeamount of the transaction
Format: double
Amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
BankTransferIDstringOptionalThe identifier of the Bank Transfer
Format: uuid
Read only: true
CreatedDateUTCstringOptionalUTC timestamp of creation date of bank transfer
Read only: true
CurrencyRateJSONOptional
CurrencyRate (anyOf 1)numberAlternativeThe currency rate
Format: double
Read only: true
CurrencyRate (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
DatestringOptionalThe date of the Transfer YYYY-MM-DD
FromBankAccountModelRequired within parentExpand Deletes a chart of accounts — response body — Accounts item
FromBankTransactionIDstringOptionalThe Bank Transaction ID for the source account
Format: uuid
Read only: true
FromIsReconciledbooleanOptionalThe Bank Transaction boolean to show if it is reconciled for the source account
Default: false
FromTrackingarrayOptionalOptional Tracking Category for the source account – see Tracking. A bank transfer can have a maximum of 2 tracking categories per account.
FromTracking[]ModelEach itemExpand Creates a bank transfer — response body — Bank Transfers item To Tracking item
HasAttachmentsbooleanOptionalBoolean to indicate if a Bank Transfer has an attachment
Default: false
Read only: true
ReferencestringOptionalReference for the transactions.
StatusstringOptionalAUTHORISED or DELETED (read-only). New bank transfers will have a status of AUTHORISED.
Known values: AUTHORISED, DELETED
Read only: true
ToBankAccountModelRequired within parentExpand Deletes a chart of accounts — response body — Accounts item
ToBankTransactionIDstringOptionalThe Bank Transaction ID for the destination account
Format: uuid
Read only: true
ToIsReconciledbooleanOptionalThe Bank Transaction boolean to show if it is reconciled for the destination account
Default: false
ToTrackingarrayOptionalOptional Tracking Category for the destination account – see Tracking. A bank transfer can have a maximum of 2 tracking categories per account.
ToTracking[]ModelEach itemExpand Creates a bank transfer — response body — Bank Transfers item To Tracking item
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Deletes a chart of accounts — response body — Accounts item, Creates a bank transfer — response body — Bank Transfers item To Tracking item, Retrieves journals — response body — Warnings item

Creates a bank transfer — response body — Bank Transfers item To Tracking item

FieldTypePresenceDescription and constraints
$objectRoot
NamestringOptionalThe name of the tracking category
Maximum length: 100
Read only: true
OptionstringOptionalSee Tracking Options
Read only: true
TrackingCategoryIDstringRequired within parentThe Xero identifier for a tracking category
Format: uuid
TrackingOptionIDstringRequired within parentThe Xero identifier for a tracking category option
Format: uuid

Creates a contact group — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
ContactGroupsarrayOptional
ContactGroups[]ModelEach itemExpand Creates a contact group — request body — body Contact Groups item

Referenced models: Creates a contact group — request body — body Contact Groups item

Creates a contact group — request body — body Contact Groups item

FieldTypePresenceDescription and constraints
$objectRoot
ContactGroupIDstringOptionalThe Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
ContactsarrayOptionalThe ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL.
Contacts[]ModelEach itemExpand Creates contacts to a specific contact group — request body — body Contacts item
NamestringOptionalThe Name of the contact group. Required when creating a new contact group
StatusstringOptionalThe Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs.
One of: ACTIVE, DELETED

Referenced models: Creates contacts to a specific contact group — request body — body Contacts item

Creates a contact group — response body

FieldTypePresenceDescription and constraints
$objectRoot
ContactGroupsarrayOptional
ContactGroups[]ModelEach itemExpand Creates a contact group — response body — Contact Groups item

Referenced models: Creates a contact group — response body — Contact Groups item

Creates a contact group — response body — Contact Groups item

FieldTypePresenceDescription and constraints
$objectRoot
ContactGroupIDstringOptionalThe Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
ContactsarrayOptionalThe ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL.
Contacts[]ModelEach itemExpand Creates contacts to a specific contact group — response body — Contacts item
NamestringOptionalThe Name of the contact group. Required when creating a new contact group
StatusstringOptionalThe Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs.
Known values: ACTIVE, DELETED

Referenced models: Creates contacts to a specific contact group — response body — Contacts item

Creates a new chart of accounts — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
AccountIDstringOptionalThe Xero identifier for an account – specified as a string following the endpoint name e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
AddToWatchlistbooleanOptionalBoolean – describes whether the account is shown in the watchlist widget on the dashboard
BankAccountNumberstringOptionalFor bank accounts only (Account Type BANK)
BankAccountTypestringOptionalFor bank accounts only. See Bank Account types
One of: BANK, CREDITCARD, PAYPAL, NONE,
ClassstringOptionalSee Account Class Types
One of: ASSET, EQUITY, EXPENSE, LIABILITY, REVENUE
Read only: true
CodestringOptionalCustomer defined alpha numeric account code e.g 200 or SALES (max length = 10)
CurrencyCodeModelOptionalExpand Create a new currency for a Xero organisation — request body — body Code
DescriptionstringOptionalDescription of the Account. Valid for all types of accounts except bank accounts (max length = 4000)
EnablePaymentsToAccountbooleanOptionalBoolean – describes whether account can have payments applied to it
HasAttachmentsbooleanOptionalboolean to indicate if an account has an attachment (read only)
Default: false
Read only: true
NamestringOptionalName of account (max length = 150)
Maximum length: 150
ReportingCodestringOptionalShown if set
ReportingCodeNamestringOptionalShown if set
Read only: true
ShowInExpenseClaimsbooleanOptionalBoolean – describes whether account code is available for use with expense claims
StatusstringOptionalAccounts with a status of ACTIVE can be updated to ARCHIVED. See Account Status Codes
One of: ACTIVE, ARCHIVED, DELETED
SystemAccountstringOptionalIf this is a system account then this element is returned. See System Account types. Note that non-system accounts may have this element set as either “” or null.
One of: DEBTORS, CREDITORS, BANKCURRENCYGAIN, GST, GSTONIMPORTS, HISTORICAL, REALISEDCURRENCYGAIN, RETAINEDEARNINGS, ROUNDING, TRACKINGTRANSFERS, UNPAIDEXPCLM, UNREALISEDCURRENCYGAIN, WAGEPAYABLES, CISASSETS, CISASSET, CISLABOUR, CISLABOUREXPENSE, CISLABOURINCOME, CISLIABILITY, CISMATERIALS,
Read only: true
TaxTypestringOptionalThe tax type from taxRates
TypestringOptionalSee Account Types
One of: BANK, CURRENT, CURRLIAB, DEPRECIATN, DIRECTCOSTS, EQUITY, EXPENSE, FIXED, INVENTORY, LIABILITY, NONCURRENT, OTHERINCOME, OVERHEADS, PREPAYMENT, REVENUE, SALES, TERMLIAB, PAYG
UpdatedDateUTCstringOptionalLast modified date UTC format
Read only: true
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Create a new currency for a Xero organisation — request body — body Code, Retrieves journals — response body — Warnings item

Creates a new credit note — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
CreditNotesarrayOptional
CreditNotes[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Credit Note
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item
paginationModelOptionalExpand Creates a new credit note — request body — body pagination

Referenced models: Creates a new credit note — request body — body pagination, Creates a single payment for invoice or credit notes — request body — body Credit Note, Retrieves journals — response body — Warnings item

Creates a new credit note — request body — body pagination

FieldTypePresenceDescription and constraints
$objectRoot
itemCountintegerOptional
pageintegerOptional
pageCountintegerOptional
pageSizeintegerOptional

Creates a new credit note — response body

FieldTypePresenceDescription and constraints
$objectRoot
CreditNotesarrayOptional
CreditNotes[]ModelEach itemExpand Deletes an Allocation from a Prepayment — response body — Credit Note
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item
paginationModelOptionalExpand Retrieves prepayments — response body — pagination

Referenced models: Retrieves prepayments — response body — pagination, Deletes an Allocation from a Prepayment — response body — Credit Note, Retrieves journals — response body — Warnings item

Creates a payment service — response body

FieldTypePresenceDescription and constraints
$objectRoot
PaymentServicesarrayOptional
PaymentServices[]ModelEach itemExpand Creates a payment service — response body — Payment Services item

Referenced models: Creates a payment service — response body — Payment Services item

Creates a payment service — response body — Payment Services item

FieldTypePresenceDescription and constraints
$JSONRoot
PayNowTextstringOptionalThe text displayed on the Pay Now button in Xero Online Invoicing. If this is not set it will default to Pay by credit card
PaymentServiceIDstringOptionalXero identifier
Format: uuid
PaymentServiceNamestringOptionalName of payment service
PaymentServiceTypestringOptionalThis will always be CUSTOM for payment services created via the API.
PaymentServiceUrlstringOptionalThe custom payment URL
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Retrieves journals — response body — Warnings item

Creates a single payment for invoice or credit notes — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
AccountModelOptionalExpand Creates a new chart of accounts — request body — body
AmountnumberOptionalThe amount of the payment. Must be less than or equal to the outstanding amount owing on the invoice e.g. 200.00
Format: double
BankAccountNumberstringOptionalThe suppliers bank account number the payment is being made to
BankAmountnumberOptionalThe amount of the payment in the currency of the bank account.
Format: double
BatchPaymentModelOptionalExpand Creates a single payment for invoice or credit notes — request body — body Batch Payment
BatchPaymentIDstringOptionalPresent if the payment was created as part of a batch.
Format: uuid
CodestringOptionalCode of account you are using to make the payment e.g. 001 (note- not all accounts have a code value)
CreditNoteModelOptionalExpand Creates a single payment for invoice or credit notes — request body — body Credit Note
CreditNoteNumberstringOptionalNumber of invoice or credit note you are applying payment to e.g. INV-4003
CurrencyRatenumberOptionalExchange rate when payment is received. Only used for non base currency invoices and credit notes e.g. 0.7500
Format: double
DatestringOptionalDate the payment is being made (YYYY-MM-DD) e.g. 2009-09-06
DetailsstringOptionalThe information to appear on the supplier's bank account
HasAccountbooleanOptionalA boolean to indicate if a contact has an validation errors
Default: false
HasValidationErrorsbooleanOptionalA boolean to indicate if a contact has an validation errors
Default: false
InvoiceModelOptionalExpand Creates a single payment for invoice or credit notes — request body — body Invoice
InvoiceNumberstringOptionalNumber of invoice or credit note you are applying payment to e.g.INV-4003
IsReconciledbooleanOptionalAn optional parameter for the payment. A boolean indicating whether you would like the payment to be created as reconciled when using PUT, or whether a payment has been reconciled when using GET
OverpaymentModelOptionalExpand Creates a single payment for invoice or credit notes — request body — body Overpayment
ParticularsstringOptionalThe suppliers bank account number the payment is being made to
PaymentIDstringOptionalThe Xero identifier for an Payment e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
PaymentTypestringOptionalSee Payment Types.
One of: ACCRECPAYMENT, ACCPAYPAYMENT, ARCREDITPAYMENT, APCREDITPAYMENT, AROVERPAYMENTPAYMENT, ARPREPAYMENTPAYMENT, APPREPAYMENTPAYMENT, APOVERPAYMENTPAYMENT
Read only: true
PrepaymentModelOptionalExpand Creates a single payment for invoice or credit notes — request body — body Prepayment
ReferencestringOptionalAn optional description for the payment e.g. Direct Debit
StatusstringOptionalThe status of the payment.
One of: AUTHORISED, DELETED
StatusAttributeStringstringOptionalA string to indicate if a invoice status
UpdatedDateUTCstringOptionalUTC timestamp of last update to the payment
Read only: true
UpdatedDateUTCStringstringOptionalUTC ISO-8601 formatted timestamp of last update to the payment
Read only: true
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Creates a new chart of accounts — request body — body, Creates a single payment for invoice or credit notes — request body — body Batch Payment, Creates a single payment for invoice or credit notes — request body — body Credit Note, Creates a single payment for invoice or credit notes — request body — body Invoice, Retrieves journals — response body — Warnings item, Creates a single payment for invoice or credit notes — request body — body Overpayment, Creates a single payment for invoice or credit notes — request body — body Prepayment

Creates a single payment for invoice or credit notes — request body — body Batch Payment

FieldTypePresenceDescription and constraints
$objectRoot
AccountModelOptionalExpand Creates a new chart of accounts — request body — body
AmountnumberOptionalThe amount of the payment. Must be less than or equal to the outstanding amount owing on the invoice e.g. 200.00
Format: double
BatchPaymentIDstringOptionalThe Xero generated unique identifier for the bank transaction (read-only)
Format: uuid
Read only: true
CodestringOptional(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
Maximum length: 12
DatestringOptionalDate the payment is being made (YYYY-MM-DD) e.g. 2009-09-06
DateStringstringOptionalDate the payment is being made (YYYY-MM-DD) e.g. 2009-09-06
DetailsstringOptional(Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18
IsReconciledbooleanOptionalBooelan that tells you if the batch payment has been reconciled (read-only)
Read only: true
NarrativestringOptional(UK Only) Only shows on the statement line in Xero. Max length =18
Maximum length: 18
ParticularsstringOptional(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
Maximum length: 12
PaymentsarrayOptionalAn array of payments
Payments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body
ReferencestringOptional(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
Maximum length: 255
StatusstringOptionalAUTHORISED or DELETED (read-only). New batch payments will have a status of AUTHORISED. It is not possible to delete batch payments via the API.
One of: AUTHORISED, DELETED
Read only: true
TotalAmountnumberOptionalThe total of the payments that make up the batch (read-only)
Format: double
Read only: true
TypestringOptionalPAYBATCH for bill payments or RECBATCH for sales invoice payments (read-only)
One of: PAYBATCH, RECBATCH
Read only: true
UpdatedDateUTCstringOptionalUTC timestamp of last update to the payment
Read only: true
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Creates a new chart of accounts — request body — body, Retrieves journals — response body — Warnings item, Creates a single payment for invoice or credit notes — request body — body

Creates a single payment for invoice or credit notes — request body — body Credit Note

FieldTypePresenceDescription and constraints
$objectRoot
AllocationsarrayOptionalSee Allocations
Allocations[]ModelEach itemExpand Creates allocation for a specific credit note — request body — body Allocations item
AppliedAmountnumberOptionalThe amount of applied to an invoice
Format: double
BrandingThemeIDstringOptionalSee BrandingThemes
Format: uuid
CISDeductionnumberOptionalCIS deduction for UK contractors
Format: double
Read only: true
CISRatenumberOptionalCIS Deduction rate for the organisation
Format: double
Read only: true
ContactModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item
CreditNoteIDstringOptionalXero generated unique identifier
Format: uuid
CreditNoteNumberstringOptionalACCRECCREDIT – Unique alpha numeric code identifying credit note (when missing will auto-generate from your Organisation Invoice Settings)
CurrencyCodeModelOptionalExpand Create a new currency for a Xero organisation — request body — body Code
The specified currency code
CurrencyRatenumberOptionalThe currency rate for a multicurrency invoice. If no rate is specified, the XE.com day rate is used
Format: double
DatestringOptionalThe date the credit note is issued YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation
DueDatestringOptionalDate invoice is due – YYYY-MM-DD
FullyPaidOnDatestringOptionalDate when credit note was fully paid(UTC format)
HasAttachmentsbooleanOptionalboolean to indicate if a credit note has an attachment
Default: false
HasErrorsbooleanOptionalA boolean to indicate if a credit note has an validation errors
Default: false
InvoiceAddressesarrayOptionalAn array of addresses used to auto calculate sales tax
InvoiceAddresses[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Invoice Addresses item
LineAmountTypesstringOptionalLine amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types
One of: Exclusive, Inclusive, NoTax
LineItemsarrayOptionalSee Invoice Line Items
LineItems[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item
PaymentsarrayOptionalSee Payments
Payments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body
ReferencestringOptionalACCRECCREDIT only – additional reference number
RemainingCreditnumberOptionalThe remaining credit balance on the Credit Note
Format: double
SentToContactbooleanOptionalBoolean to set whether the credit note in the Xero app should be marked as “sent”. This can be set only on credit notes that have been approved
StatusstringOptionalSee Credit Note Status Codes
One of: DRAFT, SUBMITTED, DELETED, AUTHORISED, PAID, VOIDED
StatusAttributeStringstringOptionalA string to indicate if a invoice status
SubTotalnumberOptionalThe subtotal of the credit note excluding taxes
Format: double
TotalnumberOptionalThe total of the Credit Note(subtotal + total tax)
Format: double
TotalTaxnumberOptionalThe total tax on the credit note
Format: double
TypestringOptionalSee Credit Note Types
One of: ACCPAYCREDIT, ACCRECCREDIT
UpdatedDateUTCstringOptionalUTC timestamp of last update to the credit note
Read only: true
UpdatedDateUTCStringstringOptionalUTC ISO-8601 formatted timestamp of last update to the credit note
Read only: true
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Create a new currency for a Xero organisation — request body — body Code, Creates allocation for a specific credit note — request body — body Allocations item, Creates contacts to a specific contact group — request body — body Contacts item, Creates a single payment for invoice or credit notes — request body — body Invoice Invoice Addresses item, Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item, Retrieves journals — response body — Warnings item, Creates a single payment for invoice or credit notes — request body — body

Creates a single payment for invoice or credit notes — request body — body Invoice

FieldTypePresenceDescription and constraints
$objectRoot
AmountCreditednumberOptionalSum of all credit notes, over-payments and pre-payments applied to invoice
Format: double
Read only: true
AmountDuenumberOptionalAmount remaining to be paid on invoice
Format: double
Read only: true
AmountPaidnumberOptionalSum of payments received for invoice
Format: double
Read only: true
AttachmentsarrayOptionalDisplays array of attachments from the API
Attachments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item
BrandingThemeIDstringOptionalSee BrandingThemes
Format: uuid
CISDeductionnumberOptionalCIS deduction for UK contractors
Format: double
Read only: true
CISRatenumberOptionalCIS Deduction rate for the organisation
Format: double
Read only: true
ContactModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item
CreditNotesarrayOptionalDetails of credit notes that have been applied to an invoice
Read only: true
CreditNotes[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Credit Note
CurrencyCodeModelOptionalExpand Create a new currency for a Xero organisation — request body — body Code
CurrencyRatenumberOptionalThe currency rate for a multicurrency invoice. If no rate is specified, the XE.com day rate is used. (max length = [18].[6])
Format: double
DatestringOptionalDate invoice was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation
DueDatestringOptionalDate invoice is due – YYYY-MM-DD
EnteredTotalnumberOptionalThe total amount as originally entered for the invoice, before any RoundingAmount adjustment is applied. Only applies to ACCPAY and ACCREC invoices, and only if this opt-in capability has been enabled for your organisation. Can only be set while the invoice is DRAFT; once the invoice is no longer DRAFT this reflects Total. This field is only settable and only returned via the Create and Update endpoints (POST/PUT) and when retrieving a single invoice by ID (GET by ID) – it is not returned when listing invoices (GET)

Format: double
ExpectedPaymentDatestringOptionalShown on sales invoices (Accounts Receivable) when this has been set
FullyPaidOnDatestringOptionalThe date the invoice was fully paid. Only returned on fully paid invoices
Read only: true
HasAttachmentsbooleanOptionalboolean to indicate if an invoice has an attachment
Default: false
Read only: true
HasErrorsbooleanOptionalA boolean to indicate if a invoice has an validation errors
Default: false
InvoiceAddressesarrayOptionalAn array of addresses used to auto calculate sales tax
InvoiceAddresses[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Invoice Addresses item
InvoiceIDstringOptionalXero generated unique identifier for invoice
Format: uuid
InvoiceNumberstringOptionalACCREC – Unique alpha numeric code identifying invoice (when missing will auto-generate from your Organisation Invoice Settings) (max length = 255)
Maximum length: 255
IsDiscountedbooleanOptionalboolean to indicate if an invoice has a discount
Read only: true
LineAmountTypesstringOptionalLine amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types
One of: Exclusive, Inclusive, NoTax
LineItemsarrayOptionalSee LineItems
LineItems[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item
OverpaymentsarrayOptionalSee Overpayments
Read only: true
Overpayments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Overpayment
PaymentsarrayOptionalSee Payments
Read only: true
Payments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body
PlannedPaymentDatestringOptionalShown on bills (Accounts Payable) when this has been set
PrepaymentsarrayOptionalSee Prepayments
Read only: true
Prepayments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Prepayment
ReferencestringOptionalACCREC only – additional reference number
RepeatingInvoiceIDstringOptionalXero generated unique identifier for repeating invoices
Format: uuid
RoundingAmountnumberOptionalAn optional rounding adjustment added to SubTotal + TotalTax to give Total (i.e. Total = SubTotal + TotalTax + RoundingAmount). Only applies to ACCPAY and ACCREC invoices, and only if this opt-in capability has been enabled for your organisation. Not validated while the invoice is DRAFT. For SUBMITTED and AUTHORISED invoices, RoundingAmount is only applied when SubTotal, TotalTax and Total are all supplied together, and must be between -0.10 and 0.10 – values outside this range are rejected with a validation error (on DRAFT invoices, an out-of-range value is ignored instead). This field is only settable and only returned via the Create and Update endpoints (POST/PUT) and when retrieving a single invoice by ID (GET by ID) – it is not returned when listing invoices (GET)

Format: double
SentToContactbooleanOptionalBoolean to set whether the invoice in the Xero app should be marked as “sent”. This can be set only on invoices that have been approved
StatusstringOptionalSee Invoice Status Codes
One of: DRAFT, SUBMITTED, DELETED, AUTHORISED, PAID, VOIDED
StatusAttributeStringstringOptionalA string to indicate if a invoice status
SubTotalnumberOptionalTotal of invoice excluding taxes. Calculated automatically by Xero from the invoice's line items. Only for ACCPAY and ACCREC invoices, where this opt-in capability is enabled for your organisation, can SubTotal be supplied on write – on a SUBMITTED or AUTHORISED invoice supplied together with TotalTax and Total, it is validated against the calculated line item totals (see RoundingAmount); it is ignored in all other cases. This write behaviour, and the returned value reflecting it, only applies to the Create and Update endpoints (POST/PUT) and to retrieving a single invoice by ID (GET by ID) – it does not apply when listing invoices (GET)

Format: double
TotalnumberOptionalTotal of Invoice tax inclusive (i.e. SubTotal + TotalTax + RoundingAmount). Calculated automatically by Xero from the invoice's line items. Only for ACCPAY and ACCREC invoices, where this opt-in capability is enabled for your organisation, can Total be supplied on write – on a SUBMITTED or AUTHORISED invoice supplied together with SubTotal and TotalTax, it is validated against the calculated line item totals plus RoundingAmount; in all other cases this will be ignored if it does not equal the sum of the LineAmounts. This write behaviour, and the returned value reflecting it, only applies to the Create and Update endpoints (POST/PUT) and to retrieving a single invoice by ID (GET by ID) – it does not apply when listing invoices (GET)

Format: double
TotalDiscountnumberOptionalTotal of discounts applied on the invoice line items
Format: double
Read only: true
TotalTaxnumberOptionalTotal tax on invoice. Calculated automatically by Xero from the invoice's line items. Only for ACCPAY and ACCREC invoices, where this opt-in capability is enabled for your organisation, can TotalTax be supplied on write – on a SUBMITTED or AUTHORISED invoice supplied together with SubTotal and Total, it is validated against the calculated line item totals (see RoundingAmount); it is ignored in all other cases. This write behaviour, and the returned value reflecting it, only applies to the Create and Update endpoints (POST/PUT) and to retrieving a single invoice by ID (GET by ID) – it does not apply when listing invoices (GET)

Format: double
TypestringOptionalSee Invoice Types
One of: ACCPAY, ACCPAYCREDIT, APOVERPAYMENT, APPREPAYMENT, ACCREC, ACCRECCREDIT, AROVERPAYMENT, ARPREPAYMENT
UpdatedDateUTCstringOptionalUTC timestamp of last update to the invoice
Read only: true
UpdatedDateUTCStringstringOptionalUTC ISO-8601 formatted timestamp of last update to the invoice
Read only: true
UrlstringOptionalURL link to a source document – shown as “Go to [appName]” in the Xero app
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Create a new currency for a Xero organisation — request body — body Code, Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item, Creates contacts to a specific contact group — request body — body Contacts item, Creates a single payment for invoice or credit notes — request body — body Credit Note, Creates a single payment for invoice or credit notes — request body — body Invoice Invoice Addresses item, Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item, Retrieves journals — response body — Warnings item, Creates a single payment for invoice or credit notes — request body — body Overpayment, Creates a single payment for invoice or credit notes — request body — body, Creates a single payment for invoice or credit notes — request body — body Prepayment

Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item

FieldTypePresenceDescription and constraints
$objectRoot
AttachmentIDstringOptionalUnique ID for the file
Format: uuid
ContentLengthintegerOptionalLength of the file content
FileNamestringOptionalName of the file
IncludeOnlinebooleanOptionalInclude the file with the online invoice
MimeTypestringOptionalType of file
UrlstringOptionalURL to the file on xero.com

Creates a single payment for invoice or credit notes — request body — body Invoice Invoice Addresses item

FieldTypePresenceDescription and constraints
$objectRoot
AddressLine1stringOptionalFirst line of a physical address
AddressLine2stringOptionalSecond line of a physical address
AddressLine3stringOptionalThird line of a physical address
AddressLine4stringOptionalFourth line of a physical address
CitystringOptionalCity of a physical address
CountrystringOptionalCountry of a physical address
InvoiceAddressTypestringOptionalIndicates whether the address is defined as origin (FROM) or destination (TO)
One of: FROM, TO
PostalCodestringOptionalPostal code of a physical address
RegionstringOptionalRegion or state of a physical address

Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item

FieldTypePresenceDescription and constraints
$objectRoot
AccountCodestringOptionalSee Accounts
AccountIDstringOptionalThe associated account ID related to this line item
Format: uuid
DescriptionstringOptionalDescription needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a <Description> element that contains at least 1 character
DiscountAmountnumberOptionalDiscount amount being applied to a line item. Only supported on ACCREC invoices and quotes. ACCPAY invoices and credit notes in Xero do not support discounts.
Format: double
DiscountRatenumberOptionalPercentage discount being applied to a line item (only supported on ACCREC invoices – ACC PAY invoices and credit notes in Xero do not support discounts
Format: double
ItemModelOptionalExpand Deletes an Allocation from a Prepayment — response body — Invoice Line Items item Item
ItemCodestringOptionalSee Items
LineAmountnumberOptionalIf you wish to omit either the Quantity or UnitAmount you can provide a LineAmount and Xero will calculate the missing amount for you. The line amount reflects the discounted price if either a DiscountRate or DiscountAmount has been used i.e. LineAmount = Quantity * Unit Amount * ((100 - DiscountRate)/100) or LineAmount = (Quantity * UnitAmount) - DiscountAmount
Format: double
LineItemIDstringOptionalLineItem unique ID
Format: uuid
QuantitynumberOptionalLineItem Quantity
Format: double
RepeatingInvoiceIDstringOptionalThe Xero identifier for a Repeating Invoice
Format: uuid
SalesTaxCodeIdnumberOptionalThe ID of the sales tax code
TaxAmountnumberOptionalThe tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated <TaxAmount> is not correct.
Format: double
TaxBreakdownarrayOptionalAn array of tax components defined for this line item
TaxBreakdown[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item Tax Breakdown item
TaxTypestringOptionalThe tax type from TaxRates
TaxabilitystringOptionalThe type of taxability
One of: TAXABLE, NON_TAXABLE, EXEMPT, PART_TAXABLE, NOT_APPLICABLE
TrackingarrayOptionalOptional Tracking Category – see Tracking. Any LineItem can have a maximum of 2 <TrackingCategory> elements.
Tracking[]ModelEach itemExpand Deletes an Allocation from a Prepayment — response body — Invoice Line Items item Tracking item
UnitAmountnumberOptionalLineItem Unit Amount
Format: double

Referenced models: Deletes an Allocation from a Prepayment — response body — Invoice Line Items item Item, Deletes an Allocation from a Prepayment — response body — Invoice Line Items item Tracking item, Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item Tax Breakdown item

Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item Tax Breakdown item

FieldTypePresenceDescription and constraints
$objectRoot
ExemptAmountnumberOptionalThe amount that is exempt
JurisdictionRegionstringOptionalName identifying the region within the country
NamestringOptionalThe name of the jurisdiction
NonTaxableAmountnumberOptionalThe amount that is not taxable
StateAssignedNostringOptionalThe state assigned number of the jurisdiction
TaxAmountnumberOptionalThe amount of the tax
TaxComponentIdstringOptionalThe unique ID number of this component
Format: uuid
TaxPercentagenumberOptionalThe percentage of the tax
TaxableAmountnumberOptionalThe amount that is taxable
TypestringOptionalThe type of the jurisdiction
One of: SYSGST/USCOUNTRY, SYSGST/USSTATE, SYSGST/USCOUNTY, SYSGST/USCITY, SYSGST/USSPECIAL

Creates a single payment for invoice or credit notes — request body — body Overpayment

FieldTypePresenceDescription and constraints
$objectRoot
AllocationsarrayOptionalSee Allocations
Allocations[]ModelEach itemExpand Creates allocation for a specific credit note — request body — body Allocations item
AppliedAmountnumberOptionalThe amount of applied to an invoice
Format: double
AttachmentsarrayOptionalSee Attachments
Attachments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item
ContactModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item
CurrencyCodeModelOptionalExpand Create a new currency for a Xero organisation — request body — body Code
CurrencyRatenumberOptionalThe currency rate for a multicurrency overpayment. If no rate is specified, the XE.com day rate is used
Format: double
DatestringOptionalThe date the overpayment is created YYYY-MM-DD
HasAttachmentsbooleanOptionalboolean to indicate if a overpayment has an attachment
Default: false
Read only: true
LineAmountTypesstringOptionalLine amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types
One of: Exclusive, Inclusive, NoTax
LineItemsarrayOptionalSee Overpayment Line Items
LineItems[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item
OverpaymentIDstringOptionalXero generated unique identifier
Format: uuid
PaymentsarrayOptionalSee Payments
Payments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body
ReferencestringOptionalAn optional description for Overpayment
RemainingCreditnumberOptionalThe remaining credit balance on the overpayment
Format: double
StatusstringOptionalSee Overpayment Status Codes
One of: AUTHORISED, PAID, VOIDED
SubTotalnumberOptionalThe subtotal of the overpayment excluding taxes
Format: double
TotalnumberOptionalThe total of the overpayment (subtotal + total tax)
Format: double
TotalTaxnumberOptionalThe total tax on the overpayment
Format: double
TypestringOptionalSee Overpayment Types
One of: RECEIVE-OVERPAYMENT, SPEND-OVERPAYMENT, AROVERPAYMENT
UpdatedDateUTCstringOptionalUTC timestamp of last update to the overpayment
Read only: true
UpdatedDateUTCStringstringOptionalUTC ISO-8601 formatted timestamp of last update to the overpayment
Read only: true

Referenced models: Create a new currency for a Xero organisation — request body — body Code, Creates allocation for a specific credit note — request body — body Allocations item, Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item, Creates contacts to a specific contact group — request body — body Contacts item, Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item, Creates a single payment for invoice or credit notes — request body — body

Creates a single payment for invoice or credit notes — request body — body Prepayment

FieldTypePresenceDescription and constraints
$objectRoot
AllocationsarrayOptionalSee Allocations
Allocations[]ModelEach itemExpand Creates allocation for a specific credit note — request body — body Allocations item
AppliedAmountnumberOptionalThe amount of applied to an invoice
Format: double
AttachmentsarrayOptionalSee Attachments
Attachments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item
BrandingThemeIDstringOptionalThe unique identifier of the branding template applied to a receive prepayment
Format: uuid
Read only: true
ContactModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item
CurrencyCodeModelOptionalExpand Create a new currency for a Xero organisation — request body — body Code
CurrencyRatenumberOptionalThe currency rate for a multicurrency prepayment. If no rate is specified, the XE.com day rate is used
Format: double
DatestringOptionalThe date the prepayment is created YYYY-MM-DD
HasAttachmentsbooleanOptionalboolean to indicate if a prepayment has an attachment
Default: false
Read only: true
InvoiceNumberstringOptionalReturns Invoice number for prepayment receive document only.
Read only: true
LineAmountTypesstringOptionalLine amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types
One of: Exclusive, Inclusive, NoTax
LineItemsarrayOptionalSee Prepayment Line Items
LineItems[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item
PaymentsarrayOptionalSee Payments
Payments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body
PrepaymentIDstringOptionalXero generated unique identifier
Format: uuid
ReferencestringOptionalReturns Invoice number field. Reference field isn't available.
Read only: true
RemainingCreditnumberOptionalThe remaining credit balance on the prepayment
Format: double
StatusstringOptionalSee Prepayment Status Codes
One of: AUTHORISED, PAID, VOIDED
SubTotalnumberOptionalThe subtotal of the prepayment excluding taxes
Format: double
TotalnumberOptionalThe total of the prepayment(subtotal + total tax)
Format: double
TotalTaxnumberOptionalThe total tax on the prepayment
Format: double
TypestringOptionalSee Prepayment Types
One of: RECEIVE-PREPAYMENT, SPEND-PREPAYMENT, ARPREPAYMENT, APPREPAYMENT
UpdatedDateUTCstringOptionalUTC timestamp of last update to the prepayment
Read only: true
UpdatedDateUTCStringstringOptionalUTC ISO-8601 formatted timestamp of last update to the prepayment
Read only: true

Referenced models: Create a new currency for a Xero organisation — request body — body Code, Creates allocation for a specific credit note — request body — body Allocations item, Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item, Creates contacts to a specific contact group — request body — body Contacts item, Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item, Creates a single payment for invoice or credit notes — request body — body

Creates allocation for a specific credit note — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
AllocationsarrayOptional
Allocations[]ModelEach itemExpand Creates allocation for a specific credit note — request body — body Allocations item

Referenced models: Creates allocation for a specific credit note — request body — body Allocations item

Creates allocation for a specific credit note — request body — body Allocations item

FieldTypePresenceDescription and constraints
$objectRoot
AllocationIDstringOptionalXero generated unique identifier
Format: uuid
AmountnumberRequired within parentthe amount being applied to the invoice
Format: double
CreditNoteModelOptionalExpand Creates a single payment for invoice or credit notes — request body — body Credit Note
DatestringRequired within parentthe date the allocation is applied YYYY-MM-DD.
InvoiceModelRequired within parentExpand Creates a single payment for invoice or credit notes — request body — body Invoice
IsDeletedbooleanOptionalA flag that returns true when the allocation is succesfully deleted
Read only: true
OverpaymentModelOptionalExpand Creates a single payment for invoice or credit notes — request body — body Overpayment
PrepaymentModelOptionalExpand Creates a single payment for invoice or credit notes — request body — body Prepayment
StatusAttributeStringstringOptionalA string to indicate if a invoice status
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Creates a single payment for invoice or credit notes — request body — body Credit Note, Creates a single payment for invoice or credit notes — request body — body Invoice, Retrieves journals — response body — Warnings item, Creates a single payment for invoice or credit notes — request body — body Overpayment, Creates a single payment for invoice or credit notes — request body — body Prepayment

Creates allocation for a specific credit note — response body

FieldTypePresenceDescription and constraints
$objectRoot
AllocationsarrayOptional
Allocations[]ModelEach itemExpand Deletes an Allocation from a Prepayment — response body

Referenced models: Deletes an Allocation from a Prepayment — response body

Creates contacts to a specific contact group — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
ContactsarrayOptional
Contacts[]ModelEach itemExpand Creates contacts to a specific contact group — request body — body Contacts item
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item
paginationModelOptionalExpand Creates a new credit note — request body — body pagination

Referenced models: Creates a new credit note — request body — body pagination, Creates contacts to a specific contact group — request body — body Contacts item, Retrieves journals — response body — Warnings item

Creates contacts to a specific contact group — request body — body Contacts item

FieldTypePresenceDescription and constraints
$objectRoot
AccountNumberstringOptionalA user defined account number. This can be updated via the API and the Xero UI (max length = 50)
Maximum length: 50
AccountsPayableTaxTypestringOptionalThe tax type from TaxRates
AccountsReceivableTaxTypestringOptionalThe tax type from TaxRates
AddressesarrayOptionalStore certain address types for a contact – see address types
Addresses[]ModelEach itemExpand Creates contacts to a specific contact group — request body — body Contacts item Addresses item
AttachmentsarrayOptionalDisplays array of attachments from the API
Attachments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item
BalancesModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item Balances
BankAccountDetailsstringOptionalBank account number of contact
BatchPaymentsModelOptionalExpand Creates contacts to a specific contact group — response body — Contacts item Batch Payments
BrandingThemeModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item Branding Theme
CompanyNumberstringOptionalCompany registration number (max length = 50)
Maximum length: 50
ContactGroupsarrayOptionalDisplays which contact groups a contact is included in
ContactGroups[]ModelEach itemExpand Creates a contact group — request body — body Contact Groups item
ContactIDstringOptionalXero identifier
Format: uuid
ContactNumberstringOptionalThis can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero.
Maximum length: 50
ContactPersonsarrayOptionalSee contact persons
ContactPersons[]ModelEach itemExpand Creates contacts to a specific contact group — response body — Contacts item Contact Persons item
ContactStatusstringOptionalCurrent status of a contact – see contact status types
One of: ACTIVE, ARCHIVED, GDPRREQUEST
DefaultCurrencyModelOptionalExpand Create a new currency for a Xero organisation — request body — body Code
DiscountnumberOptionalThe default discount rate for the contact (read only)
Format: double
Read only: true
EmailAddressstringOptionalEmail address of contact person (umlauts not supported) (max length = 255)
Maximum length: 255
FirstNamestringOptionalFirst name of contact person (max length = 255)
Maximum length: 255
HasAttachmentsbooleanOptionalA boolean to indicate if a contact has an attachment
Default: false
HasValidationErrorsbooleanOptionalA boolean to indicate if a contact has an validation errors
Default: false
IsCustomerbooleanOptionaltrue or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact.
IsSupplierbooleanOptionaltrue or false – Boolean that describes if a contact that has any AP invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact.
LastNamestringOptionalLast name of contact person (max length = 255)
Maximum length: 255
MergedToContactIDstringOptionalID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber.
Format: uuid
NamestringOptionalFull name of contact/organisation (max length = 255)
Maximum length: 255
PaymentTermsModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item Payment Terms
PhonesarrayOptionalStore certain phone types for a contact – see phone types
Phones[]ModelEach itemExpand Creates contacts to a specific contact group — request body — body Contacts item Phones item
PurchasesDefaultAccountCodestringOptionalThe default purchases account code for contacts
PurchasesDefaultLineAmountTypestringOptionalThe default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.
One of: INCLUSIVE, EXCLUSIVE, NONE
PurchasesTrackingCategoriesarrayOptionalThe default purchases tracking categories for contacts
PurchasesTrackingCategories[]ModelEach itemExpand Creates contacts to a specific contact group — response body — Contacts item Sales Tracking Categories item
SalesDefaultAccountCodestringOptionalThe default sales account code for contacts
SalesDefaultLineAmountTypestringOptionalThe default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.
One of: INCLUSIVE, EXCLUSIVE, NONE
SalesTrackingCategoriesarrayOptionalThe default sales tracking categories for contacts
SalesTrackingCategories[]ModelEach itemExpand Creates contacts to a specific contact group — response body — Contacts item Sales Tracking Categories item
StatusAttributeStringstringOptionalStatus of object
TaxNumberstringOptionalTax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)
Maximum length: 50
TaxNumberTypestringOptionalIdentifier of the regional type of tax number, such as US, UK, or other regional tax identifiers
One of: SSN, EIN, ITIN, ATIN
TrackingCategoryNamestringOptionalThe name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories
TrackingCategoryOptionstringOptionalThe name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories
UpdatedDateUTCstringOptionalUTC timestamp of last update to contact
Read only: true
ValidationErrorsarrayOptionalDisplays validation errors returned from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item
WebsitestringOptionalWebsite address for contact (read only)
Read only: true
XeroNetworkKeystringOptionalStore XeroNetworkKey for contacts.

Referenced models: Create a new currency for a Xero organisation — request body — body Code, Creates contacts to a specific contact group — request body — body Contacts item Addresses item, Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item, Creates contacts to a specific contact group — request body — body Contacts item Balances, Creates contacts to a specific contact group — response body — Contacts item Batch Payments, Creates contacts to a specific contact group — request body — body Contacts item Branding Theme, Creates a contact group — request body — body Contact Groups item, Creates contacts to a specific contact group — response body — Contacts item Contact Persons item, Creates contacts to a specific contact group — response body — Contacts item Sales Tracking Categories item, Retrieves journals — response body — Warnings item, Creates contacts to a specific contact group — request body — body Contacts item Payment Terms, Creates contacts to a specific contact group — request body — body Contacts item Phones item

Creates contacts to a specific contact group — request body — body Contacts item Addresses item

FieldTypePresenceDescription and constraints
$objectRoot
AddressLine1stringOptionalmax length = 500
Maximum length: 500
AddressLine2stringOptionalmax length = 500
Maximum length: 500
AddressLine3stringOptionalmax length = 500
Maximum length: 500
AddressLine4stringOptionalmax length = 500
Maximum length: 500
AddressTypestringOptionaldefine the type of address
One of: POBOX, STREET
AttentionTostringOptionalmax length = 255
Maximum length: 255
CitystringOptionalmax length = 255
Maximum length: 255
CountrystringOptionalmax length = 50, [A-Z], [a-z] only
Maximum length: 50
PostalCodestringOptionalmax length = 50
Maximum length: 50
RegionstringOptionalmax length = 255
Maximum length: 255

Creates contacts to a specific contact group — request body — body Contacts item Balances

FieldTypePresenceDescription and constraints
$objectRootThe raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)
AccountsPayableModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item Balances Accounts Payable
AccountsReceivableModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item Balances Accounts Payable

Referenced models: Creates contacts to a specific contact group — request body — body Contacts item Balances Accounts Payable

Creates contacts to a specific contact group — request body — body Contacts item Balances Accounts Payable

FieldTypePresenceDescription and constraints
$objectRoot
OutstandingnumberOptionalFormat: double
OverduenumberOptionalFormat: double

Creates contacts to a specific contact group — request body — body Contacts item Branding Theme

FieldTypePresenceDescription and constraints
$objectRoot
BrandingThemeIDstringOptionalXero identifier
Format: uuid
CreatedDateUTCstringOptionalUTC timestamp of creation date of branding theme
Read only: true
LogoUrlstringOptionalThe location of the image file used as the logo on this branding theme
NamestringOptionalName of branding theme
SortOrderintegerOptionalInteger – ranked order of branding theme. The default branding theme has a value of 0
TypestringOptionalAlways INVOICE
One of: INVOICE

Creates contacts to a specific contact group — request body — body Contacts item Payment Terms

FieldTypePresenceDescription and constraints
$objectRoot
BillsModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item Payment Terms Bills
SalesModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item Payment Terms Bills

Referenced models: Creates contacts to a specific contact group — request body — body Contacts item Payment Terms Bills

Creates contacts to a specific contact group — request body — body Contacts item Payment Terms Bills

FieldTypePresenceDescription and constraints
$objectRoot
DayintegerOptionalDay of Month (0-31)
TypestringOptionalOne of: DAYSAFTERBILLDATE, DAYSAFTERBILLMONTH, OFCURRENTMONTH, OFFOLLOWINGMONTH

Creates contacts to a specific contact group — request body — body Contacts item Phones item

FieldTypePresenceDescription and constraints
$objectRoot
PhoneAreaCodestringOptionalmax length = 10
Maximum length: 10
PhoneCountryCodestringOptionalmax length = 20
Maximum length: 20
PhoneNumberstringOptionalmax length = 50
Maximum length: 50
PhoneTypestringOptionalOne of: DEFAULT, DDI, MOBILE, FAX, OFFICE

Creates contacts to a specific contact group — response body

FieldTypePresenceDescription and constraints
$objectRoot
ContactsarrayOptional
Contacts[]ModelEach itemExpand Creates contacts to a specific contact group — response body — Contacts item
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item
paginationModelOptionalExpand Retrieves prepayments — response body — pagination

Referenced models: Retrieves prepayments — response body — pagination, Creates contacts to a specific contact group — response body — Contacts item, Retrieves journals — response body — Warnings item

Creates contacts to a specific contact group — response body — Contacts item

FieldTypePresenceDescription and constraints
$objectRoot
AccountNumberstringOptionalA user defined account number. This can be updated via the API and the Xero UI (max length = 50)
Maximum length: 50
AccountsPayableTaxTypestringOptionalThe tax type from TaxRates
AccountsReceivableTaxTypestringOptionalThe tax type from TaxRates
AddressesarrayOptionalStore certain address types for a contact – see address types
Addresses[]ModelEach itemExpand Creates contacts to a specific contact group — response body — Contacts item Addresses item
AttachmentsarrayOptionalDisplays array of attachments from the API
Attachments[]ModelEach itemExpand create Contact Attachment By File Name — response body — Attachments item
BalancesModelOptionalExpand Creates contacts to a specific contact group — response body — Contacts item Balances
BankAccountDetailsstringOptionalBank account number of contact
BatchPaymentsModelOptionalExpand Creates contacts to a specific contact group — response body — Contacts item Batch Payments
BrandingThemeModelOptionalExpand Retrieves all the branding themes — response body — Branding Themes item
CompanyNumberstringOptionalCompany registration number (max length = 50)
Maximum length: 50
ContactGroupsarrayOptionalDisplays which contact groups a contact is included in
ContactGroups[]ModelEach itemExpand Creates a contact group — response body — Contact Groups item
ContactIDstringOptionalXero identifier
Format: uuid
ContactNumberstringOptionalThis can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero.
Maximum length: 50
ContactPersonsarrayOptionalSee contact persons
ContactPersons[]ModelEach itemExpand Creates contacts to a specific contact group — response body — Contacts item Contact Persons item
ContactStatusstringOptionalCurrent status of a contact – see contact status types
Known values: ACTIVE, ARCHIVED, GDPRREQUEST
DefaultCurrencyModelOptionalExpand Deletes an Allocation from a Prepayment — response body — Invoice Currency Code
DiscountJSONOptional
Discount (anyOf 1)numberAlternativeThe default discount rate for the contact (read only)
Format: double
Read only: true
Discount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
EmailAddressstringOptionalEmail address of contact person (umlauts not supported) (max length = 255)
Maximum length: 255
FirstNamestringOptionalFirst name of contact person (max length = 255)
Maximum length: 255
HasAttachmentsbooleanOptionalA boolean to indicate if a contact has an attachment
Default: false
HasValidationErrorsbooleanOptionalA boolean to indicate if a contact has an validation errors
Default: false
IsCustomerbooleanOptionaltrue or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact.
IsSupplierbooleanOptionaltrue or false – Boolean that describes if a contact that has any AP invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact.
LastNamestringOptionalLast name of contact person (max length = 255)
Maximum length: 255
MergedToContactIDstringOptionalID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber.
Format: uuid
NamestringOptionalFull name of contact/organisation (max length = 255)
Maximum length: 255
PaymentTermsModelOptionalExpand Creates contacts to a specific contact group — response body — Contacts item Payment Terms
PhonesarrayOptionalStore certain phone types for a contact – see phone types
Phones[]ModelEach itemExpand Creates contacts to a specific contact group — response body — Contacts item Phones item
PurchasesDefaultAccountCodestringOptionalThe default purchases account code for contacts
PurchasesDefaultLineAmountTypestringOptionalThe default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.
Known values: INCLUSIVE, EXCLUSIVE, NONE
PurchasesTrackingCategoriesarrayOptionalThe default purchases tracking categories for contacts
PurchasesTrackingCategories[]ModelEach itemExpand Creates contacts to a specific contact group — response body — Contacts item Sales Tracking Categories item
SalesDefaultAccountCodestringOptionalThe default sales account code for contacts
SalesDefaultLineAmountTypestringOptionalThe default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.
Known values: INCLUSIVE, EXCLUSIVE, NONE
SalesTrackingCategoriesarrayOptionalThe default sales tracking categories for contacts
SalesTrackingCategories[]ModelEach itemExpand Creates contacts to a specific contact group — response body — Contacts item Sales Tracking Categories item
StatusAttributeStringstringOptionalStatus of object
TaxNumberstringOptionalTax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)
Maximum length: 50
TaxNumberTypestringOptionalIdentifier of the regional type of tax number, such as US, UK, or other regional tax identifiers
Known values: SSN, EIN, ITIN, ATIN
TrackingCategoryNamestringOptionalThe name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories
TrackingCategoryOptionstringOptionalThe name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories
UpdatedDateUTCstringOptionalUTC timestamp of last update to contact
Read only: true
ValidationErrorsarrayOptionalDisplays validation errors returned from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item
WebsitestringOptionalWebsite address for contact (read only)
Read only: true
XeroNetworkKeystringOptionalStore XeroNetworkKey for contacts.

Referenced models: Creates contacts to a specific contact group — response body — Contacts item Batch Payments, Creates contacts to a specific contact group — response body — Contacts item Contact Persons item, Deletes an Allocation from a Prepayment — response body — Invoice Currency Code, Creates contacts to a specific contact group — response body — Contacts item Addresses item, create Contact Attachment By File Name — response body — Attachments item, Creates contacts to a specific contact group — response body — Contacts item Balances, Retrieves all the branding themes — response body — Branding Themes item, Creates a contact group — response body — Contact Groups item, Creates contacts to a specific contact group — response body — Contacts item Payment Terms, Creates contacts to a specific contact group — response body — Contacts item Phones item, Creates contacts to a specific contact group — response body — Contacts item Sales Tracking Categories item, Retrieves journals — response body — Warnings item

Creates contacts to a specific contact group — response body — Contacts item Addresses item

FieldTypePresenceDescription and constraints
$objectRoot
AddressLine1stringOptionalmax length = 500
Maximum length: 500
AddressLine2stringOptionalmax length = 500
Maximum length: 500
AddressLine3stringOptionalmax length = 500
Maximum length: 500
AddressLine4stringOptionalmax length = 500
Maximum length: 500
AddressTypestringOptionaldefine the type of address
Known values: POBOX, STREET
AttentionTostringOptionalmax length = 255
Maximum length: 255
CitystringOptionalmax length = 255
Maximum length: 255
CountrystringOptionalmax length = 50, [A-Z], [a-z] only
Maximum length: 50
PostalCodestringOptionalmax length = 50
Maximum length: 50
RegionstringOptionalmax length = 255
Maximum length: 255

Creates contacts to a specific contact group — response body — Contacts item Balances

FieldTypePresenceDescription and constraints
$objectRootThe raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)
AccountsPayableModelOptionalExpand Creates contacts to a specific contact group — response body — Contacts item Balances Accounts Payable
AccountsReceivableModelOptionalExpand Creates contacts to a specific contact group — response body — Contacts item Balances Accounts Payable

Referenced models: Creates contacts to a specific contact group — response body — Contacts item Balances Accounts Payable

Creates contacts to a specific contact group — response body — Contacts item Balances Accounts Payable

FieldTypePresenceDescription and constraints
$objectRoot
OutstandingJSONOptional
Outstanding (anyOf 1)numberAlternativeFormat: double
Outstanding (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
OverdueJSONOptional
Overdue (anyOf 1)numberAlternativeFormat: double
Overdue (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

Creates contacts to a specific contact group — response body — Contacts item Batch Payments

FieldTypePresenceDescription and constraints
$JSONRootBank details for use on a batch payment stored with each contact
BankAccountNamestringOptionalName of bank for use with Batch Payments
BankAccountNumberstringOptionalBank account number for use with Batch Payments
CodestringOptional(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
Maximum length: 12
DetailsstringOptional(Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18
ReferencestringOptional(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
Maximum length: 12

Creates contacts to a specific contact group — response body — Contacts item Contact Persons item

FieldTypePresenceDescription and constraints
$objectRoot
EmailAddressstringOptionalEmail address of person
FirstNamestringOptionalFirst name of person
IncludeInEmailsbooleanOptionalboolean to indicate whether contact should be included on emails with invoices etc.
LastNamestringOptionalLast name of person

Creates contacts to a specific contact group — response body — Contacts item Payment Terms

FieldTypePresenceDescription and constraints
$objectRoot
BillsModelOptionalExpand Creates contacts to a specific contact group — response body — Contacts item Payment Terms Bills
SalesModelOptionalExpand Creates contacts to a specific contact group — response body — Contacts item Payment Terms Bills

Referenced models: Creates contacts to a specific contact group — response body — Contacts item Payment Terms Bills

Creates contacts to a specific contact group — response body — Contacts item Payment Terms Bills

FieldTypePresenceDescription and constraints
$objectRoot
DayJSONOptional
Day (anyOf 1)integerAlternativeDay of Month (0-31)
Day (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
TypestringOptionalKnown values: DAYSAFTERBILLDATE, DAYSAFTERBILLMONTH, OFCURRENTMONTH, OFFOLLOWINGMONTH

Creates contacts to a specific contact group — response body — Contacts item Phones item

FieldTypePresenceDescription and constraints
$objectRoot
PhoneAreaCodestringOptionalmax length = 10
Maximum length: 10
PhoneCountryCodestringOptionalmax length = 20
Maximum length: 20
PhoneNumberstringOptionalmax length = 50
Maximum length: 50
PhoneTypestringOptionalKnown values: DEFAULT, DDI, MOBILE, FAX, OFFICE

Creates contacts to a specific contact group — response body — Contacts item Sales Tracking Categories item

FieldTypePresenceDescription and constraints
$objectRoot
TrackingCategoryNamestringOptionalThe default sales tracking category name for contacts
TrackingOptionNamestringOptionalThe default purchase tracking category name for contacts

Creates expense claims — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
ExpenseClaimsarrayOptional
ExpenseClaims[]ModelEach itemExpand Creates expense claims — request body — body Expense Claims item

Referenced models: Creates expense claims — request body — body Expense Claims item

Creates expense claims — request body — body Expense Claims item

FieldTypePresenceDescription and constraints
$objectRoot
AmountDuenumberOptionalThe amount due to be paid for an expense claim
Format: double
Read only: true
AmountPaidnumberOptionalThe amount still to pay for an expense claim
Format: double
Read only: true
ExpenseClaimIDstringOptionalXero generated unique identifier for an expense claim
Format: uuid
PaymentDueDatestringOptionalThe date when the expense claim is due to be paid YYYY-MM-DD
Read only: true
PaymentsarrayOptionalSee Payments
Payments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body
ReceiptIDstringOptionalThe Xero identifier for the Receipt e.g. e59a2c7f-1306-4078-a0f3-73537afcbba9
Format: uuid
ReceiptsarrayOptional
Receipts[]ModelEach itemExpand Updates a specific draft expense claim receipts — request body — body Receipts item
ReportingDatestringOptionalThe date the expense claim will be reported in Xero YYYY-MM-DD
Read only: true
StatusstringOptionalCurrent status of an expense claim – see status types
One of: SUBMITTED, AUTHORISED, PAID, VOIDED, DELETED
TotalnumberOptionalThe total of an expense claim being paid
Format: double
Read only: true
UpdatedDateUTCstringOptionalLast modified date UTC format
Read only: true
UserModelOptionalExpand Updates a specific draft expense claim receipts — request body — body Receipts item User

Referenced models: Updates a specific draft expense claim receipts — request body — body Receipts item User, Creates a single payment for invoice or credit notes — request body — body, Updates a specific draft expense claim receipts — request body — body Receipts item

Creates expense claims — response body

FieldTypePresenceDescription and constraints
$objectRoot
ExpenseClaimsarrayOptional
ExpenseClaims[]ModelEach itemExpand Creates expense claims — response body — Expense Claims item

Referenced models: Creates expense claims — response body — Expense Claims item

Creates expense claims — response body — Expense Claims item

FieldTypePresenceDescription and constraints
$objectRoot
AmountDueJSONOptional
AmountDue (anyOf 1)numberAlternativeThe amount due to be paid for an expense claim
Format: double
Read only: true
AmountDue (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
AmountPaidJSONOptional
AmountPaid (anyOf 1)numberAlternativeThe amount still to pay for an expense claim
Format: double
Read only: true
AmountPaid (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
ExpenseClaimIDstringOptionalXero generated unique identifier for an expense claim
Format: uuid
PaymentDueDatestringOptionalThe date when the expense claim is due to be paid YYYY-MM-DD
Read only: true
PaymentsarrayOptionalSee Payments
Payments[]ModelEach itemExpand Retrieves payments for invoices and credit notes — response body — Payments item
ReceiptIDstringOptionalThe Xero identifier for the Receipt e.g. e59a2c7f-1306-4078-a0f3-73537afcbba9
Format: uuid
ReceiptsarrayOptional
Receipts[]ModelEach itemExpand Updates a specific draft expense claim receipts — response body — Receipts item
ReportingDatestringOptionalThe date the expense claim will be reported in Xero YYYY-MM-DD
Read only: true
StatusstringOptionalCurrent status of an expense claim – see status types
Known values: SUBMITTED, AUTHORISED, PAID, VOIDED, DELETED
TotalJSONOptional
Total (anyOf 1)numberAlternativeThe total of an expense claim being paid
Format: double
Read only: true
Total (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
UpdatedDateUTCstringOptionalLast modified date UTC format
Read only: true
UserModelOptionalExpand Retrieves users — response body — Users item

Referenced models: Retrieves users — response body — Users item, Retrieves payments for invoices and credit notes — response body — Payments item, Updates a specific draft expense claim receipts — response body — Receipts item

Creates linked transactions (billable expenses) — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
ContactIDstringOptionalFilter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID=4bb34b03-3378-4bb2-a0ed-6345abf3224e&Status=APPROVED.
Format: uuid
LinkedTransactionIDstringOptionalThe Xero identifier for an Linked Transaction e.g./LinkedTransactions/297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
SourceLineItemIDstringOptionalThe line item identifier from the source transaction.
Format: uuid
SourceTransactionIDstringOptionalFilter by the SourceTransactionID. Get all the linked transactions created from a particular ACCPAY invoice
Format: uuid
SourceTransactionTypeCodestringOptionalThe Type of the source tranasction. This will be ACCPAY if the linked transaction was created from an invoice and SPEND if it was created from a bank transaction.
One of: ACCPAY, SPEND
StatusstringOptionalFilter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID=4bb34b03-3378-4bb2-a0ed-6345abf3224e&Status=APPROVED.
One of: APPROVED, DRAFT, ONDRAFT, BILLED, VOIDED
TargetLineItemIDstringOptionalThe line item identifier from the target transaction. It is possible to link multiple billable expenses to the same TargetLineItemID.
Format: uuid
TargetTransactionIDstringOptionalFilter by the TargetTransactionID. Get all the linked transactions allocated to a particular ACCREC invoice
Format: uuid
TypestringOptionalThis will always be BILLABLEEXPENSE. More types may be added in future.
One of: BILLABLEEXPENSE
UpdatedDateUTCstringOptionalThe last modified date in UTC format
Read only: true
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Retrieves journals — response body — Warnings item

Creates linked transactions (billable expenses) — response body

FieldTypePresenceDescription and constraints
$objectRoot
LinkedTransactionsarrayOptional
LinkedTransactions[]ModelEach itemExpand Creates linked transactions (billable expenses) — response body — Linked Transactions item

Referenced models: Creates linked transactions (billable expenses) — response body — Linked Transactions item

Creates linked transactions (billable expenses) — response body — Linked Transactions item

FieldTypePresenceDescription and constraints
$objectRoot
ContactIDstringOptionalFilter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID=4bb34b03-3378-4bb2-a0ed-6345abf3224e&Status=APPROVED.
Format: uuid
LinkedTransactionIDstringOptionalThe Xero identifier for an Linked Transaction e.g./LinkedTransactions/297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
SourceLineItemIDstringOptionalThe line item identifier from the source transaction.
Format: uuid
SourceTransactionIDstringOptionalFilter by the SourceTransactionID. Get all the linked transactions created from a particular ACCPAY invoice
Format: uuid
SourceTransactionTypeCodestringOptionalThe Type of the source tranasction. This will be ACCPAY if the linked transaction was created from an invoice and SPEND if it was created from a bank transaction.
Known values: ACCPAY, SPEND
StatusstringOptionalFilter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID=4bb34b03-3378-4bb2-a0ed-6345abf3224e&Status=APPROVED.
Known values: APPROVED, DRAFT, ONDRAFT, BILLED, VOIDED
TargetLineItemIDstringOptionalThe line item identifier from the target transaction. It is possible to link multiple billable expenses to the same TargetLineItemID.
Format: uuid
TargetTransactionIDstringOptionalFilter by the TargetTransactionID. Get all the linked transactions allocated to a particular ACCREC invoice
Format: uuid
TypestringOptionalThis will always be BILLABLEEXPENSE. More types may be added in future.
Known values: BILLABLEEXPENSE
UpdatedDateUTCstringOptionalThe last modified date in UTC format
Read only: true
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Retrieves journals — response body — Warnings item

Creates multiple payments for invoices or credit notes — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
PaymentsarrayOptional
Payments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item
paginationModelOptionalExpand Creates a new credit note — request body — body pagination

Referenced models: Creates a new credit note — request body — body pagination, Retrieves journals — response body — Warnings item, Creates a single payment for invoice or credit notes — request body — body

Creates one or many batch payments for invoices — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
BatchPaymentsarrayOptional
BatchPayments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Batch Payment

Referenced models: Creates a single payment for invoice or credit notes — request body — body Batch Payment

Creates one or many batch payments for invoices — response body

FieldTypePresenceDescription and constraints
$objectRoot
BatchPaymentsarrayOptional
BatchPayments[]ModelEach itemExpand Creates one or many batch payments for invoices — response body — Batch Payments item

Referenced models: Creates one or many batch payments for invoices — response body — Batch Payments item

Creates one or many batch payments for invoices — response body — Batch Payments item

FieldTypePresenceDescription and constraints
$objectRoot
AccountModelOptionalExpand Deletes a chart of accounts — response body — Accounts item
AmountJSONOptional
Amount (anyOf 1)numberAlternativeThe amount of the payment. Must be less than or equal to the outstanding amount owing on the invoice e.g. 200.00
Format: double
Amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
BatchPaymentIDstringOptionalThe Xero generated unique identifier for the bank transaction (read-only)
Format: uuid
Read only: true
CodestringOptional(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
Maximum length: 12
DatestringOptionalDate the payment is being made (YYYY-MM-DD) e.g. 2009-09-06
DateStringstringOptionalDate the payment is being made (YYYY-MM-DD) e.g. 2009-09-06
DetailsstringOptional(Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18
IsReconciledbooleanOptionalBooelan that tells you if the batch payment has been reconciled (read-only)
Read only: true
NarrativestringOptional(UK Only) Only shows on the statement line in Xero. Max length =18
Maximum length: 18
ParticularsstringOptional(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
Maximum length: 12
PaymentsarrayOptionalAn array of payments
Payments[]ModelEach itemExpand Retrieves payments for invoices and credit notes — response body — Payments item
ReferencestringOptional(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
Maximum length: 255
StatusstringOptionalAUTHORISED or DELETED (read-only). New batch payments will have a status of AUTHORISED. It is not possible to delete batch payments via the API.
Known values: AUTHORISED, DELETED
Read only: true
TotalAmountJSONOptional
TotalAmount (anyOf 1)numberAlternativeThe total of the payments that make up the batch (read-only)
Format: double
Read only: true
TotalAmount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
TypestringOptionalPAYBATCH for bill payments or RECBATCH for sales invoice payments (read-only)
Known values: PAYBATCH, RECBATCH
Read only: true
UpdatedDateUTCstringOptionalUTC timestamp of last update to the payment
Read only: true
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Deletes a chart of accounts — response body — Accounts item, Retrieves payments for invoices and credit notes — response body — Payments item, Retrieves journals — response body — Warnings item

Creates options for a specific tracking category — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
NamestringOptionalThe name of the tracking option e.g. Marketing, East (max length = 100)
Maximum length: 100
StatusstringOptionalThe status of a tracking option
One of: ACTIVE, ARCHIVED, DELETED
TrackingCategoryIDstringOptionalFilter by a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
TrackingOptionIDstringOptionalThe Xero identifier for a tracking option e.g. ae777a87-5ef3-4fa0-a4f0-d10e1f13073a
Format: uuid

Creates options for a specific tracking category — response body

FieldTypePresenceDescription and constraints
$objectRoot
OptionsarrayOptional
Options[]ModelEach itemExpand Creates options for a specific tracking category — response body — Options item

Referenced models: Creates options for a specific tracking category — response body — Options item

Creates options for a specific tracking category — response body — Options item

FieldTypePresenceDescription and constraints
$objectRoot
NamestringOptionalThe name of the tracking option e.g. Marketing, East (max length = 100)
Maximum length: 100
StatusstringOptionalThe status of a tracking option
Known values: ACTIVE, ARCHIVED, DELETED
TrackingCategoryIDstringOptionalFilter by a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
TrackingOptionIDstringOptionalThe Xero identifier for a tracking option e.g. ae777a87-5ef3-4fa0-a4f0-d10e1f13073a
Format: uuid

Deletes a chart of accounts — response body

FieldTypePresenceDescription and constraints
$objectRoot
AccountsarrayOptional
Accounts[]ModelEach itemExpand Deletes a chart of accounts — response body — Accounts item

Referenced models: Deletes a chart of accounts — response body — Accounts item

Deletes a chart of accounts — response body — Accounts item

FieldTypePresenceDescription and constraints
$objectRoot
AccountIDstringOptionalThe Xero identifier for an account – specified as a string following the endpoint name e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
AddToWatchlistbooleanOptionalBoolean – describes whether the account is shown in the watchlist widget on the dashboard
BankAccountNumberstringOptionalFor bank accounts only (Account Type BANK)
BankAccountTypestringOptionalFor bank accounts only. See Bank Account types
Known values: BANK, CREDITCARD, PAYPAL, NONE, "" (empty string)
ClassstringOptionalSee Account Class Types
Known values: ASSET, EQUITY, EXPENSE, LIABILITY, REVENUE
Read only: true
CodestringOptionalCustomer defined alpha numeric account code e.g 200 or SALES (max length = 10)
CurrencyCodeModelOptionalExpand Deletes an Allocation from a Prepayment — response body — Invoice Currency Code
DescriptionstringOptionalDescription of the Account. Valid for all types of accounts except bank accounts (max length = 4000)
EnablePaymentsToAccountbooleanOptionalBoolean – describes whether account can have payments applied to it
HasAttachmentsbooleanOptionalboolean to indicate if an account has an attachment (read only)
Default: false
Read only: true
NamestringOptionalName of account (max length = 150)
Maximum length: 150
ReportingCodestringOptionalShown if set
ReportingCodeNamestringOptionalShown if set
Read only: true
ShowInExpenseClaimsbooleanOptionalBoolean – describes whether account code is available for use with expense claims
StatusstringOptionalAccounts with a status of ACTIVE can be updated to ARCHIVED. See Account Status Codes
Known values: ACTIVE, ARCHIVED, DELETED
SystemAccountstringOptionalIf this is a system account then this element is returned. See System Account types. Note that non-system accounts may have this element set as either “” or null.
Known values: DEBTORS, CREDITORS, BANKCURRENCYGAIN, GST, GSTONIMPORTS, HISTORICAL, REALISEDCURRENCYGAIN, RETAINEDEARNINGS, ROUNDING, TRACKINGTRANSFERS, UNPAIDEXPCLM, UNREALISEDCURRENCYGAIN, WAGEPAYABLES, CISASSETS, CISASSET, CISLABOUR, CISLABOUREXPENSE, CISLABOURINCOME, CISLIABILITY, CISMATERIALS, "" (empty string)
Read only: true
TaxTypestringOptionalThe tax type from taxRates
TypestringOptionalSee Account Types
Known values: BANK, CURRENT, CURRLIAB, DEPRECIATN, DIRECTCOSTS, EQUITY, EXPENSE, FIXED, INVENTORY, LIABILITY, NONCURRENT, OTHERINCOME, OVERHEADS, PREPAYMENT, REVENUE, SALES, TERMLIAB, PAYG
UpdatedDateUTCstringOptionalLast modified date UTC format
Read only: true
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Deletes an Allocation from a Prepayment — response body — Invoice Currency Code, Retrieves journals — response body — Warnings item

Deletes a specific bank transfer — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
StatusstringRequired within parentThe status of the bank transfer.
Default: DELETED

Deletes a specific repeating invoice template — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
RepeatingInvoicesarrayOptional
RepeatingInvoices[]ModelEach itemExpand Deletes a specific repeating invoice template — request body — body Repeating Invoices item

Referenced models: Deletes a specific repeating invoice template — request body — body Repeating Invoices item

Deletes a specific repeating invoice template — request body — body Repeating Invoices item

FieldTypePresenceDescription and constraints
$objectRoot
ApprovedForSendingbooleanOptionalBoolean to indicate whether the invoice has been approved for sending
Default: false
AttachmentsarrayOptionalDisplays array of attachments from the API
Attachments[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item
BrandingThemeIDstringOptionalSee BrandingThemes
Format: uuid
ContactModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item
CurrencyCodeModelOptionalExpand Create a new currency for a Xero organisation — request body — body Code
HasAttachmentsbooleanOptionalBoolean to indicate if an invoice has an attachment
Default: false
Read only: true
IDstringOptionalXero generated unique identifier for repeating invoice template
Format: uuid
IncludePDFbooleanOptionalBoolean to indicate whether to include PDF attachment
Default: false
LineAmountTypesstringOptionalLine amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types
One of: Exclusive, Inclusive, NoTax
LineItemsarrayOptionalSee LineItems
LineItems[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item
MarkAsSentbooleanOptionalBoolean to indicate whether the invoice in the Xero app displays as "sent"
Default: false
ReferencestringOptionalACCREC only – additional reference number
RepeatingInvoiceIDstringOptionalXero generated unique identifier for repeating invoice template
Format: uuid
ScheduleModelOptionalExpand Deletes a specific repeating invoice template — request body — body Repeating Invoices item Schedule
SendCopybooleanOptionalBoolean to indicate whether a copy is sent to sender's email
Default: false
StatusstringOptionalOne of the following - DRAFT or AUTHORISED – See Invoice Status Codes
One of: DRAFT, AUTHORISED, DELETED
SubTotalnumberOptionalTotal of invoice excluding taxes
Format: double
TotalnumberOptionalTotal of Invoice tax inclusive (i.e. SubTotal + TotalTax)
Format: double
TotalTaxnumberOptionalTotal tax on invoice
Format: double
TypestringOptionalSee Invoice Types
One of: ACCPAY, ACCREC

Referenced models: Create a new currency for a Xero organisation — request body — body Code, Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item, Creates contacts to a specific contact group — request body — body Contacts item, Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item, Deletes a specific repeating invoice template — request body — body Repeating Invoices item Schedule

Deletes a specific repeating invoice template — request body — body Repeating Invoices item Schedule

FieldTypePresenceDescription and constraints
$objectRoot
DueDateintegerOptionalInteger used with due date type e.g 20 (of following month), 31 (of current month)
DueDateTypestringOptionalthe payment terms
One of: DAYSAFTERBILLDATE, DAYSAFTERBILLMONTH, DAYSAFTERINVOICEDATE, DAYSAFTERINVOICEMONTH, OFCURRENTMONTH, OFFOLLOWINGMONTH
EndDatestringOptionalInvoice end date – only returned if the template has an end date set
NextScheduledDatestringOptionalThe calendar date of the next invoice in the schedule to be generated
PeriodintegerOptionalInteger used with the unit e.g. 1 (every 1 week), 2 (every 2 months)
StartDatestringOptionalDate the first invoice of the current version of the repeating schedule was generated (changes when repeating invoice is edited)
UnitstringOptionalOne of the following - WEEKLY or MONTHLY
One of: WEEKLY, MONTHLY

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.