Skip to content

Xero: Accounting schemas (part 3)

42 Xero schemas with complete fields and constraints.

← Accounting operations · All schemas

Retrieves users — response body

FieldTypePresenceDescription and constraints
$objectRoot
UsersarrayOptional
Users[]ModelEach itemExpand Retrieves users — response body — Users item

Referenced models: Retrieves users — response body — Users item

Retrieves users — response body — Users item

FieldTypePresenceDescription and constraints
$objectRoot
EmailAddressstringOptionalEmail address of user
FirstNamestringOptionalFirst name of user
IsSubscriberbooleanOptionalBoolean to indicate if user is the subscriber
LastNamestringOptionalLast name of user
OrganisationRolestringOptionalUser role that defines permissions in Xero and via API (READONLY, INVOICEONLY, STANDARD, FINANCIALADVISER, etc)
Known values: READONLY, INVOICEONLY, STANDARD, FINANCIALADVISER, MANAGEDCLIENT, CASHBOOKCLIENT, UNKNOWN, REMOVED
UpdatedDateUTCstringOptionalTimestamp of last change to user
Read only: true
UserIDstringOptionalXero identifier
Format: uuid

Sends a copy of a specific invoice to related contact via email — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
StatusstringOptionalNeed at least one field to create an empty JSON payload

Sets the chart of accounts, the conversion date and conversion balances — request body — body

FieldTypePresenceDescription and constraints
$JSONRoot
AccountsarrayOptional
Accounts[]ModelEach itemExpand Creates a new chart of accounts — request body — body
ConversionBalancesarrayOptionalBalance supplied for each account that has a value as at the conversion date.
ConversionBalances[]ModelEach itemExpand Sets the chart of accounts, the conversion date and conversion balances — request body — body Conversion Balances item
ConversionDateModelOptionalExpand Sets the chart of accounts, the conversion date and conversion balances — request body — body Conversion Date

Referenced models: Creates a new chart of accounts — request body — body, Sets the chart of accounts, the conversion date and conversion balances — request body — body Conversion Balances item, Sets the chart of accounts, the conversion date and conversion balances — request body — body Conversion Date

Sets the chart of accounts, the conversion date and conversion balances — request body — body Conversion Balances item

FieldTypePresenceDescription and constraints
$objectRootBalance supplied for each account that has a value as at the conversion date.
AccountCodestringOptionalThe account code for a account
BalancenumberOptionalThe opening balances of the account. Debits are positive, credits are negative values
Format: double
BalanceDetailsarrayOptional
BalanceDetails[]ModelEach itemExpand Sets the chart of accounts, the conversion date and conversion balances — request body — body Conversion Balances item Balance Details item

Referenced models: Sets the chart of accounts, the conversion date and conversion balances — request body — body Conversion Balances item Balance Details item

Sets the chart of accounts, the conversion date and conversion balances — request body — body Conversion Balances item Balance Details item

FieldTypePresenceDescription and constraints
$objectRootAn array to specify multiple currency balances of an account
BalancenumberOptionalThe opening balances of the account. Debits are positive, credits are negative values
Format: double
CurrencyCodestringOptionalThe currency of the balance (Not required for base currency)
CurrencyRatenumberOptional(Optional) Exchange rate to base currency when money is spent or received. If not specified, XE rate for the day is applied
Format: double

Sets the chart of accounts, the conversion date and conversion balances — request body — body Conversion Date

FieldTypePresenceDescription and constraints
$objectRootThe date when the organisation starts using Xero
MonthintegerOptionalThe month the organisation starts using Xero. Value is an integer between 1 and 12
YearintegerOptionalThe year the organisation starts using Xero. Value is an integer greater than 2006

Sets the chart of accounts, the conversion date and conversion balances — response body

FieldTypePresenceDescription and constraints
$JSONRoot
ImportSummaryModelOptionalExpand Sets the chart of accounts, the conversion date and conversion balances — response body — Import Summary

Referenced models: Sets the chart of accounts, the conversion date and conversion balances — response body — Import Summary

Sets the chart of accounts, the conversion date and conversion balances — response body — Import Summary

FieldTypePresenceDescription and constraints
$objectRootA summary of the import from setup endpoint
AccountsModelOptionalExpand Sets the chart of accounts, the conversion date and conversion balances — response body — Import Summary Accounts
OrganisationModelOptionalExpand Sets the chart of accounts, the conversion date and conversion balances — response body — Import Summary Organisation

Referenced models: Sets the chart of accounts, the conversion date and conversion balances — response body — Import Summary Organisation, Sets the chart of accounts, the conversion date and conversion balances — response body — Import Summary Accounts

Sets the chart of accounts, the conversion date and conversion balances — response body — Import Summary Accounts

FieldTypePresenceDescription and constraints
$objectRootA summary of the accounts changes
DeletedJSONOptional
Deleted (anyOf 1)integerAlternativeThe number of accounts deleted
Format: int32
Deleted (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
ErroredJSONOptional
Errored (anyOf 1)integerAlternativeThe number of accounts that had an error
Format: int32
Errored (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
LockedJSONOptional
Locked (anyOf 1)integerAlternativeThe number of locked accounts
Format: int32
Locked (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
NewJSONOptional
New (anyOf 1)integerAlternativeThe number of new accounts created
Format: int32
New (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
NewOrUpdatedJSONOptional
NewOrUpdated (anyOf 1)integerAlternativeThe number of new or updated accounts
Format: int32
NewOrUpdated (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
PresentbooleanOptional
SystemJSONOptional
System (anyOf 1)integerAlternativeThe number of system accounts
Format: int32
System (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
TotalJSONOptional
Total (anyOf 1)integerAlternativeThe total number of accounts in the org
Format: int32
Total (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
UpdatedJSONOptional
Updated (anyOf 1)integerAlternativeThe number of accounts updated
Format: int32
Updated (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

Sets the chart of accounts, the conversion date and conversion balances — response body — Import Summary Organisation

FieldTypePresenceDescription and constraints
$objectRoot
PresentbooleanOptional

Updates a chart of accounts — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
AccountsarrayOptional
Accounts[]ModelEach itemExpand Creates a new chart of accounts — request body — body

Referenced models: Creates a new chart of accounts — request body — body

Updates a single spent or received money transaction — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
BankTransactionsarrayOptional
BankTransactions[]ModelEach itemExpand Updates a single spent or received money transaction — request body — body Bank Transactions 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, Updates a single spent or received money transaction — request body — body Bank Transactions item, Retrieves journals — response body — Warnings item

Updates a single spent or received money transaction — request body — body Bank Transactions item

FieldTypePresenceDescription and constraints
$objectRoot
BankAccountModelRequired within parentExpand Creates a new chart of accounts — request body — body
BankTransactionIDstringOptionalXero generated unique identifier for bank transaction
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
CurrencyRatenumberOptionalExchange rate to base currency when money is spent or received. e.g.0.7500 Only used for bank transactions in non base currency. If this isn’t specified for non base currency accounts then either the user-defined rate (preference) or the XE.com day rate will be used. Setting currency is only supported on overpayments.
Format: double
DatestringOptionalDate of transaction – YYYY-MM-DD
HasAttachmentsbooleanOptionalBoolean to indicate if a bank transaction has an attachment
Default: false
Read only: true
IsReconciledbooleanOptionalBoolean to show if transaction is reconciled
LineAmountTypesstringOptionalLine amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types
One of: Exclusive, Inclusive, NoTax
LineItemsarrayRequired within parentSee LineItems
LineItems[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item
OverpaymentIDstringOptionalXero generated unique identifier for an Overpayment. This will be returned on BankTransactions with a Type of SPEND-OVERPAYMENT or RECEIVE-OVERPAYMENT
Format: uuid
Read only: true
PrepaymentIDstringOptionalXero generated unique identifier for a Prepayment. This will be returned on BankTransactions with a Type of SPEND-PREPAYMENT or RECEIVE-PREPAYMENT
Format: uuid
Read only: true
ReferencestringOptionalReference for the transaction. Only supported for SPEND and RECEIVE transactions.
StatusstringOptionalSee Bank Transaction Status Codes
One of: AUTHORISED, DELETED, VOIDED
StatusAttributeStringstringOptionalA string to indicate if a invoice status
SubTotalnumberOptionalTotal of bank transaction excluding taxes
Format: double
TotalnumberOptionalTotal of bank transaction tax inclusive
Format: double
TotalTaxnumberOptionalTotal tax on bank transaction
Format: double
TypestringRequired within parentSee Bank Transaction Types
One of: RECEIVE, RECEIVE-OVERPAYMENT, RECEIVE-PREPAYMENT, SPEND, SPEND-OVERPAYMENT, SPEND-PREPAYMENT, RECEIVE-TRANSFER, SPEND-TRANSFER
UpdatedDateUTCstringOptionalLast modified date UTC format
Read only: true
UrlstringOptionalURL link to a source document – shown as “Go to App Name”
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, Create a new currency for a Xero organisation — request body — body Code, 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, Retrieves journals — response body — Warnings item

Updates a specific batch payment for invoices and credit notes — accounting delete Batch Payment By Url Param — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
StatusstringRequired within parentThe status of the batch payment.
Default: DELETED

Updates a specific batch payment for invoices and credit notes — accounting delete Batch Payment — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
BatchPaymentIDstringRequired within parentThe Xero generated unique identifier for the bank transaction (read-only)
Format: uuid
StatusstringRequired within parentThe status of the batch payment.
Default: DELETED

Updates a specific draft expense claim receipts — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
ReceiptsarrayOptional
Receipts[]ModelEach itemExpand Updates a specific draft expense claim receipts — request body — body Receipts item

Referenced models: Updates a specific draft expense claim receipts — request body — body Receipts item

Updates a specific draft expense claim receipts — request body — body Receipts item

FieldTypePresenceDescription and constraints
$objectRoot
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
ContactModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item
DatestringOptionalDate of receipt – YYYY-MM-DD
HasAttachmentsbooleanOptionalboolean to indicate if a receipt 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
LineItemsarrayOptional
LineItems[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item
ReceiptIDstringOptionalXero generated unique identifier for receipt
Format: uuid
ReceiptNumberstringOptionalXero generated sequence number for receipt in current claim for a given user
Read only: true
ReferencestringOptionalAdditional reference number
StatusstringOptionalCurrent status of receipt – see status types
One of: DRAFT, SUBMITTED, AUTHORISED, DECLINED, VOIDED
SubTotalnumberOptionalTotal of receipt excluding taxes
Format: double
TotalnumberOptionalTotal of receipt tax inclusive (i.e. SubTotal + TotalTax)
Format: double
TotalTaxnumberOptionalTotal tax on receipt
Format: double
UpdatedDateUTCstringOptionalLast modified date UTC format
Read only: true
UrlstringOptionalURL link to a source document – shown as “Go to [appName]” in the Xero app
Read only: true
UserModelOptionalExpand Updates a specific draft expense claim receipts — request body — body Receipts item User
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: 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 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, Retrieves journals — response body — Warnings item

Updates a specific draft expense claim receipts — request body — body Receipts item User

FieldTypePresenceDescription and constraints
$objectRoot
EmailAddressstringOptionalEmail address of user
FirstNamestringOptionalFirst name of user
IsSubscriberbooleanOptionalBoolean to indicate if user is the subscriber
LastNamestringOptionalLast name of user
OrganisationRolestringOptionalUser role that defines permissions in Xero and via API (READONLY, INVOICEONLY, STANDARD, FINANCIALADVISER, etc)
One of: READONLY, INVOICEONLY, STANDARD, FINANCIALADVISER, MANAGEDCLIENT, CASHBOOKCLIENT, UNKNOWN, REMOVED
UpdatedDateUTCstringOptionalTimestamp of last change to user
Read only: true
UserIDstringOptionalXero identifier
Format: uuid

Updates a specific draft expense claim receipts — response body

FieldTypePresenceDescription and constraints
$objectRoot
ReceiptsarrayOptional
Receipts[]ModelEach itemExpand Updates a specific draft expense claim receipts — response body — Receipts item

Referenced models: Updates a specific draft expense claim receipts — response body — Receipts item

Updates a specific draft expense claim receipts — response body — Receipts item

FieldTypePresenceDescription and constraints
$objectRoot
AttachmentsarrayOptionalDisplays array of attachments from the API
Attachments[]ModelEach itemExpand create Contact Attachment By File Name — response body — Attachments item
ContactModelOptionalExpand Creates contacts to a specific contact group — response body — Contacts item
DatestringOptionalDate of receipt – YYYY-MM-DD
HasAttachmentsbooleanOptionalboolean to indicate if a receipt 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
Known values: Exclusive, Inclusive, NoTax
LineItemsarrayOptional
LineItems[]ModelEach itemExpand Deletes an Allocation from a Prepayment — response body — Invoice Line Items item
ReceiptIDstringOptionalXero generated unique identifier for receipt
Format: uuid
ReceiptNumberstringOptionalXero generated sequence number for receipt in current claim for a given user
Read only: true
ReferencestringOptionalAdditional reference number
StatusstringOptionalCurrent status of receipt – see status types
Known values: DRAFT, SUBMITTED, AUTHORISED, DECLINED, VOIDED
SubTotalJSONOptional
SubTotal (anyOf 1)numberAlternativeTotal of receipt excluding taxes
Format: double
SubTotal (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
TotalJSONOptional
Total (anyOf 1)numberAlternativeTotal of receipt tax inclusive (i.e. SubTotal + TotalTax)
Format: double
Total (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
TotalTaxJSONOptional
TotalTax (anyOf 1)numberAlternativeTotal tax on receipt
Format: double
TotalTax (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
UpdatedDateUTCstringOptionalLast modified date UTC format
Read only: true
UrlstringOptionalURL link to a source document – shown as “Go to [appName]” in the Xero app
Read only: true
UserModelOptionalExpand Retrieves users — response body — Users item
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: Retrieves users — response body — Users item, create Contact Attachment By File Name — response body — Attachments item, Creates contacts to a specific contact group — response body — Contacts item, Deletes an Allocation from a Prepayment — response body — Invoice Line Items item, Retrieves journals — response body — Warnings item

Updates a specific item — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
ItemsarrayOptional
Items[]ModelEach itemExpand Updates a specific item — request body — body Items item

Referenced models: Updates a specific item — request body — body Items item

Updates a specific item — request body — body Items item

FieldTypePresenceDescription and constraints
$objectRoot
CodestringRequired within parentUser defined item code (max length = 30)
Maximum length: 30
DescriptionstringOptionalThe sales description of the item (max length = 4000)
Maximum length: 4000
InventoryAssetAccountCodestringOptionalThe inventory asset account for the item. The account must be of type INVENTORY. The COGSAccountCode in PurchaseDetails is also required to create a tracked item
IsPurchasedbooleanOptionalBoolean value, defaults to true. When IsPurchased is true the item is available for purchase transactions in the Xero UI. If IsPurchased is updated to false then PurchaseDescription and PurchaseDetails values will be nulled.
IsSoldbooleanOptionalBoolean value, defaults to true. When IsSold is true the item will be available on sales transactions in the Xero UI. If IsSold is updated to false then Description and SalesDetails values will be nulled.
IsTrackedAsInventorybooleanOptionalTrue for items that are tracked as inventory. An item will be tracked as inventory if the InventoryAssetAccountCode and COGSAccountCode are set.
ItemIDstringOptionalThe Xero identifier for an Item
Format: uuid
NamestringOptionalThe name of the item (max length = 50)
Maximum length: 50
PurchaseDescriptionstringOptionalThe purchase description of the item (max length = 4000)
Maximum length: 4000
PurchaseDetailsModelOptionalExpand Updates a specific item — request body — body Items item Sales Details
QuantityAvailablenumberOptionalThe quantity of the item available. This is equal to `QuantityOnHand` - `QuantityOnBackOrder`. This value will be negative if `QuantityOnBackOrder` is greater than 0.
Format: double
Read only: true
QuantityOnBackOrdernumberOptionalThe quantity of the item on backorder. This will be 0 if `QuantityOnHand` is greater than 0.
Format: double
Read only: true
QuantityOnHandnumberOptionalThe quantity of the item on hand. This will be 0 if `QuantityOnBackOrder` is greater than 0.
Format: double
SalesDetailsModelOptionalExpand Updates a specific item — request body — body Items item Sales Details
StatusAttributeStringstringOptionalStatus of object
TotalCostPoolnumberOptionalThe value of the item on hand. Calculated using average cost accounting.
Format: double
UpdatedDateUTCstringOptionalLast 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, Updates a specific item — request body — body Items item Sales Details

Updates a specific item — request body — body Items item Sales Details

FieldTypePresenceDescription and constraints
$objectRoot
AccountCodestringOptionalDefault account code to be used for purchased/sale. Not applicable to the purchase details of tracked items
COGSAccountCodestringOptionalCost of goods sold account. Only applicable to the purchase details of tracked items.
TaxTypestringOptionalThe tax type from TaxRates
UnitPricenumberOptionalUnit Price of the item. By default UnitPrice is rounded to two decimal places. You can use 4 decimal places by adding the unitdp=4 querystring parameter to your request.
Format: double

Updates a specific linked transactions (billable expenses) — request body — body

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

Referenced models: Creates linked transactions (billable expenses) — request body — body

Updates a specific manual journal — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
ManualJournalsarrayOptional
ManualJournals[]ModelEach itemExpand Updates a specific manual journal — request body — body Manual Journals 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, Updates a specific manual journal — request body — body Manual Journals item, Retrieves journals — response body — Warnings item

Updates a specific manual journal — request body — body Manual Journals item

FieldTypePresenceDescription and constraints
$objectRoot
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
DatestringOptionalDate journal was posted – YYYY-MM-DD
HasAttachmentsbooleanOptionalBoolean to indicate if a manual journal has an attachment
Default: false
Read only: true
JournalLinesarrayOptionalSee JournalLines
JournalLines[]ModelEach itemExpand Updates a specific manual journal — request body — body Manual Journals item Journal Lines 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
ManualJournalIDstringOptionalThe Xero identifier for a Manual Journal
Format: uuid
NarrationstringRequired within parentDescription of journal being posted
ShowOnCashBasisReportsbooleanOptionalBoolean – default is true if not specified
StatusstringOptionalSee Manual Journal Status Codes
One of: DRAFT, POSTED, DELETED, VOIDED, ARCHIVED
StatusAttributeStringstringOptionalA string to indicate if a invoice status
UpdatedDateUTCstringOptionalLast modified date UTC format
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: Creates a single payment for invoice or credit notes — request body — body Invoice Attachments item, Updates a specific manual journal — request body — body Manual Journals item Journal Lines item, Retrieves journals — response body — Warnings item

Updates a specific manual journal — request body — body Manual Journals item Journal Lines item

FieldTypePresenceDescription and constraints
$objectRoot
AccountCodestringOptionalSee Accounts
AccountIDstringOptionalSee Accounts
Format: uuid
DescriptionstringOptionalDescription for journal line
IsBlankbooleanOptionalis the line blank
LineAmountnumberOptionaltotal for line. Debits are positive, credits are negative value
Format: double
TaxAmountnumberOptionalThe calculated tax amount based on the TaxType and LineAmount
Format: double
TaxTypestringOptionalThe tax type from TaxRates
TrackingarrayOptionalOptional Tracking Category – see Tracking. Any JournalLine can have a maximum of 2 <TrackingCategory> elements.
Tracking[]ModelEach itemExpand Create tracking categories — request body — body

Referenced models: Create tracking categories — request body — body

Updates a specific payment for invoices and credit notes — request body — body

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

Updates a specific purchase order — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
PurchaseOrdersarrayOptional
PurchaseOrders[]ModelEach itemExpand Updates a specific purchase order — request body — body Purchase Orders 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, Retrieves journals — response body — Warnings item, Updates a specific purchase order — request body — body Purchase Orders item

Updates a specific purchase order — request body — body Purchase Orders item

FieldTypePresenceDescription and constraints
$objectRoot
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
AttentionTostringOptionalThe person that the delivery is going to
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
CurrencyRatenumberOptionalThe currency rate for a multicurrency purchase order. If no rate is specified, the XE.com day rate is used.
Format: double
DatestringOptionalDate purchase order was 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
DeliveryAddressstringOptionalThe address the goods are to be delivered to
DeliveryDatestringOptionalDate the goods are to be delivered – YYYY-MM-DD
DeliveryInstructionsstringOptionalA free text feild for instructions (500 characters max)
ExpectedArrivalDatestringOptionalThe date the goods are expected to arrive.
HasAttachmentsbooleanOptionalboolean to indicate if a purchase order 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 LineItems
LineItems[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item
PurchaseOrderIDstringOptionalXero generated unique identifier for purchase order
Format: uuid
PurchaseOrderNumberstringOptionalUnique alpha numeric code identifying purchase order (when missing will auto-generate from your Organisation Invoice Settings)
ReferencestringOptionalAdditional reference number
SentToContactbooleanOptionalBoolean to set whether the purchase order should be marked as “sent”. This can be set only on purchase orders that have been approved or billed
StatusstringOptionalSee Purchase Order Status Codes
One of: DRAFT, SUBMITTED, AUTHORISED, BILLED, DELETED
StatusAttributeStringstringOptionalA string to indicate if a invoice status
SubTotalnumberOptionalTotal of purchase order excluding taxes
Format: double
Read only: true
TelephonestringOptionalThe phone number for the person accepting the delivery
TotalnumberOptionalTotal of Purchase Order tax inclusive (i.e. SubTotal + TotalTax)
Format: double
Read only: true
TotalDiscountnumberOptionalTotal of discounts applied on the purchase order line items
Format: double
Read only: true
TotalTaxnumberOptionalTotal tax on purchase order
Format: double
Read only: true
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
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 Invoice Line Items item, Retrieves journals — response body — Warnings item

Updates a specific quote — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
QuotesarrayOptional
Quotes[]ModelEach itemExpand Updates a specific quote — request body — body Quotes item

Referenced models: Updates a specific quote — request body — body Quotes item

Updates a specific quote — request body — body Quotes item

FieldTypePresenceDescription and constraints
$objectRoot
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
CurrencyRatenumberOptionalThe currency rate for a multicurrency quote
Format: double
DatestringOptionalDate quote 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
DateStringstringOptionalDate the quote was issued (YYYY-MM-DD)
ExpiryDatestringOptionalDate the quote expires – YYYY-MM-DD.
ExpiryDateStringstringOptionalDate the quote expires – YYYY-MM-DD.
LineAmountTypesstringOptionalLine amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types
See Quote 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
QuoteIDstringOptionalQuoteID GUID is automatically generated and is returned after create or GET.
Format: uuid
QuoteNumberstringOptionalUnique alpha numeric code identifying a quote (Max Length = 255)
Maximum length: 255
ReferencestringOptionalAdditional reference number
Maximum length: 4000
StatusstringOptionalThe status of the quote.
One of: DRAFT, SENT, DECLINED, ACCEPTED, INVOICED, DELETED
StatusAttributeStringstringOptionalA string to indicate if a invoice status
SubTotalnumberOptionalTotal of quote excluding taxes.
Format: double
Read only: true
SummarystringOptionalSummary text for the quote
Maximum length: 3000
TermsstringOptionalTerms of the quote
Maximum length: 4000
TitlestringOptionalTitle text for the quote
Maximum length: 100
TotalnumberOptionalTotal of Quote tax inclusive (i.e. SubTotal + TotalTax). This will be ignored if it doesn’t equal the sum of the LineAmounts
Format: double
Read only: true
TotalDiscountnumberOptionalTotal of discounts applied on the quote line items
Format: double
Read only: true
TotalTaxnumberOptionalTotal tax on quote
Format: double
Read only: true
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, 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, Retrieves journals — response body — Warnings item

Updates a specific sales invoices or purchase bills — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
InvoicesarrayOptional
Invoices[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice
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 Invoice, Retrieves journals — response body — Warnings item

Updates tax rates — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
TaxRatesarrayOptional
TaxRates[]ModelEach itemExpand Updates tax rates — request body — body Tax Rates item

Referenced models: Updates tax rates — request body — body Tax Rates item

Updates tax rates — request body — body Tax Rates item

FieldTypePresenceDescription and constraints
$objectRoot
CanApplyToAssetsbooleanOptionalBoolean to describe if tax rate can be used for asset accounts i.e. true,false
Read only: true
CanApplyToEquitybooleanOptionalBoolean to describe if tax rate can be used for equity accounts i.e true,false
Read only: true
CanApplyToExpensesbooleanOptionalBoolean to describe if tax rate can be used for expense accounts i.e. true,false
Read only: true
CanApplyToLiabilitiesbooleanOptionalBoolean to describe if tax rate can be used for liability accounts i.e. true,false
Read only: true
CanApplyToRevenuebooleanOptionalBoolean to describe if tax rate can be used for revenue accounts i.e. true,false
Read only: true
DisplayTaxRatenumberOptionalTax Rate (decimal to 4dp) e.g 12.5000
Format: double
Read only: true
EffectiveRatenumberOptionalEffective Tax Rate (decimal to 4dp) e.g 12.5000
Format: double
Read only: true
NamestringOptionalName of tax rate
ReportTaxTypestringOptionalSee ReportTaxTypes
One of: AVALARA, BASEXCLUDED, CAPITALSALESOUTPUT, CAPITALEXPENSESINPUT, ECOUTPUT, ECOUTPUTSERVICES, ECINPUT, ECACQUISITIONS, EXEMPTEXPENSES, EXEMPTINPUT, EXEMPTOUTPUT, GSTONIMPORTS, INPUT, INPUTTAXED, MOSSSALES, NONE, NONEOUTPUT, OUTPUT, PURCHASESINPUT, SALESOUTPUT, EXEMPTCAPITAL, EXEMPTEXPORT, CAPITALEXINPUT, GSTONCAPIMPORTS, GSTONCAPITALIMPORTS, REVERSECHARGES, PAYMENTS, INVOICE, CASH, ACCRUAL, FLATRATECASH, FLATRATEACCRUAL, ACCRUALS, TXCA, SRCAS, DSOUTPUT, BLINPUT2, EPINPUT, IMINPUT2, MEINPUT, IGDSINPUT2, ESN33OUTPUT, OPINPUT, OSOUTPUT, TXN33INPUT, TXESSINPUT, TXREINPUT, TXPETINPUT, NRINPUT, ES33OUTPUT, ZERORATEDINPUT, ZERORATEDOUTPUT, DRCHARGESUPPLY, DRCHARGE, CAPINPUT, CAPIMPORTS, IMINPUT, INPUT2, CIUINPUT, SRINPUT, OUTPUT2, SROUTPUT, CAPOUTPUT, SROUTPUT2, CIUOUTPUT, ZROUTPUT, ZREXPORT, ACC28PLUS, ACCUPTO28, OTHEROUTPUT, SHOUTPUT, ZRINPUT, BADDEBT, OTHERINPUT, BADDEBTRELIEF, IGDSINPUT3, SROVR, TOURISTREFUND, TXRCN33, TXRCRE, TXRCESS, TXRCTS, CAPEXINPUT, UNDEFINED, CAPEXOUTPUT, ZEROEXPOUTPUT, GOODSIMPORT, NONEINPUT, NOTREPORTED, SROVRRS, SROVRLVG, SRLVG, IM, IMESS, IMN33, IMRE, BADDEBTRECOVERY, USSALESTAX, BLINPUT3
StatusstringOptionalSee Status Codes
One of: ACTIVE, DELETED, ARCHIVED, PENDING
TaxComponentsarrayOptionalSee TaxComponents
TaxComponents[]ModelEach itemExpand Updates tax rates — request body — body Tax Rates item Tax Components item
TaxTypestringOptionalThe tax type

Referenced models: Updates tax rates — request body — body Tax Rates item Tax Components item

Updates tax rates — request body — body Tax Rates item Tax Components item

FieldTypePresenceDescription and constraints
$objectRoot
IsCompoundbooleanOptionalBoolean to describe if Tax rate is compounded.
IsNonRecoverablebooleanOptionalBoolean to describe if tax rate is non-recoverable. Non-recoverable rates are only applicable to Canadian organisations
NamestringOptionalName of Tax Component
RatenumberOptionalTax Rate (up to 4dp)
Format: double

Updates tax rates — response body

FieldTypePresenceDescription and constraints
$objectRoot
TaxRatesarrayOptional
TaxRates[]ModelEach itemExpand Updates tax rates — response body — Tax Rates item

Referenced models: Updates tax rates — response body — Tax Rates item

Updates tax rates — response body — Tax Rates item

FieldTypePresenceDescription and constraints
$objectRoot
CanApplyToAssetsbooleanOptionalBoolean to describe if tax rate can be used for asset accounts i.e. true,false
Read only: true
CanApplyToEquitybooleanOptionalBoolean to describe if tax rate can be used for equity accounts i.e true,false
Read only: true
CanApplyToExpensesbooleanOptionalBoolean to describe if tax rate can be used for expense accounts i.e. true,false
Read only: true
CanApplyToLiabilitiesbooleanOptionalBoolean to describe if tax rate can be used for liability accounts i.e. true,false
Read only: true
CanApplyToRevenuebooleanOptionalBoolean to describe if tax rate can be used for revenue accounts i.e. true,false
Read only: true
DisplayTaxRateJSONOptional
DisplayTaxRate (anyOf 1)numberAlternativeTax Rate (decimal to 4dp) e.g 12.5000
Format: double
Read only: true
DisplayTaxRate (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
EffectiveRateJSONOptional
EffectiveRate (anyOf 1)numberAlternativeEffective Tax Rate (decimal to 4dp) e.g 12.5000
Format: double
Read only: true
EffectiveRate (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
NamestringOptionalName of tax rate
ReportTaxTypestringOptionalSee ReportTaxTypes
Known values: AVALARA, BASEXCLUDED, CAPITALSALESOUTPUT, CAPITALEXPENSESINPUT, ECOUTPUT, ECOUTPUTSERVICES, ECINPUT, ECACQUISITIONS, EXEMPTEXPENSES, EXEMPTINPUT, EXEMPTOUTPUT, GSTONIMPORTS, INPUT, INPUTTAXED, MOSSSALES, NONE, NONEOUTPUT, OUTPUT, PURCHASESINPUT, SALESOUTPUT, EXEMPTCAPITAL, EXEMPTEXPORT, CAPITALEXINPUT, GSTONCAPIMPORTS, GSTONCAPITALIMPORTS, REVERSECHARGES, PAYMENTS, INVOICE, CASH, ACCRUAL, FLATRATECASH, FLATRATEACCRUAL, ACCRUALS, TXCA, SRCAS, DSOUTPUT, BLINPUT2, EPINPUT, IMINPUT2, MEINPUT, IGDSINPUT2, ESN33OUTPUT, OPINPUT, OSOUTPUT, TXN33INPUT, TXESSINPUT, TXREINPUT, TXPETINPUT, NRINPUT, ES33OUTPUT, ZERORATEDINPUT, ZERORATEDOUTPUT, DRCHARGESUPPLY, DRCHARGE, CAPINPUT, CAPIMPORTS, IMINPUT, INPUT2, CIUINPUT, SRINPUT, OUTPUT2, SROUTPUT, CAPOUTPUT, SROUTPUT2, CIUOUTPUT, ZROUTPUT, ZREXPORT, ACC28PLUS, ACCUPTO28, OTHEROUTPUT, SHOUTPUT, ZRINPUT, BADDEBT, OTHERINPUT, BADDEBTRELIEF, IGDSINPUT3, SROVR, TOURISTREFUND, TXRCN33, TXRCRE, TXRCESS, TXRCTS, CAPEXINPUT, UNDEFINED, CAPEXOUTPUT, ZEROEXPOUTPUT, GOODSIMPORT, NONEINPUT, NOTREPORTED, SROVRRS, SROVRLVG, SRLVG, IM, IMESS, IMN33, IMRE, BADDEBTRECOVERY, USSALESTAX, BLINPUT3
StatusstringOptionalSee Status Codes
Known values: ACTIVE, DELETED, ARCHIVED, PENDING
TaxComponentsarrayOptionalSee TaxComponents
TaxComponents[]ModelEach itemExpand Updates tax rates — response body — Tax Rates item Tax Components item
TaxTypestringOptionalThe tax type

Referenced models: Updates tax rates — response body — Tax Rates item Tax Components item

Updates tax rates — response body — Tax Rates item Tax Components item

FieldTypePresenceDescription and constraints
$objectRoot
IsCompoundbooleanOptionalBoolean to describe if Tax rate is compounded.
IsNonRecoverablebooleanOptionalBoolean to describe if tax rate is non-recoverable. Non-recoverable rates are only applicable to Canadian organisations
NamestringOptionalName of Tax Component
RateJSONOptional
Rate (anyOf 1)numberAlternativeTax Rate (up to 4dp)
Format: double
Rate (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

create Contact Attachment By File Name — response body

FieldTypePresenceDescription and constraints
$objectRoot
AttachmentsarrayOptional
Attachments[]ModelEach itemExpand create Contact Attachment By File Name — response body — Attachments item

Referenced models: create Contact Attachment By File Name — response body — Attachments item

create Contact Attachment By File Name — response body — Attachments item

FieldTypePresenceDescription and constraints
$objectRoot
AttachmentIDstringOptionalUnique ID for the file
Format: uuid
ContentLengthJSONOptional
ContentLength (anyOf 1)integerAlternativeLength of the file content
ContentLength (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
FileNamestringOptionalName of the file
IncludeOnlinebooleanOptionalInclude the file with the online invoice
MimeTypestringOptionalType of file
UrlstringOptionalURL to the file on xero.com

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.