Skip to main content

Xero Connector

Xero Manage invoices, items, accounts, payments and more objects from your Xero account.

Connections

Xero OAuth 2.0

Authenticate requests to Xero using values obtained from the developer console.

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
ScopesA space-delimited set of one or more scopes to get the user's permission to access. You must specify 'offline_access' to enable automatic token refresh.offline_access accounting.settings accounting.contacts accounting.attachments
Client IDProvide the Client Id you received from the Xero Developer Console.
Client SecretProvide the Client Secret you generated from the Xero Developer Console.
Tenant NameThe name of the tenant you are requesting access to.

Xero OAuth 2.0 Client Credentials

Authenticate requests to Xero using client credentials (Custom Connection).

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
ScopesA space-delimited set of one or more scopes to get the user's permission to access. Don't specify 'offline_access' as this is a client credentials flow.accounting.settings accounting.contacts accounting.attachments
Client IDProvide the Client Id you received from the Xero Developer Console.
Client SecretProvide the Client Secret you generated from the Xero Developer Console.

Triggers

Webhook

Receive and validate webhook requests from Xero for webhooks you configure.

InputCommentsDefault
Webhook KeyProvide the webhook key that was created upon subscription.

Actions

Add Notes To Invoice

Add additional notes to an invoice by Id

InputCommentsDefault
Invoice IDProvide a string value for the Invoice ID.
NotesProvide a string value for notes to add to an object.
ConnectionThe connection to use.

Add Note To Item

Add a note to an item's history by Id

InputCommentsDefault
Item IDProvide a string value for the Item ID.
NotesProvide a string value for notes to add to an object.
ConnectionThe connection to use.

Archive Account

Archive the information and metadata of an account by Id

InputCommentsDefault
Account IDProvide a string value for the Account ID
ConnectionThe connection to use.

Archive Contact

Archive the information and metadata of a contact by Id

InputCommentsDefault
Contact IDProvide a string value for the Contact ID.
ConnectionThe connection to use.

Create Account

Create a new account

InputCommentsDefault
Account CodeProvide a string value for the account code. This value is a customer defined alpha numeric account code.
Account NameProvide a string value for the name of the account.
Account TypeProvide a string value for the type of the given account. You can choose from the list of provided values here: https://developer.xero.com/documentation/api/accounting/types#accounts
Optional ValuesFor each item, provide a key and value to be used in the request body.
Bank Account NumberThis value is required if you are creating an account of type 'BANK'.
Show In Expense ClaimsThis value will determine if your account will show in expense claims. This field is required for certain accounts.false
ConnectionThe connection to use.

Create Attachment

Add an attachment to an existing object. Existing attachments with that file name will be overridden.

InputCommentsDefault
Object TypeProvide a string value for the type of object you would like to access.
Object IDProvide a string value for the Id of the object.
File NameProvide a string value for the name of the file you want to attach to the object. The File Name will become the unique identifier of the file for update operations.
File DataProvide a value that represents the data of the file you want to upload
Content TypeMIME type of the file you want to upload
ConnectionThe connection to use.

Create Contact

Create a new contact

InputCommentsDefault
ConnectionThe connection to use.
Contact NameProvide a string value for the name of the contact.
First NameProvide a string value for the first name of the contact.
Last NameProvide a string value for the last name of the contact.
Email AddressProvide a valid email address for the contact.
Address TypeProvide a string value for the address type.
AddressProvide a string value that represents a valid address.
CityProvide a string value for the city of the address.
Postal CodeProvide a valid postal code.
CountryProvide a string value for the country of the address.
RegionProvide a string value for the region of the address.
Bank Account DetailsProvide a string value for the details of the contacts bank account. Depending on the type of account, providing a value for this field could cause your request to fail. For more information on the expected shape of the Account object, refer to the Xero docs: https://developer.xero.com/documentation/api/accounting/accounts/#get-accounts
Contact StatusProvide a string value for the status of the contact.
Tax NumberProvide a string value for the Tax number. For more information on what value to provide, refer to the Xero docs: https://developer.xero.com/documentation/api/accounting/types#tax-types
Accounts Receivable Tax TypeProvide a string value for the tax type of accounts receivable for the account. For more information on what value to provide, refer to the Xero docs: https://developer.xero.com/documentation/api/accounting/types#tax-types
Accounts Payable Tax TypeProvide a string value for the tax type of accounts payable for the account. For more information on what value to provide, refer to the Xero docs: https://developer.xero.com/documentation/api/accounting/types#tax-types
Default CurrencyProvide a valid type of currency.
Additional FieldsAdditional fields that might not be covered by the standard inputs. See https://developer.xero.com/documentation/api/accounting/contacts#post-contacts for additional fields.

Create Invoice

Create a new invoice

InputCommentsDefault
Invoice TypeProvide a string value for the type of the given invoice.
Contact IDProvide a string value for the Contact ID.
Invoice StatusThis value is required if you want to make payments on an invoice. Will default to 'DRAFT'
Line ItemsProvide a JSON array, For each item, provide an object describing a valid line item. The 'ItemCode', 'Tracking', and 'DiscountRate' properties are optional. If you want to provide no line items, simply enter an empty Array.
Line Amount TypeProvide a string value for the line Amount Types.
DateDate invoice was issued. If the Date element is not specified it will default to the current date based on the timezone setting of the organization.
Due DateDate invoice is due.
Date StringProvide a string value for the date in which the invoice was created.
Due Date StringProvide a string value for the due date of the invoice.
Invoice NumberProvide a string value for the unique invoice number.
ReferenceAdditional reference number (Accounts Receivable invoices only).
URLURL link to a source document – shown as "Go to [appName]" in the Xero app.
Currency CodeThe currency that invoice has been raised in.
Sent To ContactBoolean to set whether the invoice in the Xero app should be marked as "sent". This can be set only on invoices that have been approve.false
Additional FieldsAdditional fields that might not be covered by the standard inputs. See https://developer.xero.com/documentation/api/accounting/invoices#post-invoices for additional fields.
ConnectionThe connection to use.

Create Item

Create a new Item

InputCommentsDefault
Item CodeProvide a user-defined valid item code.
DescriptionProvide a string value for the description.
Purchase DescriptionProvide a string value for the description.
Purchase Unit PriceProvide the unit price of the purchase.
Purchase Account CodeProvide the account code of the purchase.
Purchase Tax TypeProvide the tax type of the purchaser. Pick a value from the items listed here: https://developer.xero.com/documentation/api/accounting/types#tax-types
Sales Unit PriceProvide the unit price of the sale, if the item has been sold.
Sales Account CodeProvide the account code of the sale.
Item NameProvide a string value for the name of the item.
Sales Tax TypeProvide the tax type of the Seller. Provide a value from the items listed here: https://developer.xero.com/documentation/api/accounting/types#tax-types
Inventory Asset Account CodeProvide the account code for the inventory asset
Is SoldProvide a boolean value to determine if the item has been sold yet.false
Is PurchasedProvide a boolean value to determine if the item has been purchased yet.false
ConnectionThe connection to use.

Delete Account

Delete the information and metadata of an account by Id

InputCommentsDefault
Account IDProvide a string value for the Account ID
ConnectionThe connection to use.

Delete Invoice

Delete the information and metadata of an invoice by Id

InputCommentsDefault
Invoice IDProvide a string value for the Invoice ID.
ConnectionThe connection to use.

Delete Item

Delete the information and metadata of an item by Id

InputCommentsDefault
Item IDProvide a string value for the Item ID.
ConnectionThe connection to use.

Get Account

Get the information and metadata of an account by Id

InputCommentsDefault
Account IDProvide a string value for the Account ID
ConnectionThe connection to use.

Get Attachment

Get an attachment by ID

InputCommentsDefault
Object TypeProvide a string value for the type of object you would like to access.
Object IDProvide a string value for the Id of the object.
File NameProvide a string value for the name of the file you want to attach to the object. The File Name will become the unique identifier of the file for update operations.
ConnectionThe connection to use.

Get Contact

Get the information and metadata of a contact by Id

InputCommentsDefault
Contact IDProvide a string value for the Contact ID.
ConnectionThe connection to use.

Get Contact History

Get the information and metadata of a contact's history by Id

InputCommentsDefault
Contact IDProvide a string value for the Contact ID.
ConnectionThe connection to use.

Get Invoice

Get the information and metadata of an invoice by Id

InputCommentsDefault
Invoice IDProvide a string value for the Invoice ID.
ConnectionThe connection to use.

Get Item

Get the information and metadata of an item by Id

InputCommentsDefault
Item IDProvide a string value for the Item ID.
ConnectionThe connection to use.

Get Item History

Get the information and metadata of an items's history by Id

InputCommentsDefault
Item IDProvide a string value for the Item ID.
ConnectionThe connection to use.

Get Payment

Get the information and metadata of a payment by id

InputCommentsDefault
Payment IDProvide a string value for the Id of the payment.
ConnectionThe connection to use.

Get Payment History

Get the information and metadata of a payment's history by Id

InputCommentsDefault
Payment IDProvide a string value for the Id of the payment.
ConnectionThe connection to use.

List Accounts

List all accounts

InputCommentsDefault
ConnectionThe connection to use.
Modified AfterOnly contacts created or modified since this timestamp will be returned.
WhereThe where parameter allows you to filter on endpoints and elements that don't have explicit parameters.

List Connections

List all connections

InputCommentsDefault
ConnectionThe connection to use.

List Contacts

List all contacts

InputCommentsDefault
ConnectionThe connection to use.
Page NumberProvide the page of the results you would like to return. Pagination will only be enabled if over 100 elements are returned by your request. It is not possible to specify the page size.
Modified AfterOnly contacts created or modified since this timestamp will be returned.
WhereThe where parameter allows you to filter on endpoints and elements that don't have explicit parameters.

List Invoices

List all invoices

InputCommentsDefault
ConnectionThe connection to use.
Page NumberProvide the page of the results you would like to return. Pagination will only be enabled if over 100 elements are returned by your request. It is not possible to specify the page size.
Modified AfterOnly contacts created or modified since this timestamp will be returned.
WhereThe where parameter allows you to filter on endpoints and elements that don't have explicit parameters.

List Items

List all items

InputCommentsDefault
ConnectionThe connection to use.
Page NumberProvide the page of the results you would like to return. Pagination will only be enabled if over 100 elements are returned by your request. It is not possible to specify the page size.
Modified AfterOnly contacts created or modified since this timestamp will be returned.
WhereThe where parameter allows you to filter on endpoints and elements that don't have explicit parameters.

List Payments

List all payments

InputCommentsDefault
ConnectionThe connection to use.
Page NumberProvide the page of the results you would like to return. Pagination will only be enabled if over 100 elements are returned by your request. It is not possible to specify the page size.
Modified AfterOnly contacts created or modified since this timestamp will be returned.
WhereThe where parameter allows you to filter on endpoints and elements that don't have explicit parameters.

Pay Invoice

Create a new payment on an existing AP/AR invoice

InputCommentsDefault
Invoice IDProvide a string value for the Invoice ID.
Account IDProvide a string value for the Account ID
Date StringProvide a string value for the date in which the invoice was created.
Payment AmountProvide a string value for the amount of the payment. This value must be less than or equal to the outstanding amount owed on the invoice.
ConnectionThe connection to use.

Raw Request

Send raw HTTP request to Xero

InputCommentsDefault
ConnectionThe connection to use.
URLInput the path only (/Accounts), The base URL is already included (https://api.xero.com/api.xro/2.0). For example, to connect to https://api.xero.com/api.xro/2.0/Accounts, only /Accounts is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Debug RequestEnabling this flag will log out the current request.false
Retry Delay (ms)The delay in milliseconds between retries.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type.false
Max Retry CountThe maximum number of retries to attempt.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries.false

Reverse Payment

Reverse a payment by Id

InputCommentsDefault
Payment IDProvide a string value for the Id of the payment.
ConnectionThe connection to use.

Send Invoice

Send an existing accounts receivable invoice through email

InputCommentsDefault
Invoice IDProvide a string value for the Invoice ID.
ConnectionThe connection to use.

Update Account

Update the information and metadata of an existing account by Id

InputCommentsDefault
Account IDProvide a string value for the Account ID
Account CodeProvide a string value for the account code. This value is a customer defined alpha numeric account code.
Account NameProvide a string value for the name of the account.
Account TypeProvide a string value for the type of the given account. You can choose from the list of provided values here: https://developer.xero.com/documentation/api/accounting/types#accounts
Purchase Tax TypeProvide the tax type of the purchaser. Pick a value from the items listed here: https://developer.xero.com/documentation/api/accounting/types#tax-types
DescriptionProvide a string value for the description.
Enable Payments To AccountThis flag will enable payments to be made to the given account.false
Optional ValuesFor each item, provide a key and value to be used in the request body.
Show In Expense ClaimsThis value will determine if your account will show in expense claims. This field is required for certain accounts.false
ConnectionThe connection to use.

Update Contact

Update the information and metadata of a contact by Id

InputCommentsDefault
Contact IDProvide a string value for the Contact ID.
Contact NumberProvide a string value for the unique number identifier of the contact.
Contact NameProvide a string value for the name of the contact.
First NameProvide a string value for the first name of the contact.
Last NameProvide a string value for the last name of the contact.
Email AddressProvide a valid email address for the contact.
Accounts Payable Tax TypeProvide a string value for the tax type of accounts payable for the account. For more information on what value to provide, refer to the Xero docs: https://developer.xero.com/documentation/api/accounting/types#tax-types
Accounts Receivable Tax TypeProvide a string value for the tax type of accounts receivable for the account. For more information on what value to provide, refer to the Xero docs: https://developer.xero.com/documentation/api/accounting/types#tax-types
Bank Account DetailsProvide a string value for the details of the contacts bank account. Depending on the type of account, providing a value for this field could cause your request to fail. For more information on the expected shape of the Account object, refer to the Xero docs: https://developer.xero.com/documentation/api/accounting/accounts/#get-accounts
Default CurrencyProvide a valid type of currency.
Tax NumberProvide a string value for the Tax number. For more information on what value to provide, refer to the Xero docs: https://developer.xero.com/documentation/api/accounting/types#tax-types
Contact StatusProvide a string value for the status of the contact.
CityProvide a string value for the city of the address.
Address TypeProvide a string value for the address type.
AddressProvide a string value that represents a valid address.
Postal CodeProvide a valid postal code.
CountryProvide a string value for the country of the address.
RegionProvide a string value for the region of the address.
Additional FieldsAdditional fields that might not be covered by the standard inputs. See https://developer.xero.com/documentation/api/accounting/contacts#post-contacts for additional fields.
ConnectionThe connection to use.

Update Item

Update the information and metadata of an item by Id

InputCommentsDefault
Item IDProvide a string value for the Item ID.
Item CodeProvide a user-defined valid item code.
Item NameProvide a string value for the name of the item.
DescriptionProvide a string value for the description.
Is SoldProvide a boolean value to determine if the item has been sold yet.false
Is PurchasedProvide a boolean value to determine if the item has been purchased yet.false
Purchase DescriptionProvide a string value for the description.
Purchase Unit PriceProvide the unit price of the purchase.
Purchase Tax TypeProvide the tax type of the purchaser. Pick a value from the items listed here: https://developer.xero.com/documentation/api/accounting/types#tax-types
Purchase Account CodeProvide the account code of the purchase.
Sales Account CodeProvide the account code of the sale.
Sales Unit PriceProvide the unit price of the sale, if the item has been sold.
Sales Tax TypeProvide the tax type of the Seller. Provide a value from the items listed here: https://developer.xero.com/documentation/api/accounting/types#tax-types
Inventory Asset Account CodeProvide the account code for the inventory asset
Optional ValuesFor each item, provide a key and value to be used in the request body.
ConnectionThe connection to use.

Void Invoice

Void an existing approved invoice that has no payments applied to it.

InputCommentsDefault
Invoice IDProvide a string value for the Invoice ID.
ConnectionThe connection to use.