For the complete documentation index, see llms.txt. This page is also available as Markdown.

Xero

Your Toolhouse AI Worker can connect to Xero using 41 specialized tools.

Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under Auth Connections.

Tools (41)

Xero Create Bank Transaction

Integration name: XERO_CREATE_BANK_TRANSACTION

Create a bank transaction in Xero. Use SPEND for payments out or RECEIVE for money received.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

Date

string

Transaction date in YYYY-MM-DD format.

Type

string

Transaction type: SPEND (payment out) or RECEIVE (money in).

Status

string

Transaction status: AUTHORISED or DELETED.

ContactID

string

Xero Contact ID for the transaction.

LineItems

array

List of line items for the bank transaction.

Reference

string

Reference or transaction description.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

CurrencyCode

string

Currency code (e.g., USD, EUR).

BankAccountID

string

Bank account UUID identifier. Either bank_account_code or bank_account_id must be provided.

BankAccountCode

string

Short alphanumeric account code (e.g., '090', '091'), not the account name. Maximum 10 characters.


Xero Create Contact

Integration name: XERO_CREATE_CONTACT

Create a new contact in Xero. Contacts can be customers, suppliers, or both.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

Name

string

Full name of the contact or organization.

Website

string

Website URL of the contact.

LastName

string

Last name of the contact person.

FirstName

string

First name of the contact person.

TaxNumber

string

Tax number (VAT/ABN/GST number).

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

IsCustomer

boolean

Mark as customer when true.

IsSupplier

boolean

Mark as supplier when true.

EmailAddress

string

Email address of the contact.

phone_number

string

Primary phone number (will be added as DEFAULT phone type).

AccountNumber

string

Account reference number for the contact.

mobile_number

string

Mobile phone number (will be added as MOBILE phone type).

DefaultCurrency

string

Default currency code (e.g., USD, EUR).

BankAccountDetails

string

Bank account details for the contact.


Xero Create Invoice

Integration name: XERO_CREATE_INVOICE

Create a new invoice in Xero. Supports both sales invoices (ACCREC) and bills (ACCPAY).

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

Date

string

Invoice date in YYYY-MM-DD format.

Type

string

Invoice type: ACCREC (accounts receivable/sales) or ACCPAY (accounts payable/bills).

Status

string

Invoice status.

DueDate

string

Due date in YYYY-MM-DD format.

ContactID

string

Xero Contact ID (UUID). At least one of contact_id or contact_name must be provided.

LineItems

array

List of line items for the invoice.

Reference

string

Reference or purchase order number.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant. In multi-org setups, pass the same tenant_id consistently across all Xero tool calls.

ContactName

string

Contact name. At least one of contact_id or contact_name must be provided.

CurrencyCode

string

Currency code (e.g., USD, EUR).

InvoiceNumber

string

Invoice number (auto-generated if not provided). WARNING: If this matches an existing invoice number, Xero will attempt to UPDATE that invoice instead of creating a new one. Omit this field to ensure a new invoice is created, or ensure the number is unique.


Xero Create Item

Integration name: XERO_CREATE_ITEM

Create an inventory item in Xero. Items can be tracked for sales and/or purchases.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

Code

string

Unique item code (SKU).

Name

string

Item name/description.

IsSold

boolean

Item can be sold when true.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

IsPurchased

boolean

Item can be purchased when true.

SalesDetails.UnitPrice

number

Unit price for sales.

SalesDetails.AccountCode

string

Account code for sales.

PurchaseDetails.UnitPrice

number

Unit price for purchases.

PurchaseDetails.AccountCode

string

Account code for purchases.


Xero Create Manual Journal

Integration name: XERO_CREATE_MANUAL_JOURNAL

Create one or more manual journals (journal entries) in Xero with journal lines. Manual journals must balance (debits equal credits).

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

Url

string

"https://example.com/journal/12345"

URL link to a source document for reference, shown as 'Go to [appName]' in Xero

Date

string

"2024-12-31"

Date journal was posted in YYYY-MM-DD format

Status

string

"DRAFT"

Manual journal status. DRAFT for unposted journals, POSTED to finalize. Defaults to DRAFT if not specified

Narration

string

"Year-end adjustment for accrued expenses"

Description of journal being posted. This appears as the journal description in Xero

tenant_id

string

"a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d"

Xero tenant/organization ID. If not provided, uses the first connected tenant

JournalLines

array

Array of journal line items. Manual journals must balance (sum of debits must equal sum of credits) or an error is returned

LineAmountTypes

string

"NoTax"

Line amount type indicating whether amounts are inclusive or exclusive of tax. Defaults to NoTax if not specified

idempotency_key

string

"KEY-12345-67890"

Idempotency key to prevent duplicate journal creation. Recommended for production use. This is sent as a header, not in the body

summarize_errors

boolean

true

If true, API will return summarized validation errors. If false, detailed errors are returned. Query parameter only

ShowOnCashBasisReports

boolean

true

Boolean display indicator; defaults to true if not specified


Xero Create Payment

Integration name: XERO_CREATE_PAYMENT

Create a payment in Xero to link an invoice with a bank account transaction.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

Date

string

Payment date in YYYY-MM-DD format.

Amount

number

Payment amount.

AccountID

string

Xero Account ID (bank account) for the payment.

InvoiceID

string

Xero Invoice ID that this payment is for.

Reference

string

Payment reference or description.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

CurrencyRate

number

Exchange rate for foreign currency payments.


Xero Create Purchase Order

Integration name: XERO_CREATE_PURCHASE_ORDER

Create a purchase order in Xero to order goods/services from suppliers.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

Date

string

Purchase order date in YYYY-MM-DD format.

Status

string

Purchase order status: DRAFT, SUBMITTED, AUTHORISED, BILLED.

ContactID

string

Xero Contact ID for the purchase order.

LineItems

array

List of line items for the purchase order.

Reference

string

Reference or purchase order number.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

DeliveryDate

string

Expected delivery date in YYYY-MM-DD format.


Xero Get Account

Integration name: XERO_GET_ACCOUNT

Retrieve a specific account from Xero's chart of accounts by its unique ID. Returns detailed account information including code, name, type (BANK, REVENUE, EXPENSE, etc.), status (ACTIVE/ARCHIVED), tax settings, bank details (for BANK accounts), and classification. Use XERO_LIST_ACCOUNTS to get account IDs if you don't already have one.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

tenant_id

string

Xero tenant/organization ID (UUID format). If not provided, uses the first connected tenant.

account_id

string

Xero Account ID (UUID format, e.g., '562555f2-8cde-4ce9-8203-0363922537a4'). Get account IDs from XERO_LIST_ACCOUNTS action.


Xero Get Asset

Integration name: XERO_GET_ASSET

Retrieve a specific asset by ID from Xero. Returns depreciation details and book value.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

asset_id

string

Xero Asset ID to retrieve.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.


Xero Get Balance Sheet Report

Integration name: XERO_GET_BALANCE_SHEET_REPORT

Retrieve Balance Sheet report from Xero. Shows assets, liabilities, and equity at a specific date. Liability and credit balances appear as negative numbers in the response. Response structure is Reports → Rows → Sections; account lines are nested inside group sections and summary totals (e.g., 'Total Current Assets') appear in SummaryRows.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

date

string

Balance sheet as of this date in YYYY-MM-DD format. Should align with the organisation's financial year settings; misaligned dates may produce unexpected figures.

periods

integer

Number of periods to compare.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant. In multi-org connections, omitting this returns the first tenant's data silently — always pass explicitly when multiple orgs are connected.

timeframe

string

Timeframe period: MONTH, QUARTER, or YEAR.

paymentsOnly

boolean

Show only cash transactions when true (cash basis).

standardLayout

boolean

Use standard layout when true.

trackingOptionID

string

Filter by tracking option ID.


Xero Get Budget

Integration name: XERO_GET_BUDGET

Retrieve a budget from Xero. Budgets track planned vs actual spending by account.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

DateTo

string

End date for budget data in YYYY-MM-DD format.

DateFrom

string

Start date for budget data in YYYY-MM-DD format.

budget_id

string

Xero Budget ID to retrieve.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.


Xero Get Connections

Integration name: XERO_GET_CONNECTIONS

Tool to list active Xero connections. Use to retrieve all current tenant connections for the authenticated user and resolve the correct tenant_id before making data requests. When multiple tenants are returned, never assume the first connection is correct — always explicitly pass the intended tenant_id to every subsequent call. Using a wrong or stale tenant_id can silently return or modify data for a different organisation.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called. No parameters required.


Xero Get Contacts

Integration name: XERO_GET_CONTACTS

Tool to retrieve a list of contacts. Use when you need up-to-date contact information with filtering, paging, or incremental updates.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

IDs

array

"uuid1,uuid2,uuid3"

Comma-separated list of ContactIDs to filter by.

page

integer

Page number for paginated results (requires pageSize). Iterate incrementing page until an empty result is returned to exhaust all records.

order

string

Sort by field, e.g. UpdatedDateUTC DESC.

where

string

OData-style filter for querying contacts. Optimized fields: Name, EmailAddress, AccountNumber, TaxNumber, ContactStatus, City, Country, IsCustomer, IsSupplier. Note: On high-volume accounts, some filters (e.g., IsCustomer, IsSupplier) may be rejected by Xero. If a filter fails on high-volume accounts, use searchTerm, page/pageSize pagination, or remove the where filter.

pageSize

integer

Number of contacts per page (requires page).

ContactID

string

"bd2270c3-8706-4c11-9cfb-000b551c3f51"

Xero ContactID. If provided, fetches a single contact at /Contacts/{ContactID}.

searchTerm

string

"peter"

Case-insensitive search across Name, FirstName, LastName, ContactNumber, CompanyNumber, EmailAddress.

summaryOnly

boolean

Return a lightweight summary-only response when true.

includeArchived

boolean

Include archived contacts when true.

If-Modified-Since

string

"2009-11-12T00:00:00"

UTC timestamp (YYYY-MM-DDThh:mm:ss) to set as the If-Modified-Since header; returns only contacts created or modified since this timestamp.


Xero Get Invoice

Integration name: XERO_GET_INVOICE

Retrieve a specific invoice by ID from Xero. Returns full invoice details including line items and status.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

unitdp

integer

Number of decimal places for unit amounts (default 4).

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant. In multi-org setups, always pass explicitly to avoid querying the wrong organisation's data.

invoice_id

string

Xero Invoice ID to retrieve. Must be the internal UUID (e.g. a1b2c3d4-...), not the human-readable InvoiceNumber (e.g. INV-0001); obtain the UUID via XERO_LIST_INVOICES first.


Xero Get Item

Integration name: XERO_GET_ITEM

Retrieve a specific item by ID from Xero. Returns item code, name, pricing, and tax details.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

item_id

string

Xero Item ID to retrieve.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.


Xero Get Manual Journal

Integration name: XERO_GET_MANUAL_JOURNAL

Retrieve a specific manual journal by ID from Xero. Returns full details including journal lines.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

manual_journal_id

string

Xero Manual Journal ID to retrieve.


Xero Get Organisation

Integration name: XERO_GET_ORGANISATION

Retrieve organisation details from Xero. Returns company info, base currency, timezone, financial year settings, SalesTaxBasis, SalesTaxPeriod, etc. Response fields are nested under data.data.Organisations[0]. Use Timezone when computing date ranges to avoid boundary errors.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant. In multi-tenant setups, omitting this defaults to the first tenant which may be unintended; use XERO_GET_CONNECTIONS to confirm the correct tenant_id.


Xero Get Profit Loss Report

Integration name: XERO_GET_PROFIT_LOSS_REPORT

Retrieve Profit & Loss report from Xero. Shows income, expenses, and net profit for a specified period. Response rows are labeled (e.g., 'Net Profit', SummaryRow); parse by row label, not array index. Aggregates multiple tax codes — not suitable for tax compliance reporting.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

toDate

string

End date for the report in YYYY-MM-DD format. Date range between fromDate and toDate must not exceed 365 days.

periods

integer

Number of periods to compare (e.g., for month-on-month comparison).

fromDate

string

Start date for the report in YYYY-MM-DD format. Date range between fromDate and toDate must not exceed 365 days.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

timeframe

string

Timeframe period: MONTH, QUARTER, or YEAR.

paymentsOnly

boolean

Show only cash transactions when true (cash basis).

standardLayout

boolean

Use standard layout when true.

trackingOptionID

string

Filter by tracking option ID.

trackingOptionID2

string

Filter by second tracking option ID.

trackingCategoryID

string

Filter by tracking category ID.

trackingCategoryID2

string

Filter by second tracking category ID.


Xero Get Project

Integration name: XERO_GET_PROJECT

Retrieve a specific project by ID from Xero. Returns project details, deadlines, and status.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

project_id

string

Xero Project ID to retrieve. Must be a valid GUID format (e.g., '550e8400-e29b-41d4-a716-446655440000'); job numbers or non-GUID strings will fail.


Xero Get Purchase Order

Integration name: XERO_GET_PURCHASE_ORDER

Retrieve a specific purchase order by ID from Xero. Returns full details including line items and status.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

purchase_order_id

string

Xero Purchase Order ID to retrieve.


Xero Get Quotes

Integration name: XERO_GET_QUOTES

Tool to retrieve a list of quotes. Use when you need to list, filter, or page through sales quotes. Use after obtaining the tenant ID via connections.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

page

integer

1

Page number for paginated results (1-based).

order

string

"ExpiryDate DESC"

Order by any element, e.g., ExpiryDate ASC.

DateTo

string

"2023-12-31"

Filter for quotes on or before this date (YYYY-MM-DD).

Status

string

"DRAFT"

Filter for quotes of a particular status.

DateFrom

string

"2023-01-01"

Filter for quotes on or after this date (YYYY-MM-DD).

ContactID

string

"bd2270c3-8706-4c11-9cfb-000b551c3f51"

Filter for quotes belonging to a particular contact by ContactID.

tenant_id

string

"213bd52c-ee3b-4ae7-8175-aa58c6720f28"

Xero Tenant ID. Optional - will auto-fetch from connections if not provided.

QuoteNumber

string

"QU-0001"

Filter by quote number.

ExpiryDateTo

string

"2023-12-31"

Filter for quotes expiring on or before this date (YYYY-MM-DD).

ExpiryDateFrom

string

"2023-01-01"

Filter for quotes expiring on or after this date (YYYY-MM-DD).

If-Modified-Since

string

"2023-01-02T00:00:00Z"

Only return quotes modified after this UTC timestamp in RFC3339 format.


Xero Get Trial Balance Report

Integration name: XERO_GET_TRIAL_BALANCE_REPORT

Retrieve Trial Balance report from Xero. Shows all account balances (debits and credits) at a specific date. Use to verify that total debits equal total credits and to prepare financial statements. Credit balances appear as negative numbers in the response.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

date

string

"2019-10-31"

The date for the Trial Balance report in YYYY-MM-DD format (e.g., 2018-03-31). If not specified, defaults to current date.

tenant_id

string

"YOUR_XERO_TENANT_ID"

Xero tenant/organization ID. If not provided, uses the first connected tenant. In multi-org connections, omitting this returns the first tenant's data silently — always pass explicitly when multiple orgs are connected.

paymentsOnly

boolean

true

Return cash only basis for the Trial Balance report when true (cash basis accounting).


Xero List Accounts

Integration name: XERO_LIST_ACCOUNTS

Retrieve chart of accounts from Xero. Returns all accounting codes used for categorizing transactions. Use AccountID (not name or code) as the unique identifier for accounts. Results may be paginated; increment the page parameter until empty results are returned to avoid missing accounts in large organisations.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

order

string

Sort by field, e.g. Code ASC or Name DESC.

where

string

OData-style filter, e.g. Status=="ACTIVE" AND Type=="EXPENSE" Invalid syntax silently returns empty or misleading results rather than an explicit error. Status-based filters (e.g., Status=="ACTIVE") exclude archived accounts; omit to retrieve full historical chart.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant. Always specify when multiple organisations exist — omitting it defaults to the first tenant and may return another entity's data.


Xero List Assets

Integration name: XERO_LIST_ASSETS

Retrieve fixed assets from Xero. Assets track depreciation and book value of capital equipment.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

page

integer

Page number for paginated results. Defaults to 1.

status

string

Required. Asset status filter. Valid values: DRAFT, REGISTERED, DISPOSED. Defaults to DRAFT.

orderBy

string

Sort field. Valid values: AssetType, AssetName, AssetNumber, PurchaseDate, PurchasePrice. For DISPOSED status, also allows: DisposalDate, DisposalPrice.

filterBy

string

Filter string to search assets. Matches against AssetName, AssetNumber, Description, and AssetTypeName fields.

pageSize

integer

Number of assets per page. Defaults to 10.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

sortDirection

string

Sort direction. Valid values: asc, desc.


Xero List Attachments

Integration name: XERO_LIST_ATTACHMENTS

List all attachments for a specific entity in Xero (invoice, contact, etc.).

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

entity_id

string

ID of the entity to list attachments for.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

entity_type

string

Entity type: Invoices, Contacts, BankTransactions, CreditNotes, PurchaseOrders, etc.


Xero List Bank Transactions

Integration name: XERO_LIST_BANK_TRANSACTIONS

Retrieve bank transactions from Xero. Includes SPEND, RECEIVE, and transfer types; unfiltered results include DELETED transactions that skew totals. Dates returned in /Date(milliseconds_since_epoch)/ format. Rate limit: ~60 requests/minute per org; heavy pagination may trigger 429 errors.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

page

integer

Page number for paginated results. Returns max 100 items per page; no total count provided. Iterate by incrementing page until response returns zero results.

order

string

Sort by field, e.g. Date DESC or UpdatedDateUTC ASC. Default ordering is unreliable; always specify explicitly (e.g., Date DESC).

where

string

OData-style filter, e.g. Status=="AUTHORISED" AND Type=="SPEND" String values require double quotes; field names must be exact (e.g., BankAccount.AccountID, IsReconciled, Status, Type). Malformed expressions or wrong field names silently return empty results. Always filter by Status (e.g., Status=="AUTHORISED") to exclude DELETED transactions. Use IsReconciled boolean for reconciliation filtering, not Status alone.

unitdp

integer

Decimal places for unit amounts (default 4).

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant. In multi-org setups, always provide explicitly to avoid targeting the wrong organisation.

If-Modified-Since

string

UTC timestamp to return only bank transactions modified since this date.


Xero List Credit Notes

Integration name: XERO_LIST_CREDIT_NOTES

Retrieve list of credit notes from Xero. Credit notes are issued to reduce amounts owed by customers.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

page

integer

Page number for paginated results.

order

string

Sort by field, e.g. Date DESC or CreditNoteNumber ASC.

where

string

OData-style filter, e.g. Status=="AUTHORISED"

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

If-Modified-Since

string

UTC timestamp to return only credit notes modified since this date.


Xero List Files

Integration name: XERO_LIST_FILES

Retrieve files from Xero Files. Lists documents stored in Xero's file management system.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

page

integer

Page number for paginated results.

sort

string

Sort field: Name, Size, CreatedDateUTC.

folderId

string

Filter files by folder ID.

pagesize

integer

Number of files per page (max 100).

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.


Xero List Folders

Integration name: XERO_LIST_FOLDERS

Retrieve folders from Xero Files. Lists document folders in Xero's file management system.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

sort

string

Sort field: Name, CreatedDateUTC.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.


Xero List Invoices

Integration name: XERO_LIST_INVOICES

Retrieve a list of invoices from Xero. Results include both sales invoices (Type=ACCREC) and bills (Type=ACCPAY) by default; filter by Type in the where clause when only one is needed. Supports filtering by status, contact, date range, and pagination.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

page

integer

Page number for paginated results. Returns up to 100 invoices per page; increment page and check pagination.pageCount in the response to retrieve all records.

order

string

Sort by field, e.g. Date DESC or InvoiceNumber ASC.

where

string

OData-style filter, e.g. Status=="AUTHORISED" AND Total>100 Malformed expressions silently return empty results rather than an error.

Statuses

string

Comma-separated list of invoice statuses to filter by (e.g., DRAFT, SUBMITTED, AUTHORISED, PAID).

tenantId

string

Xero tenant/organization ID. If not provided, uses the first connected tenant. When multiple organisations are connected, always pass this explicitly to avoid querying the wrong organisation's data.

ContactIDs

string

Comma-separated list of Contact IDs to filter invoices by contact.

InvoiceIDs

string

Comma-separated list of Invoice IDs to filter by.

createdByMyApp

boolean

Filter to invoices created by your app when true.

includeArchived

boolean

Include archived invoices when true.

If-Modified-Since

string

UTC timestamp to return only invoices modified since this date.


Xero List Items

Integration name: XERO_LIST_ITEMS

Retrieve items (inventory/products) from Xero. Items can be tracked for sales and/or purchases.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

order

string

Sort by field, e.g. Code ASC or Name DESC.

where

string

OData-style filter, e.g. IsSold==true AND IsPurchased==true

unitdp

integer

Number of decimal places for unit amounts (default 4).

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.


Xero List Journals

Integration name: XERO_LIST_JOURNALS

Retrieve journals from Xero. Journals show the accounting entries for all transactions. Omitting filters returns the full historical journal ledger and can produce very large responses — use If-Modified-Since and/or paymentsOnly to narrow scope. No date range filter parameter exists. Results are returned inside a Journals array field.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

offset

integer

Offset for pagination. Increment by 100 (the page size) across successive calls to retrieve all journals. Deduplicate results by JournalNumber to avoid gaps or duplicates.

tenantId

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

paymentsOnly

boolean

Filter to payment journals only when true.

If-Modified-Since

string

UTC timestamp to return only journals modified since this date.


Xero List Manual Journals

Integration name: XERO_LIST_MANUAL_JOURNALS

Retrieve manual journals from Xero. Manual journals are used for period-end adjustments and corrections.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

page

integer

Page number for paginated results.

order

string

Sort by field, e.g. Date DESC.

where

string

OData-style filter, e.g. Status=="POSTED"

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

If-Modified-Since

string

UTC timestamp to return only manual journals modified since this date.


Xero List Payments

Integration name: XERO_LIST_PAYMENTS

Retrieve list of payments from Xero. Payments link invoices to bank transactions; invoices may have multiple partial/split payment records. Response Date fields use Xero's /Date(milliseconds)/ format requiring custom parsing.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

page

integer

Page number for paginated results. Returns max 100 items per page; iterate incrementing page until response returns empty array. Xero enforces ~60 requests/minute per org (HTTP 429 if exceeded).

order

string

Sort by field, e.g. Date DESC or Amount ASC.

where

string

OData-style filter, e.g. Status=="AUTHORISED" Results include both ACCREC and ACCPAY types; filter by Type=="ACCREC" or Type=="ACCPAY" to isolate sales or bill payments. Avoid strict Reference matching as format variations may miss valid records.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant. Wrong tenant_id silently returns empty results; verify with XERO_GET_CONNECTIONS before large pulls.

If-Modified-Since

string

UTC timestamp to return only payments modified since this date.


Xero List Projects

Integration name: XERO_LIST_PROJECTS

Retrieve projects from Xero. Projects track time and costs for client work.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

page

integer

Page number for paginated results.

states

string

Comma-separated project states: INPROGRESS, CLOSED.

pageSize

integer

Number of projects per page (1-500, default 50).

contactID

string

Filter projects by contact ID.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

projectIds

string

Comma-separated list of project IDs to filter by.


Xero List Purchase Orders

Integration name: XERO_LIST_PURCHASE_ORDERS

Retrieve list of purchase orders from Xero. Purchase orders track goods/services ordered from suppliers.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

page

integer

Page number for paginated results.

order

string

Sort by field, e.g. Date DESC or PurchaseOrderNumber ASC.

DateTo

string

Filter by date to (YYYY-MM-DD).

Status

string

Filter by status: DRAFT, SUBMITTED, AUTHORISED, BILLED, DELETED.

DateFrom

string

Filter by date from (YYYY-MM-DD).

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

If-Modified-Since

string

UTC timestamp to return only purchase orders modified since this date.


Xero List Tax Rates

Integration name: XERO_LIST_TAX_RATES

Retrieve tax rates from Xero. Shows available tax codes and rates for the organization. Use returned tax codes as valid TaxType values in other tools — invalid values cause ValidationException errors.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

order

string

Sort by field, e.g. Name ASC.

where

string

OData-style filter, e.g. Status=="ACTIVE"

TaxType

string

Filter by specific tax type.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant. In multi-org connections, always specify to avoid retrieving tax config from the wrong organisation.


Xero List Tracking Categories

Integration name: XERO_LIST_TRACKING_CATEGORIES

Retrieve tracking categories from Xero. Tracking categories are used to segment data for reporting (e.g., departments, regions).

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

order

string

Sort by field, e.g. Name ASC.

where

string

OData-style filter, e.g. Status=="ACTIVE"

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

includeArchived

boolean

Include archived tracking categories when true.


Xero Post Invoice Update

Integration name: XERO_POST_INVOICE_UPDATE

Tool to update an existing invoice. Use when you need to modify the details of an invoice after it's been created.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

unitdp

integer

Number of decimal places for unit amounts.

Invoices

array

List containing invoice update definitions (one item).

InvoiceID

string

Unique identifier (UUID) of the invoice.

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

InvoiceNumber

string

Invoice number identifier.


Xero Update Contact

Integration name: XERO_UPDATE_CONTACT

Update an existing contact in Xero. Only provided fields will be updated.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

Name

string

Full name of the contact or organization.

LastName

string

Last name of the contact person.

ContactID

string

Xero Contact ID to update.

FirstName

string

First name of the contact person.

TaxNumber

string

Tax number (VAT/ABN/GST number).

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

EmailAddress

string

Email address of the contact.

phone_number

string

Primary phone number (will update DEFAULT phone type).

AccountNumber

string

Account reference number for the contact.

mobile_number

string

Mobile phone number (will update MOBILE phone type).

DefaultCurrency

string

Default currency code (e.g., USD, EUR).

BankAccountDetails

string

Bank account details for the contact.


Xero Upload Attachment

Integration name: XERO_UPLOAD_ATTACHMENT

Upload a file attachment to a Xero entity (invoice, contact, etc.). Supports PDF, images, and documents.

Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

Parameter
Type
Required
Example
Description

filename

string

Filename for the attachment as it will appear in Xero (e.g., 'invoice-receipt.pdf'). Must include the file extension.

entity_id

string

UUID of the entity to attach the file to (e.g., InvoiceID, ContactID, BankTransactionID).

tenant_id

string

Xero tenant/organization ID. If not provided, uses the first connected tenant.

entity_type

string

Entity type to attach to. Valid values: Invoices, Contacts, BankTransactions, CreditNotes, Accounts, ManualJournals, PurchaseOrders, Quotes, Receipts, RepeatingInvoices.

file_to_upload

object

File to upload as attachment.

include_online

boolean

Set to true to include the attachment when sending online invoices to customers. Only applicable when entity_type is 'Invoices'.