
Xero is an online accounting platform that helps businesses manage their finances, including invoicing, expense tracking, payroll, and reporting.
By integrating Xero with Wiresk, users can automate key workflows like monitoring new or updated invoices, retrieving records, and managing contacts or transactions.
This allows businesses to pull data directly from Xero into Wiresk’s interface, facilitating easier management of financial records
Explore the available functionalities through the Xero API documentation.
1 – Connect Xero to Wiresk Copy Link
A connection to your Xero account is needed so we can sync it with our platform.
There are two ways to connect your app to Wiresk:
▪️ In “My apps” section, where you can manage your connections (select or create your group first to get access to this section, refer to the Group system ).
▪️ While building your Flow, you can easily establish a connection to your app directly within the Flow builder. This can be done during the setup of either a Trigger or a Method.
In this documentation, we will explain how to create a connection in “My apps” section, it is essentially the same as when creating it on-the-go.
Add Xero app in Wiresk Copy Link
- On the left panel of Wiresk user interface, go to “My apps” and click on the (+) button.
- Search “Xero” in the search field or scroll down the list of apps and choose the Xero icon.

▪️ Standard OAuth connection is recommended for less technical users but offer the same features as the Advanced connection (multi-tenant, Access Token refreshed automatically, etc…)
▪️ Advanced Connection requires creating a app in your Xero developer Portal, to get the Client ID and secret for Wiresk’s connection.
Connect Xero via Standard OAuth connection Copy Link
- In the prompted screen, give a name to your connection, e.g., “Xero Connection”.
- Select XERO tab connection.
- Select the checkbox Xero (Select permissions for the authorization).
- Verify the list of scopes needed for Xero:
- Manage Invoices.
- Manage Payments.
- Manage Contacts.
- Manage Manual Journals.
- Manage Notes of Record.
- Manage Attachments.
- Manage Reports.
- Create, Read, Update, Delete on any Modules.

- Select the “Authorize” button. You will be redirected to Xero connection page.

- Log in to your Xero Account.
- On the new screen, select your organization and give access to Wiresk App by selecting “Continue”.

- You are redirected to Wiresk to complete your connection.
- The new “Email” field reflects the email address registered in your Xero account.

- Now select the “Save” button. Voila! Your Xero app OAuth connection is ready. You can now use it to build your Flows.
Connect Xero via an Advanced Connection Copy Link
▪️ You must create a custom app in your Xero developer Portal.
▪️ Retrieve your Client ID and Client Secret.
Create an App in Xero Developer Portal Copy Link
- Go to Xero Developer Portal > My Apps (log in to your Xero account if asked).
- Select “New app” button.

- Set a name for your App, here we’ll use “Wiresk app“.
- Select your Integration type, in our case we’ll set it to “Web app“.
- Enter the application URL : https://app.wiresk.com/
- Enter the Redirect URI : https://api.wiresk.com/api/auth/callback
- Agree to the Xero Developer Platform Terms & Conditions.
- Select “Create app” button.

Get The Client ID and Client Secret Copy Link
- On your newly created app management page, select Configuration tab
- Then, Select Generate a secret.

- Copy and save the Client ID and Client secret (The secret will only be shown once). Keep the Credentials for the Advance connection in Wiresk.
Create an app connection in Wiresk Copy Link
- Go to My apps tab > select ⊕ button > search Xero.
- On the connection screen, Select Oauth Advanced Connection.
- Enter your Xero Client ID and Secret from the previous step.
- Select Xero app permissions for authorization.
- Select the “Authorize” button and you will be redirected to Xero connection page.

- Log in to your Xero Account.
- On the new screen, select your organization and give access to Wiresk App by selecting “Continue”.

You are redirected to Wiresk. Your Client ID is now visible in the field ” Xero Client ID“.

- Select the “Save” button to complete your connection process.
Voila! Your Xero app OAuth Advanced connection is ready. You can now use it to build your Flows.
2 – Create your automated Flows with Xero Copy Link
Now that Xero is linked to Wiresk, you’re ready to start building Flows.
How to create a Flow (select to expand ↓ )
- Select your Group, then on the Flow management screen click on “Create Flow”.

A – Select the Trigger
- Name the Flow that you want to create.
- Add your Trigger by clicking on the red plus (+) Add button.
- On the Trigger selection screen, search your app or select it from the list below the screen.

- Select your preferred Trigger on the next screen and customize its settings. For Xero Triggers, refer to the Trigger settings below.
As mentioned in “How to connect your app to Wiresk” above, during your Trigger settings, you can create a new connection to your apps at this stage.
B – Add an HTTP Trigger to your Flow
An HTTP Trigger allows you to manually activate your Flows.
- Click on the red plus button (+) again to add a Trigger for testing your Flow, then click on the button “HTTP Trigger”.

- Write a description and select your API key or create a new one.

- Click on save. Now you can use your HTTP Trigger to Manually run your Flow.
C – Add a Method to your Flow
The Method will perform a specific task on a particular app or service you’ve connected to Wiresk like get info or send emails.
You can add at least 1 or multiple Methods for complex Flows (a maximum of 255 Methods).
- On the Flow builder screen, click on the plus button (+) next to the Trigger icon.

- Search or scroll down to select your apps Methods, then configure it settings. For Xero Methods, see Methods list and settings in the step below.
D – Add Wiresk Tools to your Flow
If you want to build a complex Flow, Wiresk offers a selection of tools at your disposal. Refer to Wiresk’s Tools
To add Tools in your Flow, Follow the same step as adding the Methods. On the Flow builder screen, click on the plus button (+) then just click on the “Tool” tab and select the Tool that you want to add.
3 – Xero Triggers Copy Link
What will start your automation…
Recurrence rule or scheduler settings Copy Link
Setting up the recurrence rule or scheduler of your Trigger (if the Trigger is not a Webhook):
- Regular intervals will monitor your Trigger by intervals in minute
- Daily recurrence will monitor your Trigger by day and hour
- Monthly recurrence will monitor your Trigger every month on a defined date and hour
- Yearly recurrence will monitor your Trigger on a specific date and hour every year
- Specific dates will start your Trigger on specific dates
Get Sample Copy Link
After setting up the Trigger parameters (refer to how to define your parameters in the steps below), click on “Get sample”.
The “Get sample” allows you to extract a subset of data for validation. The data will be used to MAP your Method parameters according to your Flow. Refer to FIELD MAPPING documentation.

Scheduled Triggers List and Settings Copy Link
These Triggers will start your Flow automatically at a specific time or intervals instead of being triggered real-time event (Webhooks).
Check Updated Invoices Copy Link
Configuration Table:
Name* | Check Updated Invoice |
Connection* | Select your connection or create one. |
Time out | You can additionally set the Trigger duration to limit the information processed per execution to optimize performance and resource usage. |
Recurrence rule/scheduler* | Set up your recurrence rule. |
Parameters | |
Include Previous Invoices | Selecting Yes retrieve all existing invoices. Choosing No shows only invoices created since the last time the flow was executed. |
Preview Data | In this tab, you can preview the retrieved data. In specific Trigger instances, data can only be previewed when it is available for retrieval. If no event occurs from the Trigger, a message “No data available”, or “Cannot read properties of null ” will be displayed. |
(*) required field
Before saving your Trigger, don’t forget to use “Get Sample”.
Check New Invoices Copy Link
Configuration Table:
Name* | Check New Invoice |
Connection* | Select your connection or create one. |
Time out | You can additionally set the Trigger duration to limit the information processed per execution to optimize performance and resource usage. |
Recurrence rule/scheduler* | Set up your recurrence rule. |
Parameters | |
Include Previous Invoices | Selecting Yes retrieve all existing invoices. Choosing No shows only invoices created since the last time the flow was executed. |
Preview Data | In this tab, you can preview the retrieved data. In specific Trigger instances, data can only be previewed when it is available for retrieval. If no event occurs from the Trigger, a message “No data available”, or “Cannot read properties of null ” will be displayed. |
(*) required field
Before saving your Trigger, don’t forget to use “Get Sample”.
Get All Records of an Entity Copy Link
Configuration Table:
Name* | Get All Records of an Entity |
Connection* | Select your connection or create one. |
Time out | You can additionally set the Trigger duration to limit the information processed per execution to optimize performance and resource usage. |
Recurrence rule/scheduler* | Set up your recurrence rule. |
Parameters | |
Entity* (Set of data that contain records) | Select the Entity to retrieve records from: Invoice, Account, Payment, Bank Transaction, Bank Transfer, Contact, Credit Note, Manual Journal, Quote, Item, Purchase Order, Contact Group, Employee, Report, Tax Rate, File, Folder, Asset Type, Asset, Tracking Category, Timesheet, Tenant, Setting. |
Page | Define the page number of retrieve records. |
Limit | Define the maximum of records per page. |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Preview Data | In this tab, you can preview the retrieved data. In specific Trigger instances, data can only be previewed when it is available for retrieval. If no event occurs from the Trigger, a message “No data available”, or “Cannot read properties of null ” will be displayed. |
(*) required field
Before saving your Trigger, don’t forget to use “Get Sample”.
Retrieve records using Wiresk’s Query Builder Copy Link
A Query Builder allows you to create complex SQL queries without having to write any code.
This allows non-technical users to easily access and analyze data with a graphical user interface.
See how to use Wiresk’s Query Builder.
✓ When This Trigger is running, the result of the Query can be use to Map your Methods.
Configuration Table:
Name* | Retrieve Records using Wiresk’s Query Builder |
Connection* | Select your connection or create one Refer to how to create a connection. |
Time out | You can additionally set the Trigger duration to limit the information processed per execution to optimize performance and resource usage. |
Recurrence rule/scheduler* | Set up your recurrence rule |
Parameters | |
Entity* (Set of data that contain records) | Select the Entity where the data records are located. For example, “Invoice“, “Contact“, or “Payment“. |
Configure Filter | This tab enables you to define specific criteria to narrow down the records being retrieved. |
Configure Columns | Configure which columns or fields of data will be retrieved and included in the output. Preview Data: To visualize the records. You must select at least 1 Columns to get the Preview Dat. If you get this message:” Cannot convert undefined or null to object”, it means there is no records. Number of records:10 By default, 10 records will be shown. Begin at record:0 The display starts at record 0. Edit Columns Customize which columns are displayed and retrieved. Minimum 1 column, maximum 50 columns. Configure Sorting This option is for sorting the data in the columns by Ascending or descending order. |
(*) required field
Before saving your Trigger, don’t forget to use “Get Sample”.
4 – Xero Methods Copy Link
What your automation will do…

Methods List and Settings Copy Link
MANAGE RECORDS Copy Link
Create Record Copy Link
This Method allows you to create:
Invoice, Payment, Batch Payment, Contact, Bank Transaction, Bank Transfer, Credit Note, Quote, Manual Journal, Item, Purchase Order, Contact Groups, Employee, Asset, Asset Type, Tracking Category, Folder
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Create |
Connection* | Select your connection or create one. |
Entity* (Set of data that contain records) | Select the available Entities to create records: Invoice, Payment, Batch Payment, Contact, Bank Transaction, Bank Transfer, Credit Note, Quote, Manual Journal, Item, Purchase Order, Contact Groups, Employee, Asset, Asset Type, Tracking Category, Folder |
(*) required field
Configuration table for each Entity:
Create Invoice Copy Link
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Invoice API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the invoice creation. Additional fields: Tenant, Invoice Number, Reference, Date String, Date, Due Date String, Due Date, Status, Line Amount Types, Line Items, Url, Currency Code, Expected Payment Date, Planned Payment Date | |
Type* | Select the Invoice Type: Account receivable: A sales invoice – commonly known as an Accounts Receivable or customer invoice. Account Payable : A bill – commonly known as an Accounts Payable or supplier invoice. |
Contact* | Name*: Full name of contact/organization. [+ Add Field] add more fields in Contact: Contact ID: Enter the Unique Identifier or Look up the value by select Input > Lookup tab > Select Search button to display a list. Email Address: Email address of contact person. Bank Account Details: Bank account number. Addresses [⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Address can be added as elements. Element 1: Represents the first address. _Address Type: If you do not specify an AddressType , Xero will treat the address as a STREET address by default. Possible values :POBOX : For PO Box addresses.STREET : For street addresses (default if no type is specified).DELIVERY : For delivery addresses._Address Line 1 [+ Add Field] add more Address Line. _City _Region _Postal Code _Country Phone [⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Phone can be added as elements. Element 1: Represents the first Phone. _Phone Type: If you do not specify a PhoneType , Xero will treat the phone number as a DEFAULT phone number. Possible values :DEFAULT : The primary phone number (default if no type is specified).MOBILE : For mobile phone numbers.FAX : For fax numbers.DDI : For direct dial-in numbers._Phone Number _Phone Area Code _Phone Country Code |
Line Items* At least one is required to create a complete Invoice. | [⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Line can be added as elements. Element 1: Represents the first Line. Description*: Description of the line item (max length = 4000). Unit Amount*: By default, unit amount will be rounded to two decimal places. Quantity*: Line item Quantity. [+ Add Field] add more fields in Line Items: Tax Type: Used as an override if the default Tax Code for the selected Account Code is not correct – see TaxTypes. Tax Amount: The tax amount is auto calculated as a percentage of the line amount based on the tax rate. You can change this value if the tax calculation is incorrect. Line Amount: The line amount reflects the discounted price if a DiscountRate has been used i.e LineAmount = Quantity * Unit Amount * ((100 – DiscountRate)/100) (can’t exceed 9,999,999,999.99 ). Account Code: Customer defined alpha numeric account code e.g 200 or SALES. specifies which revenue or expense account the credit note applies to. Tip: Find the Account Code with the Method “Get Records” or “Find Records”, Entity “Account”. Item Code: User defined item code. Discount Amount Discount Rate Percentage discount or discount amount being applied to a line item. Only supported on ACCREC invoices and quotes. ACCPAY invoices and credit notes in Xero do not support discounts. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Invoice Number (max length = 255) | If your Invoice Type is ACCREC – Enter a Unique alpha numeric code identifying invoice ( when missing will auto-generate from your Organisation Invoice Settings). If your Invoice Type is ACCPAY – Enter a non-unique alpha numeric code identifying invoice. This value will also display as Reference in the UI. |
Reference | ACCREC only – additional reference number (max length = 255) |
Date String | Use these fields if you are working with date strings that are not in the standard YYYY-MM-DD format.The DateString and DueDateString fields accept dates in a human-readable string format (e.g., "1 January 2023" or "01/01/2023" ).Xero will attempt to parse the string into a valid date. If both Date and DateString (or DueDate and DueDateString ) are provided, Xero will prioritize the Date and DueDate fields. |
Date | Date invoice was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation. |
Due Date String | Use these fields if you are working with date strings that are not in the standard YYYY-MM-DD format.The Date String and Due Date String fields accept dates in a human-readable string format (e.g., "1 January 2023" or "01/01/2023" ).Xero will attempt to parse the string into a valid date. If both Date and Date String (or Due Date and Due Date String ) are provided, Xero will prioritize the Date and DueDate fields. |
Due Date | Date invoice is due – YYYY-MM-DD |
Status | Possible values : Draft – Submitted – Authorized For more details, refer to Invoice Status. |
Line Amount Types | Line amounts are exclusive of tax by default if you don’t specify this element. Possible values: Exclusive: Line items are exclusive of tax Inclusive: Line items are inclusive tax NoTax: Line have no tax |
Url | URL link to a source document – shown as “Go to [appName] ” in the Xero app. |
Currency code | The currency that invoice has been raised in (see List of Currencies). |
Expected Payment Date | Shown on sales invoices (Accounts Receivable) when this has been set. |
Planned Payment Date | Shown on bills (Accounts Payable) when this has been set. |
(*) required field
Example of a sales (ACCREC)
Invoice with every single element being specified:
{
"Invoices": [
{
"Type": "ACCREC",
"Contact": {
"ContactID": "eaa28f49-6028-4b6e-bb12-d8f6278073fc"
},
"DateString": "20025-09-08T00:00:00",
"DueDateString": "20025-10-20T00:00:00",
"ExpectedPaymentDate": "2009-10-20T00:00:00",
"InvoiceNumber": "OIT:01065",
"Reference": "Ref:SMITHK",
"BrandingThemeID": "3b148ee0-adfa-442c-a98b-9059a73e8ef5",
"Url": "http://www.accounting20.com",
"CurrencyCode": "NZD",
"Status": "SUBMITTED",
"LineAmountTypes": "Inclusive",
"SubTotal": "87.11",
"TotalTax": "10.89",
"Total": "98.00",
"LineItems": [
{
"ItemCode": "Test 01",
"Description": "3 copies of OS X 10.6 Snow Leopard",
"Quantity": "3.0000",
"UnitAmount": "59.00",
"TaxType": "OUTPUT",
"TaxAmount": "19.67",
"LineAmount": "177.00",
"AccountCode": "200",
"Tracking": [
{
"TrackingCategoryID": "e2f2f732-e92a-4f3a-9c4d-ee4da0182a13",
"Name": "Region",
"Option": "North"
}
]
},
{
"ItemCode": "Test 02",
"Description": "Returned Apple Keyboard with Numeric Keypad (faulty)",
"Quantity": "1.0000",
"UnitAmount": "-79.00",
"TaxType": "OUTPUT",
"TaxAmount": "-8.78",
"LineAmount": "-79.00",
"AccountCode": "200"
}
]
}
]
}
Create Payment Copy Link
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Payment API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Payment creation. Additional fields: Tenant, Payment ID, Reference. | |
Invoice* | Invoice ID*: Unique Identifier of the invoice you are applying payment to. You can Look up the value by select Input > Lookup tab > Select Search button to display a list. |
Account* | Account ID*: Specify the unique identifier of the account from which the payment will be made, or Look up the value by select Input > Lookup tab > Select Search button to display a list. Ensure that this account is either a BANK account or has the ‘enable payments’ setting activated. ⚠️ Provide either Account ID or Code. [+ Add Field] add more fields Code*: Code of account you are using to make the payment e.g. 001 ( note: not all accounts have a code value). |
Date* | Date the payment is being made (YYYY-MM-DD). |
Amount* | The amount of the payment. Must be less than or equal to the outstanding amount owing on the invoice. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Reference | An optional description for the payment e.g. Direct Debit |
(*) required field
Example of request from Create Payment
Using Account Code:
{
"Invoice": {
"InvoiceID": "00000000-0000-0000-0000-000000000000"
},
"Account": {
"Code": "001"
},
"Date": "2025-10-01",
"Amount": 100.00,
"Reference": "Payment for invoice 123"
}
Create Batch Payment Copy Link
▪️ You can only make batch payments in the organisation base currency
▪️ You can’t create a batch payment with a mixture of sales invoices and bills
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Batch Payment API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Batch Payment creation. Additional fields: Tenant, Particulars, Code, Reference, Details, Narrative, Date. | |
Account ID* | Specify the unique identifier of the account from which the payment will be made. You can Look up the value by select Input > Lookup tab > Select Search button to display a list. Ensure that this account is either a BANK account or has the ‘enable payments’ setting activated. |
Payment* | [⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Line can be added as elements. Element 1: Represents the first Payment. Invoice ID*: Unique Identifier of the invoice you are applying payment to. You can Look up the value by select Input > Lookup tab > Select Search button to display a list. Amount*: The amount of the payment. Must be less than or equal to the outstanding amount owing on the invoice. [+ Add Field] add more fields in Payment. Bank Account Number: The suppliers bank account number the payment is being made to. Particulars: (NZ Only) The information to appear on the supplier’s bank account and bank statement. Code: (NZ Only) Optional references for the batch payment transaction. Reference: (NZ Only) Optional references for the batch payment transaction. Details: The information to appear on the supplier’s bank account. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Particulars | (NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero. Max length =12. |
Code | (NZ Only) Optional references for the batch payment transaction. |
Reference | (NZ Only) Optional references for the batch payment transaction. |
Details | (Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18 |
Narrative | (UK Only) Only shows on the statement line in Xero. Max length =18 |
Date | Date the payment is being made (YYYY-MM-DD) e.g. 2018-09-06 |
(*) required field
Example of request from Create Batch Payment
Create an ACCPAY batch payment (NZ)
{
"Date": "2018-08-01",
"Particulars": "paying",
"Code": "333",
"Reference": "ddd",
"Account": {
"AccountID": "ac993f75-035b-433c-82e0-7b7a2d40802c"
},
"Payments": [
{
"BankAccountNumber": "123-456-7890",
"Particulars": "def",
"Code": "543",
"Reference": "ggg",
"Invoice": {
"InvoiceID": "d8ec835f-fef6-4d5c-ae41-28df59c57f11"
},
"Amount": "10"
},
{
"BankAccountNumber": "123-456-7890",
"Particulars": "abc",
"Code": "123",
"Reference": "fff",
"Invoice": {
"InvoiceID": "71d1c9ca-3e99-4ef5-8f44-19d24c500ac8"
},
"Amount": "10"
}
]
}
Create Contact Copy Link
▪️ The business rules around contacts in Xero may be changing in the future and ‘Contact Name’ may no longer be a unique field.
▪️ We recommend all developers use ContactID to uniquely reference contacts in Xero and do not rely on ContactName as a way to reference contact data uniquely in Xero.
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Contact API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Batch Payment creation. Additional fields: Tenant, FirstName, LastName, Contact Number, Email Address, Company Number, Addresses, Phones, Contact Persons, Bank Account Details, Tax Number, Accounts Receivable Tax Type, Accounts Payable Tax Type, IsSupplier, IsCustomer, Default Currency. | |
Name* | Full name of contact/organisation (max length = 255) |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
FirstName | First name of contact person (max length = 255) |
LastName | Last name of contact person (max length = 255) |
Contact Number | This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero. |
Email Address | Email address of contact person (umlauts (ä, ö, ü) not supported) (max length = 255) |
Company Number | Company registration number. Max 50 char. |
Addresses | [⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Address can be added as elements. Element 1: Represents the first address. _Address Type: If you do not specify an AddressType , Xero will treat the address as a STREET address by default. Possible values :POBOX : For PO Box addresses.STREET : For street addresses (default if no type is specified).DELIVERY : For delivery addresses._Address Line 1 [+ Add Field] add more Address Line. _City _Region _Postal Code _Country |
Phones | [⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Phone can be added as elements. Element 1: Represents the first Phone. _Phone Type: If you do not specify a PhoneType , Xero will treat the phone number as a DEFAULT phone number. Possible values :DEFAULT : The primary phone number (default if no type is specified).MOBILE : For mobile phone numbers.FAX : For fax numbers.DDI : For direct dial-in numbers._Phone Number _Phone Area Code _Phone Country Code |
Contact Persons A contact can have a maximum of 5 Contact Persons. | [⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Phone can be added as elements. Element 1: Represents the first Contact person. First Name Last Name Email Address Include in Emails: True – False To indicate whether contact should be included on emails with invoices etc. |
Bank Account Details | Bank account number of contact. |
Tax Number | Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50). |
Accounts Receivable Tax Type | Default tax type used for contact on AR invoices. This field is optional. If not provided, Xero will use the default tax type set in the organization’s settings. The available tax types depend on your organization’s tax settings. You can view and manage tax types in the Xero UI under Settings > Tax Rates. |
Accounts Payable Tax Type | Default tax type used for contact on AP invoices. This field is optional. If not provided, Xero will use the default tax type set in the organization’s settings. The available tax types depend on your organization’s tax settings. You can view and manage tax types in the Xero UI under Settings > Tax Rates. |
Default Currency | Represents the three-letter currency code (e.g., USD , EUR , GBP . See List of Currencies) that will be used as the default currency for the contact.If not provided, Xero will use the organization’s default currency (as set in the Xero organization settings). |
(*) required field
Example of request from Create Contact
Creating a contact record with additional contact people
{
"Contacts": [
{
"Name": "24 locks",
"FirstName": "Ben",
"LastName": "Bowden",
"EmailAddress": "ben.bowden@24locks.com",
"ContactPersons": [
{
"FirstName": "John",
"LastName": "Smith",
"EmailAddress": "john.smith@24locks.com",
"IncludeInEmails": "true"
}
]
}
]
}
Create a Bank Transaction Copy Link
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Bank Transaction API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Bank Transaction creation. Additional fields: Tenant, Date, Reference, Currency Code, Currency rate, Url, LineAmountTypes. | |
Type* | Bank Transaction Type, Possible values: RECEIVE RECEIVE-OVERPAYMENT RECEIVE-PREPAYMENT SPEND SPEND-OVERPAYMENT SPEND-PREPAYMENT |
Contact* | Contact ID*: Enter the Unique Identifier or Look up the value by select Input > Lookup tab > Select Search button to display a list. [+ Add Field] add more fields in Contact: Name: Full name of contact/organization. |
Bank Account | Only accounts of Type BANK will be accepted. Account ID: Enter the Unique Identifier or Look up the value by select Input > Lookup tab > Select Search button to display a list. ⚠️ Provide either Account ID or Code. [+ Add Field] add more fields Code: BankAccount code (this value may not always be present for a bank account). |
Line Items* At least one is required to create a bank transaction. | [⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Line can be added as elements. Element 1: Represents the first Line. Unit Amount*: By default, unit amount will be rounded to two decimal places. Must not equal 0. Amount may be negative, but the total value for the document must be positive. Quantity*: Line item Quantity, must be > 0 Account Code*: Account Code must be active for the organisation. specifies which revenue or expense account the credit note applies to. Tip: Find the Account Code with the Method “Get Records” or “Find Records”, Entity “Account”. [+ Add Field] add more fields in Line Items: Description: Description of the line item (max length = 4000 chars). |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Date | Date of transaction – YYYY-MM-DD |
Reference | Reference for the transaction. Only supported for SPEND and RECEIVE transactions. |
Currency Code | The currency that Bank Transaction has been raised in (see List of Currencies). Setting currency is only supported on overpayments. |
Currency Rate | Exchange rate to base currency when money is spent or received. Only used for bank transactions in non base currency. If this isn’t specified for non base currency accounts then either the user-defined rate (preference) or the XE.com day rate will be used. Setting currency is only supported on overpayments. |
URL | URL link to a source document – shown as “Go to App Name” |
LineA mount Types | Line amounts are inclusive of tax by default if you don’t specify this element. Possible values : Exclusive: Line items are exclusive of tax Inclusive: Line items are inclusive tax NoTax: Line have no tax |
(*) required field
Example of request from Create Bank Transaction
Minimum elements required to add a new spend money transaction.
{
"Type": "SPEND",
"Contact": {
"ContactID": "eaa28f49-6028-4b6e-bb12-d8f6278073fc"
},
"LineItems": [{
"Description": "Yearly Bank Account Fee",
"UnitAmount": "20.00",
"AccountCode": "404"
}],
"BankAccount": {
"Code": "BANK-ABC"
}
}
Create a Bank Transfer Copy Link
▪️ The two sides of each bank transfer will automatically be recorded as RECEIVE-TRANSFER and SPEND-TRANSFER types.
▪️ You cannot transfer between accounts in different currencies
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Bank Transfer API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Bank Transfer creation. Additional fields: Tenant, Date, Reference. | |
From Bank Account* | Account ID: Enter the Unique Identifier or Look up the value by select Input > Lookup tab > Select Search button to display a list. ⚠️ Provide either Account ID or Code. [+ Add Field] add more fields Code: BankAccount code (this value may not always be present for a bank account). |
To Bank Account* | Account ID: Enter the Unique Identifier or Look up the value by select Input > Lookup tab > Select Search button to display a list. ⚠️ Provide either Account ID or Code. [+ Add Field] add more fields Code: BankAccount code (this value may not always be present for a bank account). |
Amount* | The amount being transferred. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Date | The date of the Transfer YYYY-MM-DD. Defaults to current date. |
Reference | Reference for the transaction. |
(*) required field
Example of request from Create Bank Transfer
{
"BankTransfers": [{
"FromBankAccount": { "Code": "090" },
"ToBankAccount": { "Code": "091" },
"Amount": 20.00
}]
}
Create Credit Notes Copy Link
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Credit Notes API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Credit Notes creation. Additional fields: Tenant, Date, Line Amount Types, Currency Code, Credit Note Number, SentToContact, Currency rate, Branding Theme ID. | |
Type* | ACCPAYCREDIT An Accounts Payable(supplier) Credit Note ACCRECCREDIT An Account Receivable(customer) Credit Note |
Contact* | Contact ID*: Enter the Unique Identifier or Look up the value by select Input > Lookup tab > Select Search button to display a list. [+ Add Field] add more fields in Contact: Name: Full name of contact/organization. |
Line Items* | [⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Line can be added as elements. Element 1: Represents the first Line. Description*: Description of the line item (max length = 4000). Unit Amount*: By default, unit amount will be rounded to two decimal places. Quantity*: Line item Quantity. [+ Add Field] add more fields in Line Items: Account Code: specifies which revenue or expense account the credit note applies to. Tip: Find the Account Code with the Method “Get Records” or “Find Records”, Entity “Account”. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Date | The date the credit note is issued YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation |
Status | If you do not specify a status when creating a credit note, Xero will default to DRAFT. Possible values: DRAFT – AUTHORISED |
Line Amount Types | Line amounts are exclusive of tax by default if you don’t specify this element. Possible values: Exclusive: Line items are exclusive of tax Inclusive: Line items are inclusive tax NoTax: Line have no tax |
Currency Code | Currency used for the Credit Note (see List of Currencies). |
Credit Note Number | If ACCRECCREDIT – Enter a unique alpha numeric code identifying credit note. If ACCPAYCREDIT – Enter a Non-unique alpha numeric code identifying credit note. This value will also display as Reference in the UI. |
Reference | ACCRECCREDIT only – additional reference number |
Currency Rate | The currency rate for a multi-currency invoice. If no rate is specified, the XE.com day rate is used. |
Branding Theme ID | Unique Identifier of the Branding Theme that apply to this Credit Note. |
(*) required field
Example of Create Credit Notes request
{
"Type": "ACCPAYCREDIT",
"Contact": {
"ContactID": "eaa28f49-6028-4b6e-bb12-d8f6278073fc"
},
"Date": "2025-03-29",
"LineAmountTypes": "Exclusive",
"LineItems": [
{
"Description": "MacBook - White",
"Quantity": 1.0000,
"UnitAmount": 1995.00,
"AccountCode": "720"
}
]
}
Create Quote Copy Link
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Quotes API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Quotes creation. Additional fields: Tenant, Status, Line Amount Types, Currency Code, Quote Number, Reference, Expiry Date, Branding Theme ID, Title, Summary, Terms. | |
Quotes* | Contact*: _Contact ID*: Enter the Unique Identifier or Look up the value by select Input > Lookup tab > Select Search button to display a list. [+ Add Field] add more fields in Quote: _Name: Full name of contact/organization. _Date*: Date quote was issued – YYYY-MM-DD Line Items*: [⊕ Element] [⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Line can be added as elements. Element 1: Represents the first Line. _Description*: Description of the line item (max length = 4000). _Unit Amount*: By default, unit amount will be rounded to two decimal places. _Quantity*: Line item Quantity. _Account Code: specifies which revenue or expense account the credit note applies to. Tip: Find the Account Code with the Method “Get Records” or “Find Records”, Entity “Account”. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Status | If you do not specify a status when creating a Quote, Xero will default to DRAFT. Possible values: DRAFT – SENT |
Line Amount Types | Line amounts are exclusive of tax by default if you don’t specify this element. Possible values: Exclusive: Line items are exclusive of tax Inclusive: Line items are inclusive tax NoTax: Line have no tax |
Currency Code | Currency used for the Credit Note (see List of Currencies). |
Quote Number | Enter Unique alpha numeric code identifying a quote (Max Length = 255). |
Reference | Additional reference number. |
Expiry Date | Date quote expires – YYYY-MM-DD. |
Branding Theme ID | Unique Identifier of the Branding Theme that apply to this Quote. |
Title | The title of the quote (Max Length = 100). |
Summary | The summary of the quote (Max Length = 3000). |
Terms | The terms of the quote (Max Length = 4000). |
(*) required field
Example of Create Quote request
Create a single quote with all possible elements
{
"QuoteNumber": "QU-1068",
"Reference": "REF-90092",
"Terms": "Quote is valid for 30 business days",
"Contact": {
"ContactID": "6d42f03b-181f-43e3-93fb-2025c012de92",
"ContactName": "John Hammond"
},
"LineItems": [
{
"Description": "Jurassic Park Colouring Book",
"UnitAmount": 12.50,
"LineAmount": 12.50,
"ItemCode": "BOOK",
"Quantity": 1.0000
}
],
"Date": "2019-11-29",
"ExpiryDate": "2019-12-29",
"Status": "SENT",
"CurrencyCode": "NZD",
"SubTotal": 12.50,
"TotalTax": 0.00,
"Total": 12.50,
"Title": "Quote for product sale",
"Summary": "Sale of book",
"LineAmountTypes": "EXCLUSIVE"
}
Create Manual Journal Copy Link
⚠️ There are a few accounts that you can’t use when entering manual journals in Xero. These include system accounts (accounts receivable, accounts payable & retained earnings) and bank accounts. You will receive a 400 validation error if you try and use these reserved accounts. Consider setting up one or more clearing accounts if you need to journal to a bank account.
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Manual Journals API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Manual Journal creation. Additional fields: Tenant, Date, Status, Line Amount Types, Url, Show on Cash Basic Reports. | |
Narration* | Description of journal being posted. |
Journal Lines* The JournalLines element must contain at least two individual JournalLine sub-elements. | Line Amount*: Total for line. Debits are positive, credits are negative value Account Code*: specifies which revenue or expense account the credit note applies to. Tip: Find the Account Code with the Method “Get Records” or “Find Records”, Entity “Account”. [+ Add Field] add more fields in Journal Lines: Description: Description of the line item (max length = 4000). Tax Type: Used as an override if the default Tax Code for the selected Account Code is not correct – see TaxTypes. Tracking: Optional Tracking Category – see Tracking. Any JournalLine can have a maximum of 2 TrackingCategory elements. Ensure the tracking categories and options you use are ACTIVE .[⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Tracking Category can be added as elements. Element 1: Represents the first Tracking Category. _Name: The name of the tracking category e.g. Department, Region (max length = 100). _Option: The specific option within the tracking category (e.g., “Sales”, “Marketing”). |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Date | Date journal was posted – YYYY-MM-DD. Defaults to the current date if not provided. |
Line Amount Types | Line amounts are exclusive of tax by default if you don’t specify this element. Possible values: Exclusive: Line items are exclusive of tax Inclusive: Line items are inclusive tax NoTax: Line have no tax |
Url | Url link to a source document – shown as “Go to [appName] ” in the Xero app |
Show on Cash Basic Reports | True – False Default is true if not specified. |
(*) required field
Example of Create Manual Journal request
Create a new draft manual journal with optional elements
{
"Date": "2014-08-13",
"Status": "DRAFT",
"Narration": "Prepaid our phone a year in advance",
"LineAmountTypes": "NoTax",
"JournalLines": [
{
"Description": "Prepaid Annual Phone",
"LineAmount": -1000,
"AccountCode": "489",
"TaxType": "NONE",
"Tracking": [
{
"Name": "Region",
"Option": "South"
}
]
},
{
"Description": "Prepayment",
"LineAmount": 1000,
"AccountCode": "620",
"TaxType": "NONE",
"Tracking": [
{
"Name": "Region",
"Option": "South"
}
]
}
],
"ShowOnCashBasisReports": "false"
}
Create Item Copy Link
⚠️ Tracked items in Xero have their inventory quantity and value monitored, and sales are restricted based on stock levels. Untracked items are simply listed on transactions without inventory tracking. Consult Xero’s help center for more information.
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Items API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Item creation. Additional fields: Tenant, Description, Inventory Asset Account Code, IsSold, IsPurchased, Purchase Description, Purchase Details, Sales Details. | |
Code* | Enter a user defined item code. |
Name* | The name of the item. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Description | Description of the item. |
Inventory Asset Account Code | The inventory asset account for the item. The account must be of type INVENTORY . The COGSAccountCode in PurchaseDetails is also required to create a tracked item. |
IsSold | True – False If True the item will be available on sales transactions in the Xero UI. |
IsPurchased | True- False If True the item is available for purchase transactions in the Xero UI. |
Purchase Description | The purchase description of the item (max length = 4000) |
Purchase Details | [+ Add Field] add more fields: Unit Price: By default UnitPrice is rounded to two decimal places. Account Code: Default account code to be used for purchased/sale. Not applicable to the purchase details of tracked items. Cost of good sold Account Code(COGSAccountCode): Cost of goods sold account. Only applicable to the purchase details of tracked items. Tax Type: Used as an override if the default Tax Code for the selected Account Code is not correct – see TaxTypes. |
Sales Details | [+ Add Field] add more fields: Unit Price: By default UnitPrice is rounded to two decimal places. Account Code: Default account code to be used for purchased/sale. Not applicable to the purchase details of tracked items. Tax Type: Used as an override if the default Tax Code for the selected Account Code is not correct – see TaxTypes. |
(*) required field
Example of Create Item request
Create an untracked item with sales and purchase details:
{
"Code": "Merino-2011-LG",
"Name": "Full Tracked Item",
"Description": "2011 Merino Sweater - LARGE",
"PurchaseDescription": "2011 Merino Sweater - LARGE",
"PurchaseDetails": {
"UnitPrice": 149.0000,
"AccountCode": "300"
},
"SalesDetails": {
"UnitPrice": 299.0000,
"AccountCode": "200"
}
}
Minimum elements to create a tracked item:
{
"Code": "TrackedItem",
"PurchaseDetails": {
"COGSAccountCode": "300"
},
"InventoryAssetAccountCode": "630"
}
Create Purchase Order Copy Link
⚠️ When creating a purchase order via this Method, you can set the Status field to DRAFT, SUBMITTED, or AUTHORISED. However, once a purchase order is set to SUBMITTED or AUTHORISED, it cannot be reverted to DRAFT through the API. Additionally, the statuses BILLED and DELETED are system-generated and cannot be assigned manually during creation or updates.
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Purchase Order API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Purchase Order creation. Additional fields: Tenant, Date, Status, Line Amount Types, Currency Code, Purchase Order Number, Reference, Branding Theme ID, Send To Contact, Delivery Address, Attention To, Telephone, Delivery Instructions, Expected Arrival Date. | |
Contact* provide information of an existing contact. | Contact ID*: Enter the Unique Identifier or Look up the value by select Input > Lookup tab > Select Search button to display a list. [+ Add Field] add more fields in Contact: Name: Full name of contact/organization. |
Line Items* At least one Line Item is required to create a complete Purchase Order. | [⊕ Element][⊕ Map] Add fields or Map it from a Data Source. See Field Mapping. Additional Line can be added as elements. Element 1: Represents the first Line. Unit Amount*: By default, unit amount will be rounded to two decimal places. Quantity*: Line item Quantity. [+ Add Field] add more fields in Line Items: Description: Description of the line item (max length = 4000). Account Code: specifies which revenue or expense account the credit note applies to. Tip: Find the Account Code with the Method “Get Records” or “Find Records”, Entity “Account”. Discount Rate: Percentage discount being applied to a line item Tax Type: Used as an override if the default Tax Code for the selected Account Code is not correct – see TaxTypes. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Date | Date purchase order was issued – YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation |
Delivery Date | Date the goods are to be delivered – YYYY-MM-DD (From supplier location). |
Status | Possible values: DRAFT SUBMITTED AUTHORISED |
Line Amount Types | Line amounts are exclusive of tax by default if you don’t specify this element. Possible values: Exclusive: Line items are exclusive of tax Inclusive: Line items are inclusive tax NoTax: Line have no tax |
Currency Code | The currency that purchase order has been raised in (see List of Currencies). |
Purchase Order Number | Enter the Unique alpha numeric code identifying purchase order ( when missing will auto-generate from your Organisation Invoice Settings). |
Reference | Additional reference number. |
Branding Theme ID | Unique Identifier of the Branding Theme that apply to this Purchase Order. |
Send To Contact | True – False To set whether the purchase order should be marked as “sent”. This can be set only on purchase orders that have been approved or billed. |
Delivery Address | The address the goods are to be delivered to. |
Attention To | The person that the delivery is going to. |
Telephone | The phone number for the person accepting the delivery. |
Delivery Instructions | A free text field for instructions (500 characters max). |
Expected Arrival Date | The date the goods are expected to arrive. |
(*) required field
Example of Create Purchase Order
Create a purchase order with all elements specified:
{
"PurchaseOrderNumber": "PO-0292",
"Date": "2015-11-12",
"DeliveryDate": "2015-12-12",
"Reference": "REF123",
"Contact": { "ContactID": "d7b78c9c-b34a-4dad-b999-c3c2504c7877" },
"BrandingThemeID": "4c82c365-35cb-467f-bb11-dce1f2f2f67c",
"Status": "AUTHORISED",
"LineAmountTypes": "Exclusive",
"LineItems": [
{
"ItemCode": "GB1-White",
"Description": "Golf balls - white single. Wholesale catalog item #020812-1",
"UnitAmount": 4.2595,
"TaxType": "INPUT2",
"AccountCode": "300",
"Tracking": [
{
"Name": "Region",
"Option": "Eastside"
},{
"Name": "Salesperson",
"Option": "Adam"
}
],
"Quantity": 1.0000,
"DiscountRate": 10.00
}
],
"CurrencyRate": 0.615310,
"CurrencyCode": "EUR",
"DeliveryAddress": "23 Main Street, Central City, Marineville,1234",
"AttentionTo": "Bob",
"Telephone": "0800 1234 5678",
"DeliveryInstructions": "Don't forget the secret knock",
"ExpectedArrivalDate": "2015-12-12"
}
Create Contact Groups Copy Link
⚠️ You can’t create more than 100 contact groups. Trying to create a group when the limit of 100 has been reached will result in a validation error being returned.
See Xero Contact Groups API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Contact Group creation. Additional fields: Tenant. | |
Contact Group Name* | The Name of the contact group. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
(*) required field
Example of Create Contact Group
{
"Name": "VIP Customers"
}
Create Employee Copy Link
⚠️ You can Create multiple employees by adding [⊕ Element] or [⊕ Map].
Employees Status:
▪️ Employees are automatically considered active upon creation.
▪️ If you want to “terminate” an employee, you need to update their TerminationDate.
See Xero Employees API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Employee creation. Additional fields: Tenant. | |
Employees* | First Name: First name of an employee (max length = 255) Last Name: Last name of an employee (max length = 255) External Link: Link to an external resource, for example, an employee record in an external system. You can specify the URL element. The description of the link is auto-generated in the form Go to <App name> . <App name> refers to the Xero application name that is making the API call. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
(*) required field
Example of Create employee
{
"Employees": [
{
"FirstName": "Joey",
"LastName": "Bloggs",
"ExternalLink": {
"Url": "http://twitter.com/#!/search/Joey+Bloggs"
}
}
]
}
Create Asset Copy Link
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Asset API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Asset creation. Additional fields: Tenant, Asset Type ID, Purchase Date, Purchase Price, Book Depreciation Setting, Book Depreciation Detail, Accounting Book value. | |
Asset Name* | The name of the asset. |
Asset Number* | Must be unique. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Asset Type ID | Provide the specific ID that links this asset to its asset type. |
Purchase Date | The date the asset was purchased YYYY-MM-DD. |
Purchase Price | The purchase price of the asset. |
Book Depreciation Setting | [+ Add Field] add more fields: Effective From Date: The date that this depreciation setting is effective from. Displayed as ‘Depreciation start date’ (YYYY-MM-DD) Depreciation Method: The method of depreciation applied to this asset. Possible values: – No Depreciation – Straight Line – DiminishingValue100 = Diminishing Value at 100% – DiminishingValue150 = Diminishing Value at 150% – DiminishingValue200 = Diminishing Value at 200% – FullDepreciation = Full Depreciation at purchase Averaging Method: The method of averaging applied to this asset. Possible values: – Actual Days – Full Month Depreciation Rate: The rate of depreciation (e.g. 0.05) Depreciation Calculation Method: Possible values: – Rate = Depreciation Rate (e.g. 20%) – Life = Effective life (e.g. 5 years) – None |
(*) required field
Example of Create Asset
Create an Asset with all elements specified:
{
"assetName": "Keyboard",
"assetNumber": "FA-00211",
"purchaseDate": "2016-04-11T00:00:00",
"purchasePrice": 3000,
"assetTypeId": "5da209c5-5e19-4a43-b925-71b776c49ced"
"bookDepreciationSettings": {
"effectiveFromDate": "2015-07-01T00:00:00",
"depreciationMethod": "StraightLine",
"averagingMethod": "ActualDays",
"depreciationRate": 33,
"depreciationCalculationMethod": "None"
}
}
Create Asset Type Copy Link
Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“.
See Xero Asset API Reference.
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Asset Type creation. Additional fields: Tenant. | |
Asset Type Name* | The name of the Asset Type. |
Fixed Asset Account ID* | The asset account for fixed assets of this type. Tip: you can Look up the value by select Input > Lookup tab > Select Search button to display a list. |
Depreciation Expense Account ID* | The expense account for the depreciation of fixed assets of this type. Tip: you can Look up the value by select Input > Lookup tab > Select Search button to display a list. |
Accumulated Depreciation Account ID* | The account for accumulated depreciation of fixed assets of this type. Tip: you can Look up the value by select Input > Lookup tab > Select Search button to display a list. |
Book Depreciation Setting* | Depreciation Method*: The method of depreciation applied to this asset. Possible values: – No Depreciation – Straight Line – DiminishingValue100 = Diminishing Value at 100% – DiminishingValue150 = Diminishing Value at 150% – DiminishingValue200 = Diminishing Value at 200% – FullDepreciation = Full Depreciation at purchase Averaging Method*: The method of averaging applied to this asset. Possible values: – Actual Days – Full Month Depreciation Rate*: The rate of depreciation (e.g. 0.05) Depreciation Calculation Method*: Possible values: – Rate = Depreciation Rate (e.g. 20%) – Life = Effective life (e.g. 5 years) – None |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
(*) required field
Example of Create Asset Type
{
"assetTypeName": "Computer Equipment",
"fixedAssetAccountId": "afe53f21-1221-451c-a8c4-08457e129d84",
"depreciationExpenseAccountId": "9a30bb28-6d9d-428b-8a98-b0b591518d5b",
"accumulatedDepreciationAccountId": "b7e1f170-d238-41d7-ab2b-d0a89b16838f",
"bookDepreciationSetting": {
"depreciationMethod": "DiminishingValue100",
"averagingMethod": "ActualDays",
"depreciationRate": 40,
"depreciationCalculationMethod": "None"
}
}
Create Tracking Category Copy Link
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Tracking Category creation. Additional fields: Tenant. | |
Name* | The name of the Tracking Category. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
(*) required field
Example of Create Tracking Category
{
"Name": "New Category"
}
Create Folder Copy Link
MAP FIELDS [+ Add Field] Select fields from a list, to configure the Folder creation. Additional fields: Tenant. | |
Name* | The name of the Folder. |
ADDITIONAL FIELDS | |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
(*) required field
Example of Create Folder
{
"Name": "New folder",
"FileCount": 0,
"IsInbox": false,
"Id": "1dd3419f-af99-44cf-b779-fb26730c38e1"
}
Delete Record Copy Link
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Delete Record |
Connection* | Select your connection or create one. |
Entity* (Set of data that contain records) | Select the available Entities to delete record from: Contact Groups, Tracking Categories and Folders. |
ID* | Identifier of the the records. Tip: Get ID and Code value (for example Contact ID) from Method “Get Records“, “Find Record” or from Trigger “Get all Records of an Entity“. |
Tenant | Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
(*) required field
Example of Delete Tracking Category
{
"Name": "new tracking category",
"Status": "DELETED",
"TrackingCategoryID": "f9593a2c-9eb2-470c-b6c5-b23d9cf3bbb6",
"Options": []
}
Find Record Copy Link
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Find Record |
Connection* | Select your connection or create one. |
Entity* (Set of data that contain records) | Select the available Entities to find records: Invoice, Payment, Batch Payment, Account, Contact, Bank Transaction, Credit Note, Quote, Manual Journal, Item, Purchase Order, Contact Groups, Asset, Asset Type, Tracking Category, Folder. |
MATCHING CRITERIA [+ Add Field] Add a specific field in the search. | |
Tenant | Available in All entities. Optionally select a specific Organization (for Xero Account with multiple Organisations). Select Input > Lookup tab > Select Search button to display a list. |
Entity Invoice | Available fields to filter the search: Type, Invoice ID, Invoice Number, Reference, Date, Due Date, Status, Currency Code. ▪️ When you retrieve multiple invoices, only a summary of the contact is returned and no line details are returned – this is to keep the response more compact. ▪️ The line item details will be returned when you retrieve an individual invoice, either by specifying Invoice ID, Invoice Number, querying by Statuses or by using the optional paging parameter (below). ▪️ When you retrieve invoices by Statuses, pagination is enforced by default. |
Entity Payment | Available fields to filter the search: Payment Type, Status. |
Entity Batch Payment | Available fields to filter the search: Type, Account ID, Status. |
Entity Account | Available fields to filter the search: Account ID, Name, Type. |
Entity Contact | Available fields to filter the search: Contact ID, Name, FirstName, LastName, Contact Number, Contact Status, Email Address. |
Entity Bank Transaction | |
Entity Credit Note | |
Entity Quote | |
Entity Manual Journal | |
Entity Item | |
Entity Purchase Order | |
Entity Contact Groups | |
Entity Asset | |
Entity Asset Type | |
Entity Tracking Category | |
Entity Folder |
(*) required field
Example of response from Find Invoice by providing Invoice ID
{
"Type": "ACCREC",
"InvoiceID": "fee88eea-f2aa-4a71-a372-33d6d83d3c45",
"InvoiceNumber": "INV-0027",
"Reference": "Ref MK815",
"Prepayments": [],
"Overpayments": [],
"AmountDue": 396,
"AmountPaid": 0,
"SentToContact": false,
"CurrencyRate": 1,
"IsDiscounted": false,
"HasAttachments": false,
"HasErrors": false,
"Attachments": [],
"InvoicePaymentServices": [],
"Contact": {
"ContactID": "5b96e86b-418e-48e8-8949-308c14aec278",
"ContactStatus": "ACTIVE",
"Name": "Marine Systems",
"EmailAddress": "",
"BankAccountDetails": "",
"Addresses": [
{
"AddressType": "POBOX",
"City": "",
"Region": "",
"PostalCode": "",
"Country": ""
},
{
"AddressType": "STREET",
"City": "",
"Region": "",
"PostalCode": "",
"Country": ""
}
],
"Phones": [
{
"PhoneType": "FAX",
"PhoneNumber": "",
"PhoneAreaCode": "",
"PhoneCountryCode": ""
},
{
"PhoneType": "MOBILE",
"PhoneNumber": "",
"PhoneAreaCode": "",
"PhoneCountryCode": ""
},
{
"PhoneType": "DDI",
"PhoneNumber": "",
"PhoneAreaCode": "",
"PhoneCountryCode": ""
},
{
"PhoneType": "DEFAULT",
"PhoneNumber": "",
"PhoneAreaCode": "",
"PhoneCountryCode": ""
}
],
"UpdatedDateUTC": "2025-02-19T18:03:41+00:00",
"ContactGroups": [],
"IsSupplier": false,
"IsCustomer": true,
"DefaultCurrency": "USD",
"SalesTrackingCategories": [],
"PurchasesTrackingCategories": [],
"ContactPersons": [],
"HasValidationErrors": false
},
"DateString": "2025-02-18T00:00:00",
"Date": "2025-02-18T00:00:00+00:00",
"DueDateString": "2025-02-24T00:00:00",
"DueDate": "2025-02-24T00:00:00+00:00",
"BrandingThemeID": "d613f7f9-8fcb-477f-97f0-31eb85b7e5cf",
"Status": "AUTHORISED",
"LineAmountTypes": "Inclusive",
"LineItems": [
{
"Description": "Marketing guides",
"UnitAmount": 99,
"TaxType": "OUTPUT",
"TaxAmount": 30.18,
"LineAmount": 396,
"AccountCode": "200",
"Tracking": [],
"Quantity": 4,
"LineItemID": "8dd05881-be4a-4765-b95e-cce0d7395f9f",
"AccountID": "d1ebb97b-d207-4ccb-9ab6-8a466a8b4d39",
"ValidationErrors": []
}
],
"SubTotal": 365.82,
"TotalTax": 30.18,
"Total": 396,
"UpdatedDateUTC": "2008-12-19T01:37:59+00:00",
"CurrencyCode": "USD"
}
Get Records Copy Link
Update Record Copy Link
Upsert Record Copy Link
HISTORY NOTE Copy Link
Add Note to Record Copy Link
Get Record Notes Copy Link
ATTACHMENT Copy Link
Download Attachment Copy Link
Get Attachment Copy Link
CONTACT GROUP Copy Link
Add Contacts Copy Link
Remove All Contacts Copy Link
Remove a Contact Copy Link
INVOICE Copy Link
Email The Invoice Copy Link
Get Online Invoice Copy Link
PAYMENT Copy Link
Create Multiple Payments Copy Link
5 – Test run or automate your Flow Copy Link
After setting up your Flow, you can choose to:
- “Run once”, your Flow will run only a single time. You can use this function to test your Flow. Refer to how to set up an HTTP Trigger, in the “Create a Flow” step.
- “Run Scheduler” will automate your Flows with the recurrence rule you previously defined.
For more details, refer to How to run a Flow tutorial in our Help Center.
If you are using a Webhook Trigger, the Flow will initiate automatically when a webhook is received from your connected apps. This means that the Flow is automated without a scheduler and will run until you deactivate the Flow manually. Refer to Webhook documentation in our Help Center.
If you need an integration that you cannot find in Wiresk, you can make a request to our team, and we will try our best to satisfy your needs.