Accounting 50 endpoints

PUT /ContactGroups/{ContactGroupID}/Contacts
operationId: Accounting_addContactsToGroup

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ContactGroupID path optional string

Unique identifier for a Contact Group

Request Body

required

Contacts with array of contacts specifying the ContactID to be added to ContactGroup in body of request

application/json
schema Contacts
Property Type Required
Contacts array optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
Overdue number optional
Outstanding number optional
AccountsReceivable object optional
Overdue number optional
Outstanding number optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Day integer optional
Type string optional
Sales object optional
Day integer optional
Type string optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional

Responses

200

Success - return response of type Contacts array of added Contacts

400

A failed request due to validation error

PUT /ContactGroups/{ContactGroupID}/Contacts
DELETE /ContactGroups/{ContactGroupID}/Contacts/{ContactID}
operationId: Accounting_deleteContactFromGroup

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

ContactGroupID path optional string

Unique identifier for a Contact Group

ContactID path optional string

Unique identifier for a Contact

Responses

204

Success - return response 204 no content

400

A failed request due to validation error

DELETE /ContactGroups/{ContactGroupID}/Contacts/{ContactID}
GET /Contacts
operationId: Accounting_listContacts

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

If-Modified-Since header optional string

Only records created or modified since this timestamp will be returned

where query optional string

Filter by an any element

order query optional string

Order by an any element

IDs query optional array

Filter by a comma separated list of ContactIDs. Allows you to retrieve a specific set of contacts in a single call.

page query optional integer

e.g. page=1 - Up to 100 contacts will be returned in a single API call.

includeArchived query optional boolean

e.g. includeArchived=true - Contacts with a status of ARCHIVED will be included in the response

summaryOnly query optional boolean

Use summaryOnly=true in GET Contacts and Invoices endpoint to retrieve a smaller version of the response object. This returns only lightweight fields, excluding computation-heavy fields from the response, making the API calls quick and efficient.

searchTerm query optional string

Search parameter that performs a case-insensitive text search across the Name, FirstName, LastName, ContactNumber and EmailAddress fields.

Responses

200

Success - return response of type Contacts array with 0 to N Contact

GET /Contacts
POST /Contacts
operationId: Accounting_updateOrCreateContacts

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required
application/json
schema Contacts
Property Type Required
Contacts array optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
Overdue number optional
Outstanding number optional
AccountsReceivable object optional
Overdue number optional
Outstanding number optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Day integer optional
Type string optional
Sales object optional
Day integer optional
Type string optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional

Responses

200

Success - return response of type Contacts array with newly created Contact

400

Validation Error - some data was incorrect returns response of type Error

POST /Contacts
PUT /Contacts
operationId: Accounting_createMultipleContacts

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Contacts with an array of Contact objects to create in body of request

application/json
schema Contacts
Property Type Required
Contacts array optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
Overdue number optional
Outstanding number optional
AccountsReceivable object optional
Overdue number optional
Outstanding number optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Day integer optional
Type string optional
Sales object optional
Day integer optional
Type string optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional

Responses

200

Success - return response of type Contacts array with newly created Contact

400

Validation Error - some data was incorrect returns response of type Error

PUT /Contacts
GET /Contacts/{ContactID}
operationId: Accounting_getContactById

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

ContactID path optional string

Unique identifier for a Contact

Responses

200

Success - return response of type Contacts array with a unique Contact

GET /Contacts/{ContactID}
POST /Contacts/{ContactID}
operationId: Accounting_updateContact

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ContactID path optional string

Unique identifier for a Contact

Request Body

required

an array of Contacts containing single Contact object with properties to update

application/json
schema Contacts
Property Type Required
Contacts array optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
Overdue number optional
Outstanding number optional
AccountsReceivable object optional
Overdue number optional
Outstanding number optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Day integer optional
Type string optional
Sales object optional
Day integer optional
Type string optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional

Responses

200

Success - return response of type Contacts array with an updated Contact

400

A failed request due to validation error

POST /Contacts/{ContactID}
GET /Contacts/{ContactID}/Attachments
operationId: Accounting_getContactAttachments

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

ContactID path optional string

Unique identifier for a Contact

Responses

200

Success - return response of type Attachments array with 0 to N Attachment

GET /Contacts/{ContactID}/Attachments
GET /Contacts/{ContactID}/Attachments/{AttachmentID}
operationId: Accounting_getSpecificAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

ContactID path optional string

Unique identifier for a Contact

AttachmentID path optional string

Unique identifier for Attachment object

contentType header optional string

The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf

Responses

200

Success - return response of attachment for Contact as binary data

GET /Contacts/{ContactID}/Attachments/{AttachmentID}
GET /Contacts/{ContactID}/Attachments/{FileName}
operationId: Accounting_getAttachmentByFileName

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

ContactID path optional string

Unique identifier for a Contact

FileName path optional string

Name of the attachment

contentType header optional string

The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf

Responses

200

Success - return response of attachment for Contact as binary data

GET /Contacts/{ContactID}/Attachments/{FileName}
POST /Contacts/{ContactID}/Attachments/{FileName}
operationId: Accounting_uploadAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ContactID path optional string

Unique identifier for a Contact

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingUploadAttachmentRequest
string

Responses

200

Success - return response of type Attachments array with an updated Attachment

400

A failed request due to validation error

POST /Contacts/{ContactID}/Attachments/{FileName}
PUT /Contacts/{ContactID}/Attachments/{FileName}
operationId: Accounting_uploadAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ContactID path optional string

Unique identifier for a Contact

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingUploadAttachmentRequest1
string

Responses

200

Success - return response of type Attachments array with an newly created Attachment

400

A failed request due to validation error

PUT /Contacts/{ContactID}/Attachments/{FileName}
GET /Contacts/{ContactID}/CISSettings
operationId: Accounting_getCisSettings

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

ContactID path optional string

Unique identifier for a Contact

Responses

200

Success - return response of type CISSettings for a specific Contact

GET /Contacts/{ContactID}/CISSettings
GET /Contacts/{ContactID}/History
operationId: Accounting_getContactHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

ContactID path optional string

Unique identifier for a Contact

Responses

200

Success - return response of HistoryRecords array of 0 to N HistoryRecord

GET /Contacts/{ContactID}/History
PUT /Contacts/{ContactID}/History
operationId: Accounting_createContactHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ContactID path optional string

Unique identifier for a Contact

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /Contacts/{ContactID}/History
GET /Contacts/{ContactNumber}
operationId: Accounting_getContactByNumber

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

ContactNumber path required string

This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50).

Responses

200

Success - return response of type Contacts array with a unique Contact

GET /Contacts/{ContactNumber}
GET /CreditNotes
operationId: Accounting_getCreditNotes

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

If-Modified-Since header optional string

Only records created or modified since this timestamp will be returned

where query optional string

Filter by an any element

order query optional string

Order by an any element

page query optional integer

e.g. page=1 – Up to 100 credit notes will be returned in a single API call with line items shown for each credit note

unitdp query optional integer

e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts

Responses

200

Success - return response of type Credit Notes array of CreditNote

GET /CreditNotes
POST /CreditNotes
operationId: Accounting_updateOrCreateCreditNotes

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

unitdp query optional integer

e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

an array of Credit Notes with a single CreditNote object.

application/json
schema CreditNotes
Property Type Required
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
AllocationID string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional

Responses

200

Success - return response of type Credit Notes array of newly created CreditNote

400

A failed request due to validation error

POST /CreditNotes
PUT /CreditNotes
operationId: Accounting_createCreditNote

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

unitdp query optional integer

e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Credit Notes with array of CreditNote object in body of request

application/json
schema CreditNotes
Property Type Required
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
AllocationID string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional

Responses

200

Success - return response of type Credit Notes array of newly created CreditNote

400

A failed request due to validation error

PUT /CreditNotes
GET /CreditNotes/{CreditNoteID}
operationId: Accounting_getCreditNoteById

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

unitdp query optional integer

e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts

Responses

200

Success - return response of type Credit Notes array with a unique CreditNote

GET /CreditNotes/{CreditNoteID}
POST /CreditNotes/{CreditNoteID}
operationId: Accounting_updateCreditNote

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

unitdp query optional integer

e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

an array of Credit Notes containing credit note details to update

application/json
schema CreditNotes
Property Type Required
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
AllocationID string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional

Responses

200

Success - return response of type Credit Notes array with updated CreditNote

400

A failed request due to validation error

POST /CreditNotes/{CreditNoteID}
PUT /CreditNotes/{CreditNoteID}/Allocations
operationId: Accounting_createCreditNoteAllocations

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Allocations with array of Allocation object in body of request.

application/json
schema Allocations
Property Type Required
Allocations array optional
Date string required
Amount number required
Invoice object required
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
AmountPaid number optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
…20 more object optional
IsDeleted boolean optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Allocations array optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
AllocationID string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional

Responses

200

Success - return response of type Allocations array with newly created Allocation for specific Credit Note

400

A failed request due to validation error

PUT /CreditNotes/{CreditNoteID}/Allocations
DELETE /CreditNotes/{CreditNoteID}/Allocations/{AllocationID}
operationId: Accounting_deleteAllocationFromCreditNote

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

AllocationID path optional string

Unique identifier for Allocation object

Responses

200

Success - return response of type Allocation with the isDeleted flag as true

DELETE /CreditNotes/{CreditNoteID}/Allocations/{AllocationID}
GET /CreditNotes/{CreditNoteID}/Attachments
operationId: Accounting_getCreditNoteAttachments

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

Responses

200

Success - return response of type Attachments array with all Attachment for specific Credit Note

GET /CreditNotes/{CreditNoteID}/Attachments
GET /CreditNotes/{CreditNoteID}/Attachments/{AttachmentID}
operationId: Accounting_getCreditNoteAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

AttachmentID path optional string

Unique identifier for Attachment object

contentType header optional string

The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf

Responses

200

Success - return response of attachment for Credit Note as binary data

GET /CreditNotes/{CreditNoteID}/Attachments/{AttachmentID}
GET /CreditNotes/{CreditNoteID}/Attachments/{FileName}
operationId: Accounting_getSpecificAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

FileName path optional string

Name of the attachment

contentType header optional string

The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf

Responses

200

Success - return response of attachment for Credit Note as binary data

GET /CreditNotes/{CreditNoteID}/Attachments/{FileName}
POST /CreditNotes/{CreditNoteID}/Attachments/{FileName}
operationId: Accounting_updateAttachmentsByFileName

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

CreditNoteID path optional string

Unique identifier for a Credit Note

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingUpdateAttachmentsByFileNameRequest
string

Responses

200

Success - return response of type Attachments array with updated Attachment for specific Credit Note

400

A failed request due to validation error

POST /CreditNotes/{CreditNoteID}/Attachments/{FileName}
PUT /CreditNotes/{CreditNoteID}/Attachments/{FileName}
operationId: Accounting_updateCreditNoteAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

FileName path optional string

Name of the attachment

IncludeOnline query optional boolean

Allows an attachment to be seen by the end customer within their online invoice

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingUpdateCreditNoteAttachmentRequest
string

Responses

200

Success - return response of type Attachments array with newly created Attachment for specific Credit Note

400

A failed request due to validation error

PUT /CreditNotes/{CreditNoteID}/Attachments/{FileName}
GET /CreditNotes/{CreditNoteID}/History
operationId: Accounting_getCreditNoteHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

Responses

200

Success - return response of HistoryRecords array of 0 to N HistoryRecord

GET /CreditNotes/{CreditNoteID}/History
PUT /CreditNotes/{CreditNoteID}/History
operationId: Accounting_getCreditNoteHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

CreditNoteID path optional string

Unique identifier for a Credit Note

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /CreditNotes/{CreditNoteID}/History
GET /CreditNotes/{CreditNoteID}/pdf
operationId: Accounting_getCreditNotePdf

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

Responses

200

Success - return response of binary data from the Attachment to a Credit Note

GET /CreditNotes/{CreditNoteID}/pdf
GET /Currencies
operationId: Accounting_getCurrencies

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

where query optional string

Filter by an any element

order query optional string

Order by an any element

Responses

200

Success - return response of type Currencies array with all Currencies

GET /Currencies
PUT /Currencies
operationId: Accounting_createCurrency

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Currency object in the body of request

application/json
schema Currency
Property Type Required
Code string optional
Description string optional

Responses

200

Unsupported - return response incorrect exception, API is not able to create new Currency

PUT /Currencies
GET /Employees
operationId: Accounting_getPayrunEmployees

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

If-Modified-Since header optional string

Only records created or modified since this timestamp will be returned

where query optional string

Filter by an any element

order query optional string

Order by an any element

Responses

200

Success - return response of type Employees array with all Employee

GET /Employees
POST /Employees
operationId: Accounting_createXeroPayrunEmployee

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Employees with array of Employee object in body of request

application/json
schema Employees
Property Type Required
Employees array optional
Status string optional
LastName string optional
FirstName string optional
EmployeeID string optional
ExternalLink object optional
Url string optional
LinkType string optional
Description string optional
UpdatedDateUTC string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional

Responses

200

Success - return response of type Employees array with new Employee

400

A failed request due to validation error

POST /Employees
PUT /Employees
operationId: Accounting_createPayrunEmployees

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Employees with array of Employee object in body of request

application/json
schema Employees
Property Type Required
Employees array optional
Status string optional
LastName string optional
FirstName string optional
EmployeeID string optional
ExternalLink object optional
Url string optional
LinkType string optional
Description string optional
UpdatedDateUTC string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional

Responses

200

Success - return response of type Employees array with new Employee

400

A failed request due to validation error

PUT /Employees
GET /Employees/{EmployeeID}
operationId: Accounting_getEmployeeById

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

EmployeeID path optional string

Unique identifier for a Employee

Responses

200

Success - return response of type Employees array with specified Employee

GET /Employees/{EmployeeID}
GET /ExpenseClaims
operationId: Accounting_getExpenseClaims

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

If-Modified-Since header optional string

Only records created or modified since this timestamp will be returned

where query optional string

Filter by an any element

order query optional string

Order by an any element

Responses

200

Success - return response of type ExpenseClaims array with all ExpenseClaims

GET /ExpenseClaims
PUT /ExpenseClaims
operationId: Accounting_createExpenseClaims

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

ExpenseClaims with array of ExpenseClaim object in body of request

application/json
schema ExpenseClaims
Property Type Required
ExpenseClaims array optional
User object optional
UserID string optional
LastName string optional
FirstName string optional
EmailAddress string optional
IsSubscriber boolean optional
UpdatedDateUTC string optional
OrganisationRole string optional
Total number optional
Status string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
Receipts array optional
Url string optional
Date string optional
User object optional
UserID string optional
LastName string optional
FirstName string optional
EmailAddress string optional
IsSubscriber boolean optional
UpdatedDateUTC string optional
OrganisationRole string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
ReceiptID string optional
Reference string optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
ReceiptNumber string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
ValidationErrors array optional
Message string optional
AmountDue number optional
ReceiptID string optional
AmountPaid number optional
ReportingDate string optional
ExpenseClaimID string optional
PaymentDueDate string optional
UpdatedDateUTC string optional

Responses

200

Success - return response of type ExpenseClaims array with newly created ExpenseClaim

400

A failed request due to validation error

PUT /ExpenseClaims
GET /ExpenseClaims/{ExpenseClaimID}
operationId: Accounting_getExpenseClaimById

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

ExpenseClaimID path optional string

Unique identifier for a ExpenseClaim

Responses

200

Success - return response of type ExpenseClaims array with specified ExpenseClaim

GET /ExpenseClaims/{ExpenseClaimID}
POST /ExpenseClaims/{ExpenseClaimID}
operationId: Accounting_updateExpenseClaims

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ExpenseClaimID path optional string

Unique identifier for a ExpenseClaim

Request Body

required
application/json
schema ExpenseClaims
Property Type Required
ExpenseClaims array optional
User object optional
UserID string optional
LastName string optional
FirstName string optional
EmailAddress string optional
IsSubscriber boolean optional
UpdatedDateUTC string optional
OrganisationRole string optional
Total number optional
Status string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
Receipts array optional
Url string optional
Date string optional
User object optional
UserID string optional
LastName string optional
FirstName string optional
EmailAddress string optional
IsSubscriber boolean optional
UpdatedDateUTC string optional
OrganisationRole string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
ReceiptID string optional
Reference string optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
ReceiptNumber string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
ValidationErrors array optional
Message string optional
AmountDue number optional
ReceiptID string optional
AmountPaid number optional
ReportingDate string optional
ExpenseClaimID string optional
PaymentDueDate string optional
UpdatedDateUTC string optional

Responses

200

Success - return response of type ExpenseClaims array with updated ExpenseClaim

400

A failed request due to validation error

POST /ExpenseClaims/{ExpenseClaimID}
GET /ExpenseClaims/{ExpenseClaimID}/History
operationId: Accounting_getExpenseClaimHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

ExpenseClaimID path optional string

Unique identifier for a ExpenseClaim

Responses

200

Success - return response of HistoryRecords array of 0 to N HistoryRecord

GET /ExpenseClaims/{ExpenseClaimID}/History
PUT /ExpenseClaims/{ExpenseClaimID}/History
operationId: Accounting_recordExpenseClaimHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ExpenseClaimID path optional string

Unique identifier for a ExpenseClaim

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

PUT /ExpenseClaims/{ExpenseClaimID}/History
GET /InvoiceReminders/Settings
operationId: Accounting_getInvoiceReminderSettings

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Responses

200

Success - return response of Invoice Reminders

GET /InvoiceReminders/Settings
GET /Invoices
operationId: Accounting_getSalesInvoices

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

If-Modified-Since header optional string

Only records created or modified since this timestamp will be returned

where query optional string

Filter by an any element

order query optional string

Order by an any element

IDs query optional array

Filter by a comma-separated list of InvoicesIDs.

InvoiceNumbers query optional array

Filter by a comma-separated list of InvoiceNumbers.

ContactIDs query optional array

Filter by a comma-separated list of ContactIDs.

Statuses query optional array

Filter by a comma-separated list Statuses. For faster response times we recommend using these explicit parameters instead of passing OR conditions into the Where filter.

page query optional integer

e.g. page=1 – Up to 100 invoices will be returned in a single API call with line items shown for each invoice

includeArchived query optional boolean

e.g. includeArchived=true - Invoices with a status of ARCHIVED will be included in the response

createdByMyApp query optional boolean

When set to true you’ll only retrieve Invoices created by your app

unitdp query optional integer

e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts

summaryOnly query optional boolean

Use summaryOnly=true in GET Contacts and Invoices endpoint to retrieve a smaller version of the response object. This returns only lightweight fields, excluding computation-heavy fields from the response, making the API calls quick and efficient.

Responses

200

Success - return response of type Invoices array with all Invoices

GET /Invoices
POST /Invoices
operationId: Accounting_updateOrCreateInvoices

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

unitdp query optional integer

e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required
application/json
schema Invoices
Property Type Required
Invoices array optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
AmountPaid number optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Overpayment object optional
AllocationID string optional
ValidationErrors array optional
StatusAttributeString string optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
…20 more object optional

Responses

200

Success - return response of type Invoices array with newly created Invoice

400

A failed request due to validation error

POST /Invoices
PUT /Invoices
operationId: Accounting_createInvoices

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

unitdp query optional integer

e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Invoices with an array of invoice objects in body of request

application/json
schema Invoices
Property Type Required
Invoices array optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
AmountPaid number optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Overpayment object optional
AllocationID string optional
ValidationErrors array optional
StatusAttributeString string optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
…20 more object optional

Responses

200

Success - return response of type Invoices array with newly created Invoice

400

A failed request due to validation error

PUT /Invoices
GET /Invoices/{InvoiceID}
operationId: Accounting_getInvoiceById

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

InvoiceID path optional string

Unique identifier for an Invoice

unitdp query optional integer

e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts

Responses

200

Success - return response of type Invoices array with specified Invoices

GET /Invoices/{InvoiceID}
POST /Invoices/{InvoiceID}
operationId: Accounting_updateSpecificInvoice

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

InvoiceID path optional string

Unique identifier for an Invoice

unitdp query optional integer

e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required
application/json
schema Invoices
Property Type Required
Invoices array optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
AmountPaid number optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Overpayment object optional
AllocationID string optional
ValidationErrors array optional
StatusAttributeString string optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
…20 more object optional

Responses

200

Success - return response of type Invoices array with updated Invoice

400

A failed request due to validation error

POST /Invoices/{InvoiceID}
GET /Invoices/{InvoiceID}/Attachments
operationId: Accounting_getInvoiceAttachments

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

InvoiceID path optional string

Unique identifier for an Invoice

Responses

200

Success - return response of type Attachments array of Attachments for specified Invoices

GET /Invoices/{InvoiceID}/Attachments
Load more endpoints