Xero
Manage Xero accounting data including contacts, invoices, and payments
Integrates Xero into your workflow. List contacts and invoices, create and update invoices, and record payments. Supports multi-organisation via tenant IDs. Ideal for automating accounting and financial data workflows.
| Parameter | Type | Required | Description |
|---|
tenantId | string | Yes | Xero tenant (organisation) ID |
where | string | No | Filter expression (e.g., IsCustomer=true AND ContactStatus="ACTIVE") |
order | string | No | Sort order (e.g., Name ASC) |
page | number | No | Page number for pagination (100 records per page) |
| Parameter | Type | Description |
|---|
contacts | array | List of Xero contacts |
↳ ContactID | string | Contact ID |
↳ Name | string | Contact name |
↳ EmailAddress | string | Contact email |
↳ IsCustomer | boolean | Whether contact is a customer |
↳ IsSupplier | boolean | Whether contact is a supplier |
metadata | json | Query metadata |
↳ count | number | Number of contacts returned |
| Parameter | Type | Required | Description |
|---|
tenantId | string | Yes | Xero tenant (organisation) ID |
statuses | string | No | Comma-separated invoice statuses (e.g., DRAFT,AUTHORISED,PAID) |
contactId | string | No | Filter by contact ID |
page | number | No | Page number for pagination (100 records per page) |
| Parameter | Type | Description |
|---|
invoices | array | List of Xero invoices |
↳ InvoiceID | string | Invoice ID |
↳ InvoiceNumber | string | Invoice number |
↳ Status | string | Invoice status |
↳ Total | number | Invoice total |
↳ AmountDue | number | Amount due |
metadata | json | Query metadata |
↳ count | number | Number of invoices returned |
| Parameter | Type | Required | Description |
|---|
tenantId | string | Yes | Xero tenant (organisation) ID |
type | string | Yes | Invoice type: ACCREC (accounts receivable) or ACCPAY (accounts payable) |
contactId | string | Yes | Contact ID for the invoice |
contactName | string | No | Contact name (optional) |
date | string | No | Invoice date (YYYY-MM-DD) |
dueDate | string | No | Due date (YYYY-MM-DD) |
lineItems | string | Yes | JSON array of line items: [{"Description":"Consulting","Quantity":1,"UnitAmount":500,"AccountCode":"200"}] |
| Parameter | Type | Description |
|---|
invoice | json | Created Xero invoice |
↳ InvoiceID | string | Invoice ID |
↳ InvoiceNumber | string | Invoice number |
↳ Status | string | Invoice status |
↳ Total | number | Total amount |
metadata | json | Invoice creation metadata |
↳ invoiceId | string | New invoice ID |
↳ invoiceNumber | string | Invoice number |
| Parameter | Type | Required | Description |
|---|
tenantId | string | Yes | Xero tenant (organisation) ID |
invoiceId | string | Yes | Invoice ID to update |
status | string | No | New invoice status (DRAFT, SUBMITTED, AUTHORISED, VOIDED) |
dueDate | string | No | Updated due date (YYYY-MM-DD) |
lineItems | string | No | Updated JSON array of line items |
| Parameter | Type | Description |
|---|
invoice | json | Updated Xero invoice |
↳ InvoiceID | string | Invoice ID |
↳ Status | string | Updated status |
↳ Total | number | Total amount |
↳ AmountDue | number | Amount due |
metadata | json | Update metadata |
↳ invoiceId | string | Invoice ID |
| Parameter | Type | Required | Description |
|---|
tenantId | string | Yes | Xero tenant (organisation) ID |
invoiceId | string | Yes | Invoice ID to apply payment to |
accountId | string | Yes | Account ID to receive payment |
date | string | Yes | Payment date (YYYY-MM-DD) |
amount | number | Yes | Payment amount |
reference | string | No | Payment reference (optional) |
| Parameter | Type | Description |
|---|
payment | json | Created Xero payment |
↳ PaymentID | string | Payment ID |
↳ Date | string | Payment date |
↳ Amount | number | Payment amount |
↳ Status | string | Payment status |
metadata | json | Payment creation metadata |
↳ paymentId | string | New payment ID |