Xero

Xero integration · 51 node(s) including 1 trigger.

00Overview

Every field below is exactly what you see in the Flomation editor. Fields marked ● live picker let you choose from a list pulled live from your account — no IDs to look up.

01Connecting Xero

Xero signs in with a Xero account you connect to Flomation — there is no API key or secret to paste. Connect the account once and every Xero node picks it up automatically. Two optional fields let you steer it:

FieldTypeDetails
Xero ConnectioncredentialRequired${credentials.MyXero}
i
Connect the Xero account to your Flomation user once — the same grant covers every Xero node, so you do not repeat it per flow. The optional Xero OAuth Credential field never shows a token: it references a managed credential (e.g. ${credentials.GOOGLE_DRIVE}), not an environment secret. Leave both fields blank and the node just uses your connected account.

02Account

Account: Create

xero/account_create · Action

Create a Xero chart-of-accounts account. Returns the account ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Codestring200
NamestringSales
TypestringRequiredREVENUE
Descriptionstring
Advanced Fields (JSON)text{"TaxType":"OUTPUT2"}

Returns: tool_result, id, result, success, error

Account: Get

xero/account_get · Action

Fetch a single Xero account by its ID. Returns the account object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Account IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

Account: List

xero/account_list · Action

List Xero chart-of-accounts accounts, optionally filtered. Returns matching accounts.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Where FilterstringType=="BANK"
Order BystringName

Returns: tool_result, id, result, success, error

Account: Update

xero/account_update · Action

Update an existing Xero account by its ID. Returns the updated account object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Account IDstringRequired00000000-0000-0000-0000-000000000000
Codestring200
NamestringSales
TypestringREVENUE
Descriptionstring
Advanced Fields (JSON)text{"TaxType":"OUTPUT2"}

Returns: tool_result, id, result, success, error

03Bank

Bank Transaction: Create

xero/bank_transaction_create · Action

Create a Xero spend or receive bank transaction. Returns the transaction ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
TypestringRequiredRECEIVE — choices: Receive money (RECEIVE), Spend money (SPEND)
Contact IDstringRequiredThe Xero ContactID
Bank Account IDstringRequiredThe bank AccountID
Datestring2026-07-05
Referencestring
Line Amount TypesstringInclusive
Line Items (JSON array)text[{"Description":"Item","Quantity":1,"UnitAmount":20.00,"AccountCode":"400"}]
Advanced Fields (JSON)text{"IsReconciled":false}

Returns: tool_result, id, result, success, error

Bank Transaction: Get

xero/bank_transaction_get · Action

Fetch a single Xero bank transaction by ID. Returns the transaction object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Bank Transaction IDstringRequiredThe Xero BankTransactionID

Returns: tool_result, id, result, success, error

Bank Transaction: List

xero/bank_transaction_list · Action

List Xero bank transactions, optionally filtered with a where clause and paged.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Where FilterstringType=="SPEND"
Pagestring1

Returns: tool_result, id, result, success, error

Bank Transfer: Create

xero/bank_transfer_create · Action

Transfer money between two Xero bank accounts. Returns the transfer ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
From Account IDstringRequiredThe source bank AccountID
To Account IDstringRequiredThe destination bank AccountID
AmountmoneyRequired100.00
Datestring2026-07-05
Advanced Fields (JSON)text{"Reference":"Internal transfer"}

Returns: tool_result, id, result, success, error

Bank Transfer: List

xero/bank_transfer_list · Action

List Xero bank transfers, optionally filtered with a where clause.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Where FilterstringAmount>=100
Pagestring1

Returns: tool_result, id, result, success, error

04Contact

Contact: Create

xero/contact_create · Action

Create a Xero contact (customer or supplier). Returns the contact ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
NamestringRequiredAda Lovelace Ltd
First NamestringAda
Last NamestringLovelace
Emailstringada@example.com
Contact NumberstringYour reference for this contact
Account Numberstring
Advanced Fields (JSON)text{"Phones":[{"PhoneType":"DEFAULT","PhoneNumber":"..."}]}

Returns: tool_result, id, result, success, error

Contact: Get

xero/contact_get · Action

Fetch a single Xero contact by its ID. Returns the contact object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Contact IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

Contact: List

xero/contact_list · Action

List Xero contacts with optional filter, search and pagination. Returns matching contacts.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Filter (where)stringName.Contains("Ltd")
Search TermstringAda
Pagestring1

Returns: tool_result, id, result, success, error

Contact: Update

xero/contact_update · Action

Update an existing Xero contact by ID. Returns the updated contact object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Contact IDstringRequired00000000-0000-0000-0000-000000000000
NamestringAda Lovelace Ltd
First NamestringAda
Last NamestringLovelace
Emailstringada@example.com
Contact NumberstringYour reference for this contact
Account Numberstring
Advanced Fields (JSON)text{"Phones":[{"PhoneType":"DEFAULT","PhoneNumber":"..."}]}

Returns: tool_result, id, result, success, error

05Credit

Credit Note: Create

xero/credit_note_create · Action

Create a Xero credit note for a contact. Returns the credit note ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
TypestringACCRECCREDIT — choices: Accounts Receivable Credit (ACCRECCREDIT), Accounts Payable Credit (ACCPAYCREDIT)
Contact IDstringRequiredThe Xero ContactID
Datestring2026-07-05
Referencestring
StatusstringDRAFT
Line Amount TypesstringExclusive
Currency CodestringGBP
Line Items (JSON array)text[{"Description":"Credit","Quantity":1,"UnitAmount":50.00,"AccountCode":"200"}]
Advanced Fields (JSON)text{"SentToContact":true}

Returns: tool_result, id, result, success, error

Credit Note: Get

xero/credit_note_get · Action

Fetch a single Xero credit note by ID. Returns the credit note object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Credit Note IDstringRequiredThe Xero CreditNoteID

Returns: tool_result, id, result, success, error

Credit Note: List

xero/credit_note_list · Action

List Xero credit notes, optionally filtered with a where clause and paged.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Where FilterstringStatus=="AUTHORISED"
Pagestring1

Returns: tool_result, id, result, success, error

06Invoice

Invoice: Create

xero/invoice_create · Action

Create a Xero invoice (sales ACCREC or bill ACCPAY) with line items. Returns the invoice ID.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Contact IDstringRequired00000000-0000-0000-0000-000000000000
TypestringACCREC — choices: Sales Invoice (ACCREC), Bill (ACCPAY)
Line Items (JSON)textRequired[{"Description":"Consulting","Quantity":1,"UnitAmount":100.00,"AccountCode":"200"}]
Datestring2026-07-05
Due Datestring2026-08-05
ReferencestringINV-001
StatusstringDRAFT — choices: Draft, Submitted, Authorised
Line Amount TypesstringExclusive — choices: Exclusive, Inclusive, No Tax
Currency CodestringGBP
Advanced Fields (JSON)text{"BrandingThemeID":"..."}

Returns: tool_result, id, result, success, error

Invoice: Email

xero/invoice_email · Action

Email a Xero invoice to its contact using the organisation's default template.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Invoice IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

Invoice: Get

xero/invoice_get · Action

Fetch a single Xero invoice by its ID. Returns the invoice object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Invoice IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

Invoice: List

xero/invoice_list · Action

List Xero invoices with optional filter, status and pagination. Returns matching invoices.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Filter (where)stringStatus=="AUTHORISED"
StatusesstringDRAFT,AUTHORISED
Pagestring1

Returns: tool_result, id, result, success, error

Invoice: Update

xero/invoice_update · Action

Update an existing Xero invoice by ID. Returns the updated invoice object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Invoice IDstringRequired00000000-0000-0000-0000-000000000000
Contact IDstring00000000-0000-0000-0000-000000000000
Line Items (JSON)text[{"Description":"Consulting","Quantity":1,"UnitAmount":100.00,"AccountCode":"200"}]
Datestring2026-07-05
Due Datestring2026-08-05
ReferencestringINV-001
StatusstringAUTHORISED — choices: Draft, Submitted, Authorised
Line Amount TypesstringExclusive — choices: Exclusive, Inclusive, No Tax
Currency CodestringGBP
Advanced Fields (JSON)text{"BrandingThemeID":"..."}

Returns: tool_result, id, result, success, error

Invoice: Void

xero/invoice_void · Action

Void a Xero invoice by ID (sets its status to VOIDED). Returns the voided invoice.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Invoice IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

07Item

Item: Create

xero/item_create · Action

Create a Xero inventory or service item. Returns the item ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
CodestringRequiredWIDGET-01
NamestringBlue Widget
DescriptionstringStandard blue widget
Is Soldboolean
Is Purchasedboolean
Advanced Fields (JSON)text{"SalesDetails":{"UnitPrice":10.0,"AccountCode":"200"}}

Returns: tool_result, id, result, success, error

Item: Get

xero/item_get · Action

Fetch a single Xero item by its ID. Returns the item object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Item IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

Item: List

xero/item_list · Action

List Xero items, optionally filtered by a where clause. Returns matching items.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Where FilterstringIsSold==true
Order BystringCode

Returns: tool_result, id, result, success, error

Item: Update

xero/item_update · Action

Update an existing Xero item by its ID. Returns the updated item object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Item IDstringRequired00000000-0000-0000-0000-000000000000
CodestringWIDGET-01
NamestringBlue Widget
DescriptionstringStandard blue widget
Is Soldboolean
Is Purchasedboolean
Advanced Fields (JSON)text{"SalesDetails":{"UnitPrice":10.0,"AccountCode":"200"}}

Returns: tool_result, id, result, success, error

08Manual

Manual Journal: Create

xero/manual_journal_create · Action

Create a Xero manual journal from journal lines. Returns the journal ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
NarrationstringRequiredAccrual for month end
Datestring2026-07-05
Journal Lines (JSON array)text[{"LineAmount":100.00,"AccountCode":"200"},{"LineAmount":-100.00,"AccountCode":"400"}]
Advanced Fields (JSON)text{"Status":"POSTED"}

Returns: tool_result, id, result, success, error

Manual Journal: Get

xero/manual_journal_get · Action

Fetch a single Xero manual journal by its ID. Returns the journal object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Manual Journal IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

Manual Journal: List

xero/manual_journal_list · Action

List Xero manual journals, optionally filtered by a where clause. Returns matching journals.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Where FilterstringStatus=="POSTED"
Pagestring1

Returns: tool_result, id, result, success, error

09Organisation

Organisation: Get

xero/organisation_get · Action

Fetch the connected Xero organisation's details. Returns the organisation object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}

Returns: tool_result, id, result, success, error

10Payment

Payment: Create

xero/payment_create · Action

Apply a payment to a Xero invoice from an account. Returns the payment ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Invoice IDstringRequiredThe Xero InvoiceID
Account IDstringRequiredThe bank AccountID
AmountmoneyRequired100.00
Datestring2026-07-05
Referencestring
Advanced Fields (JSON)text{"CurrencyRate":1.0}

Returns: tool_result, id, result, success, error

Payment: Delete

xero/payment_delete · Action

Delete (reverse) a Xero payment by setting its status to DELETED.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Payment IDstringRequiredThe Xero PaymentID

Returns: tool_result, id, result, success, error

Payment: Get

xero/payment_get · Action

Fetch a single Xero payment by ID. Returns the payment object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Payment IDstringRequiredThe Xero PaymentID

Returns: tool_result, id, result, success, error

Payment: List

xero/payment_list · Action

List Xero payments, optionally filtered with a where clause and paged.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Where FilterstringStatus=="AUTHORISED"
Pagestring1

Returns: tool_result, id, result, success, error

11Purchase

Purchase Order: Create

xero/purchase_order_create · Action

Create a Xero purchase order for a supplier. Returns the purchase order ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Supplier Contact IDstringRequired00000000-0000-0000-0000-000000000000
Datestring2026-07-05
Delivery Datestring2026-07-12
ReferencestringPO-1001
Line Items (JSON array)text[{"Description":"Widgets","Quantity":10,"UnitAmount":5.0,"AccountCode":"300"}]
Advanced Fields (JSON)text{"Status":"DRAFT"}

Returns: tool_result, id, result, success, error

Purchase Order: Get

xero/purchase_order_get · Action

Fetch a single Xero purchase order by its ID. Returns the purchase order object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Purchase Order IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

Purchase Order: List

xero/purchase_order_list · Action

List Xero purchase orders, optionally filtered by status. Returns matching purchase orders.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
StatusstringAUTHORISED
Pagestring1

Returns: tool_result, id, result, success, error

Purchase Order: Update

xero/purchase_order_update · Action

Update an existing Xero purchase order by its ID. Returns the updated object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Purchase Order IDstringRequired00000000-0000-0000-0000-000000000000
Supplier Contact IDstring00000000-0000-0000-0000-000000000000
Datestring2026-07-05
Delivery Datestring2026-07-12
ReferencestringPO-1001
Line Items (JSON array)text[{"Description":"Widgets","Quantity":10,"UnitAmount":5.0,"AccountCode":"300"}]
Advanced Fields (JSON)text{"Status":"AUTHORISED"}

Returns: tool_result, id, result, success, error

12Quote

Quote: Create

xero/quote_create · Action

Create a Xero quote for a customer. Returns the quote ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Customer Contact IDstringRequired00000000-0000-0000-0000-000000000000
Datestring2026-07-05
ReferencestringQU-1001
TitlestringWebsite build
SummarystringQuote summary line
Line Items (JSON array)text[{"Description":"Design","Quantity":1,"UnitAmount":500.0,"AccountCode":"200"}]
Advanced Fields (JSON)text{"Status":"DRAFT"}

Returns: tool_result, id, result, success, error

Quote: Get

xero/quote_get · Action

Fetch a single Xero quote by its ID. Returns the quote object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Quote IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

Quote: List

xero/quote_list · Action

List Xero quotes, optionally filtered by status. Returns matching quotes.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
StatusstringACCEPTED
Pagestring1

Returns: tool_result, id, result, success, error

Quote: Update

xero/quote_update · Action

Update an existing Xero quote by its ID. Returns the updated quote object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Quote IDstringRequired00000000-0000-0000-0000-000000000000
Customer Contact IDstring00000000-0000-0000-0000-000000000000
Datestring2026-07-05
ReferencestringQU-1001
TitlestringWebsite build
SummarystringQuote summary line
Line Items (JSON array)text[{"Description":"Design","Quantity":1,"UnitAmount":500.0,"AccountCode":"200"}]
Advanced Fields (JSON)text{"Status":"SENT"}

Returns: tool_result, id, result, success, error

13Report

Report: Aged Payables

xero/report_aged_payables · Action

Run the Xero Aged Payables report for a contact. Returns the full report.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Contact IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

Report: Aged Receivables

xero/report_aged_receivables · Action

Run the Xero Aged Receivables report for a contact. Returns the full report.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Contact IDstringRequired00000000-0000-0000-0000-000000000000

Returns: tool_result, id, result, success, error

Report: Balance Sheet

xero/report_balance_sheet · Action

Run the Xero Balance Sheet report as at an optional date. Returns the full report.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Datestring2026-12-31

Returns: tool_result, id, result, success, error

Report: Profit and Loss

xero/report_profit_and_loss · Action

Run the Xero Profit and Loss report for an optional date range. Returns the full report.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
From Datestring2026-01-01
To Datestring2026-12-31

Returns: tool_result, id, result, success, error

14Tax

Tax Rate: Create

xero/tax_rate_create · Action

Create a Xero tax rate with its tax components. Returns the tax rate object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
NamestringRequired20% VAT on Income
Report Tax TypestringOUTPUT2
Tax Components (JSON array)text[{"Name":"VAT","Rate":20.0}]
Advanced Fields (JSON)text{"Status":"ACTIVE"}

Returns: tool_result, id, result, success, error

Tax Rate: List

xero/tax_rate_list · Action

List Xero tax rates, optionally filtered by a where clause. Returns matching tax rates.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Where FilterstringStatus=="ACTIVE"

Returns: tool_result, id, result, success, error

15Tracking

Tracking Category: Create

xero/tracking_category_create · Action

Create a Xero tracking category. Returns the tracking category ID and object.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
NamestringRequiredRegion
Advanced Fields (JSON)text{"Options":[{"Name":"North"},{"Name":"South"}]}

Returns: tool_result, id, result, success, error

Tracking Category: List

xero/tracking_category_list · Action

List Xero tracking categories, optionally filtered by a where clause. Returns matching categories.

FieldTypeDetails
OrganisationstringRequired${credentials.MyXero.tenant_id}
Where FilterstringStatus=="ACTIVE"

Returns: tool_result, id, result, success, error

16Triggers

Xero Webhook Trigger

trigger/xero_webhook · Trigger

Triggers a flow when a Xero record changes (contact or invoice created/updated)

FieldTypeDetails
Webhook Signing KeysecretRequiredFrom the Xero app's webhook settings
Event FilterstringComma-separated, e.g. CONTACT.UPDATE,INVOICE.CREATE or CONTACT (blank = all)

Returns: content, event_type, event_category, operation, resource_id, tenant_id, resource_url, body, triggered_at

17Notes & Limitations

Behaviours and constraints worth knowing before you build with these nodes.