Skip to content
Elaichi Elaichi

accounting

Xero

Connect Xero to Elaichi and hand every teammate a governed MCP endpoint — 250 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.

Xero

AI tools

Xero tools for your AI agents

250 tools are ready to mint as an MCP endpoint the moment you connect Xero — governed by the same roles, restrictions, and audit log as everything else in Elaichi.

list_all_xero_contacts

List all contacts in a Xero organisation. Returns: ContactID, Name, EmailAddress, ContactStatus, IsSupplier, IsCustomer, Addresses, Phones, Balances, UpdatedDateUTC, HasAttachments. Optionally filter by where clause, IDs, searchTerm, or includeArchived.

get_single_xero_contact_by_id

Get a specific Xero contact by id. Returns: ContactID, Name, EmailAddress, ContactStatus, Addresses, Phones, Balances, PaymentTerms, BrandingTheme, ContactPersons, IsSupplier, IsCustomer, UpdatedDateUTC. Required: id.

create_a_xero_contact

Create or update one or more contacts in a Xero organisation. Returns: ContactID, Name, EmailAddress, ContactStatus, Addresses, Phones, IsSupplier, IsCustomer, PaymentTerms, UpdatedDateUTC, HasValidationErrors. Required: Contacts.

update_a_xero_contact_by_id

Update an existing Xero contact by id. Returns: Contacts (array containing the updated contact record), Status, DateTimeUTC. Required: id, Contacts.

delete_a_xero_contact_by_id

Delete a specific contact from a Xero contact group by id. Returns an empty 204 response on success. Required: contact_group_id, id.

xero_contacts_bulk_delete

Delete all contacts from a specific Xero contact group. Returns an empty 204 response on success. Required: contact_group_id.

xero_contacts_bulk_update

Add contacts to a specific Xero contact group. Returns contact objects including ContactID and Name. Required: contact_group_id.

xero_contacts_list_attachments

List attachments for a specific Xero contact. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.

xero_contacts_update_history

Create a new history record for a specific Xero contact. Returns the created history record including Details, Changes, User, and DateUTC. Required: id.

list_all_xero_tracking_categories

List all tracking categories and options in Xero. Returns: Name, Status, TrackingCategoryID, Options. Use where and order to filter and sort results; set includeArchived to true to include ARCHIVED categories.

update_a_xero_tracking_category_by_id

Update a specific tracking category in Xero by its unique identifier. Returns: Name, Status, TrackingCategoryID, Options. Required: id, Name.

delete_a_xero_tracking_category_by_id

Delete a specific tracking category in Xero by its unique identifier. Returns the deleted category including Name, Status (set to DELETED), TrackingCategoryID, and Options. Required: id.

list_all_xero_payments

List payments for invoices and credit notes in xero. Returns: PaymentID, Amount, Status, Date, PaymentType, Account, Invoice, IsReconciled, UpdatedDateUTC, HasValidationErrors. Use `where` to filter and `order` to sort results.

get_single_xero_payment_by_id

Retrieve a specific xero payment by id. Returns: PaymentID, Amount, Status, Date, Account, Invoice, BatchPayment, PaymentType, CurrencyRate, IsReconciled, UpdatedDateUTC, HasValidationErrors. Required: id.

create_a_xero_payment

Create one or more payments for invoices or credit notes in xero. Returns: PaymentID, Amount, Status, Date, Account, Invoice, PaymentType, IsReconciled, UpdatedDateUTC, HasValidationErrors. Required: Payments array; each entry requires Invoice (InvoiceID), Account, Date, and Amount.

update_a_xero_payment_by_id

Update a specific xero payment by id. Returns: PaymentID, Amount, Status, Date, Account, Invoice, PaymentType, IsReconciled, UpdatedDateUTC, HasValidationErrors. Required: id.

xero_payments_list_history

List history records for a specific xero payment by id. Returns: Details, DateUTC, User, Changes. Required: id.

xero_payments_update_history

Create a history record for a specific Xero payment. Returns the created history record including Details, DateUTCString, DateUTC, Changes, and User. Required: id.

list_all_xero_bank_transactions

List spent or received money transactions in Xero. Returns: BankTransactionID, Type, Status, BankAccount, Contact, SubTotal, Total, CurrencyCode, IsReconciled, LineAmountTypes, UpdatedDateUTC.

get_single_xero_bank_transaction_by_id

Get a single Xero bank transaction by id. Returns: BankTransactionID, Type, Status, BankAccount, Contact, LineItems, SubTotal, Total, CurrencyCode, IsReconciled, Attachments, UpdatedDateUTC. Required: id.

create_a_xero_bank_transaction

Create one or more Xero bank transactions. Returns: BankTransactionID, Type, Status, BankAccount, Contact, LineItems, SubTotal, Total, CurrencyCode, ValidationErrors. Required: BankTransactions array with Type, Contact, LineItems, and BankAccount per entry.

xero_bank_transactions_list_attachments

List attachments for a specific Xero bank transaction by id. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.

xero_bank_transactions_list_history

List history records for a specific Xero bank transaction by id. Returns: Changes, DateUTCString, DateUTC, User, Details. Required: id.

xero_bank_transactions_update_history

Create a history record for a specific Xero bank transaction. Returns: Details, DateUTCString, DateUTC, User, Changes. Required: id.

update_a_xero_bank_transaction_by_id

Update a specific Xero bank transaction by id. Returns the updated transaction including BankTransactionID, Type, Status, Contact, LineItems, BankAccount, SubTotal, TotalTax, Total, CurrencyCode, and IsReconciled. Required: id.

xero_bank_transactions_bulk_update

Create or update one or more Xero bank transactions in a single request. Returns the processed transactions including BankTransactionID, Type, Status, Contact, LineItems, BankAccount, SubTotal, TotalTax, Total, CurrencyCode, and IsReconciled. Required: BankTransactions.

list_all_xero_connections

List Xero connections (tenants) that the authenticated user has authorised access to. Returns: id, tenantId, tenantType, tenantName, createdDateUtc, updatedDateUtc.

get_single_xero_user_by_id

Get a specific xero user by UserID. Returns: UserID, EmailAddress, FirstName, LastName, UpdatedDateUTC, IsSubscriber, OrganisationRole. Required: id.

list_all_xero_credit_notes

List credit notes in Xero. Returns: CreditNoteID, CreditNoteNumber, Type, Status, Date, Contact, SubTotal, TotalTax, Total, CurrencyCode, RemainingCredit, UpdatedDateUTC.

get_single_xero_credit_note_by_id

Get a single Xero credit note by id. Returns: CreditNoteID, CreditNoteNumber, Type, Status, Date, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, RemainingCredit, UpdatedDateUTC. Required: id.

get_single_xero_purchase_order_by_id

Get a single Xero purchase order by id. Returns: PurchaseOrderID, PurchaseOrderNumber, Status, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, DateString, DeliveryDateString, UpdatedDateUTC, SentToContact, and HasAttachments. Required: id.

list_all_xero_invoices

List Xero sales invoices or purchase bills. Returns: InvoiceID, InvoiceNumber, Status, Type, Contact, Total, AmountDue, AmountPaid, CurrencyCode, LineItems, and UpdatedDateUTC. Supports filtering by IDs, InvoiceNumbers, ContactIDs, Statuses, or a free-form where clause.

get_single_xero_invoice_by_id

Get a specific Xero sales invoice or purchase bill by id. Returns the invoice object including InvoiceID, InvoiceNumber, Status, Type, Contact, LineItems, SubTotal, TotalTax, Total, AmountDue, AmountPaid, CurrencyCode, Attachments, and UpdatedDateUTC. Required: id.

create_a_xero_invoice

Create one or more Xero sales invoices or purchase bills. Returns the created invoice including InvoiceID, InvoiceNumber, Status, Type, Contact, LineItems, SubTotal, TotalTax, Total, AmountDue, AmountPaid, CurrencyCode, and UpdatedDateUTC.

update_a_xero_invoice_by_id

Update a specific Xero sales invoice or purchase bill by id. Returns the updated invoice including InvoiceID, InvoiceNumber, Status, Type, Contact, LineItems, SubTotal, TotalTax, Total, AmountDue, AmountPaid, CurrencyCode, and UpdatedDateUTC. Required: id.

delete_a_xero_invoice_by_id

Void a Xero invoice by id, setting its Status to VOIDED. Returns the voided invoice including InvoiceID, InvoiceNumber, Status, Type, Contact, Total, AmountDue, AmountPaid, CurrencyCode, and UpdatedDateUTC. Required: id.

xero_invoices_download

Download a Xero invoice as a PDF file from GET /Invoices/{id}/pdf. Returns binary PDF content (application/pdf). Required: invoice_id.

xero_invoices_list_history

Retrieve history records for a specific Xero invoice. Returns: Details, DateUTC, User, Changes. Required: id.

xero_invoices_update_history

Create a history note for a specific Xero invoice. Returns: Details, DateUTC, User, Changes. Required: id, HistoryRecords.

xero_invoices_bulk_update

Update multiple Xero invoices in a single batch request. Returns a list of updated invoice objects including InvoiceID, Type, Status, InvoiceNumber, Total, AmountDue, Contact. Required: Invoices.

list_all_xero_tax_rates

List tax rates configured in Xero. Returns: Name, TaxType, Status, DisplayTaxRate, EffectiveTaxRate, EffectiveTaxRate, ReportTaxType, and TaxComponents for each tax rate record.

list_all_xero_accounts

List the full chart of accounts in xero. Returns: AccountID, Code, Name, Type, TaxType, EnablePaymentsToAccount, BankAccountNumber, CurrencyCode, and Description. Optionally filter with `where` or sort with `order`.

get_single_xero_account_by_id

Get a single xero account by its AccountID. Returns: AccountID, Code, Name, Status, Type, TaxType, Description, Class, EnablePaymentsToAccount, ShowInExpenseClaims, ReportingCode, ReportingCodeName, UpdatedDateUTC. Required: id.

create_a_xero_account

Create a new xero account. Returns the full response envelope including Id, Status, ProviderName, DateTimeUTC, and an Accounts array containing the created account with AccountID, Code, Name, Status, Type, TaxType, and other account fields.

delete_a_xero_account_by_id

Delete a xero account by its AccountID. Returns the deleted account record including AccountID, Code, Name, Status, Type, TaxType, Description, Class, EnablePaymentsToAccount, ShowInExpenseClaims, ReportingCode, ReportingCodeName, and UpdatedDateUTC. Required: id.

xero_accounts_list_attachments

List attachments for a specific xero account by its AccountID. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.

list_all_xero_items

List all Xero inventory items. Returns: ItemID, Code, Name, Description, IsSold, IsPurchased, IsTrackedAsInventory, SalesDetails, PurchaseDetails, UpdatedDateUTC.

get_single_xero_item_by_id

Get a specific Xero inventory item by id. Returns: ItemID, Code, Name, Description, PurchaseDescription, IsTrackedAsInventory, InventoryAssetAccountCode, TotalCostPool, QuantityOnHand, IsSold, IsPurchased, SalesDetails, PurchaseDetails, UpdatedDateUTC. Required: id.

create_a_xero_item

Create one or more Xero inventory items. Returns: ItemID, Code, Name, Description, IsSold, IsPurchased, IsTrackedAsInventory, SalesDetails, PurchaseDetails, UpdatedDateUTC, ValidationErrors. Required: Items (each item must include Code).

update_a_xero_item_by_id

Update a specific Xero inventory item by id. Returns: ItemID, Code, Name, Description, IsSold, IsPurchased, IsTrackedAsInventory, SalesDetails, PurchaseDetails, UpdatedDateUTC, ValidationErrors. Required: id.

delete_a_xero_item_by_id

Delete a specific Xero inventory item by id. Returns an empty 204 response on success. Required: id.

xero_items_bulk_update

Create or update multiple items in Xero in a single request. Returns: ItemID, Code, Name, UpdatedDateUTC, PurchaseDetails, SalesDetails. Required: Items (each item object requires Code).

xero_items_list_history

Retrieve history records for a specific item in Xero. Returns: HistoryRecordID, Details, DateUTC, User, Changes. Required: id.

xero_items_update_history

Create a history record for a specific item in Xero. Returns: HistoryRecordID, Details, DateUTC, User, Changes. Required: id.

create_a_xero_attachment

Upload an attachment to a Xero entity via multipart file upload. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: entity, entity_id, file_name.

list_all_xero_attachments

List all attachments for a Xero entity. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: entity, entity_id.

get_single_xero_attachment_by_id

Download the raw binary content of a specific Xero entity attachment by attachment id. Returns the file as binary data (application/octet-stream). Required: entity, entity_id, id.

xero_attachments_bulk_update

Upload or replace an attachment on a Xero repeating invoice by filename. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: repeating_invoice_id, file_name.

create_a_xero_manual_journal

Create a manual journal in Xero. Returns the created journal including ManualJournalID, Narration, Date, Status, LineAmountTypes, JournalLines, and UpdatedDateUTC. Required: Narration, JournalLines.

get_single_xero_manual_journal_by_id

Get a single manual journal in Xero by id. Returns ManualJournalID, Narration, Date, Status, LineAmountTypes, JournalLines, HasAttachments, and UpdatedDateUTC. Required: id.

get_single_xero_journal_by_id

Get a specific Xero journal by id. Returns: JournalID, JournalDate, JournalNumber, CreatedDateUTC, Reference, SourceID, SourceType, and JournalLines with per-line NetAmount and TaxAmount details. Required: id.

list_all_xero_balance_sheet

List the Xero Balance Sheet report for a given date and period configuration. Returns: ReportID, ReportName, ReportType, ReportDate, UpdatedDateUTC, ReportTitles, and Rows containing hierarchical line-item data. All parameters are optional; omitting date defaults to the current date.

list_all_xero_currencies

List all currencies configured for a Xero organisation. Returns: Code, Description. Optionally filter results with where or sort with order.

create_a_xero_currency

Create a new currency for a Xero organisation. Returns: Code, Description. Required: Code.

list_all_xero_contact_groups

List all xero contact groups. Returns: ContactGroupID, Name, Status, Contacts, HasValidationErrors. Optionally filter results with `where` or sort with `order`.

get_single_xero_contact_group_by_id

Get a specific xero contact group by id, including its full list of member contacts. Returns: ContactGroupID, Name, Status, Contacts, HasValidationErrors. Required: id.

create_a_xero_contact_group

Create a new xero contact group. Returns: ContactGroupID, Name, Status, Contacts, HasValidationErrors. Required: ContactGroups (each entry requires Name).

update_a_xero_contact_group_by_id

Update a specific xero contact group by id. Returns: ContactGroupID, Name, Status, Contacts, HasValidationErrors. Required: id, ContactGroups (each entry requires Name).

delete_a_xero_contact_group_by_id

Delete a xero contact group by id by setting its status to DELETED. Returns the deleted group's ContactGroupID, Name, Status, Contacts, HasValidationErrors. Required: id.

xero_contact_groups_bulk_update

Bulk create or update multiple contact groups in Xero in a single PUT request. Returns: ContactGroupID, Name, Status, Contacts for each affected group. Required: ContactGroups array with at least one entry containing Name.

list_all_xero_repeating_invoices

List all repeating invoice templates in Xero. Returns: RepeatingInvoiceID, Type, Status, Schedule, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, HasAttachments, ApprovedForSending, MarkAsSent.

get_single_xero_repeating_invoice_by_id

Get a single repeating invoice template in Xero by id. Returns: RepeatingInvoiceID, Type, Status, Schedule, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, Attachments. Required: id.

create_a_xero_repeating_invoice

Create one or more repeating invoice templates in Xero. Returns: RepeatingInvoiceID, Type, Status, Schedule, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, ApprovedForSending, MarkAsSent. Required: RepeatingInvoices.

delete_a_xero_repeating_invoice_by_id

Delete a repeating invoice template in Xero by setting its status to DELETED. Returns: RepeatingInvoiceID, Type, Status, Schedule, Contact, LineItems, SubTotal, Total, CurrencyCode. Required: id.

xero_repeating_invoices_bulk_update

Bulk update one or more repeating invoice templates in Xero. Returns: RepeatingInvoiceID, Type, Status, Schedule, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, ApprovedForSending, MarkAsSent. Required: RepeatingInvoices.

xero_repeating_invoices_list_attachments

List all attachments for a specific xero repeating invoice. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.

xero_repeating_invoices_list_history

Retrieve history records for a specific xero repeating invoice. Returns: Details, Changes, User, DateUTC. Required: id.

xero_repeating_invoices_update_history

Create a history note on a specific xero repeating invoice. Returns: Details, Changes, User, DateUTC. Required: id, HistoryRecords.

get_single_xero_budget_by_id

Retrieve a specific Xero budget by id, including full budget lines and tracking category assignments. Returns: BudgetID, Type, Description, UpdatedDateUTC, BudgetLines (with BudgetBalances per period), and Tracking. Required: id.

list_all_xero_bank_transfers

List all bank transfers in Xero. Returns: BankTransferID, Amount, FromBankAccount, ToBankAccount, Date, Reference, FromIsReconciled, ToIsReconciled, FromBankTransactionID, ToBankTransactionID, HasAttachments. Supports filtering via where and result ordering via order.

get_single_xero_bank_transfer_by_id

Get a specific Xero bank transfer by id. Returns: BankTransferID, Amount, FromBankAccount, ToBankAccount, Date, Reference, CurrencyRate, FromIsReconciled, ToIsReconciled, HasAttachments, Attachments. Required: id.

create_a_xero_bank_transfer

Create a new bank transfer in Xero between two bank accounts. Returns: BankTransferID, Amount, FromBankAccount, ToBankAccount, Date, Reference, FromIsReconciled, ToIsReconciled, FromBankTransactionID, ToBankTransactionID, HasAttachments. Required: FromBankAccount, ToBankAccount, Amount.

xero_bank_transfers_list_attachments

List attachments for a specific Xero bank transfer. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.

xero_bank_transfers_list_history

Retrieve the history of changes for a specific Xero bank transfer. Returns: Changes, Details, DateUTCString, DateUTC, User. Required: id.

xero_bank_transfers_update_history

Create a history note on a specific Xero bank transfer. Returns the created history record including Details, Changes, DateUTC, User, and ValidationErrors. Required: id.

list_all_xero_branding_themes

List all branding themes configured in Xero. Returns BrandingThemeID, Name, SortOrder, Type, LogoUrl, and CreatedDateUTC for each theme.

get_single_xero_branding_theme_by_id

Get a single Xero branding theme by id. Returns BrandingThemeID, Name, LogoUrl, Type, SortOrder, and CreatedDateUTC. Required: id.

list_all_xero_payment_services

List payment services associated with a specific xero branding theme. Returns: PaymentServiceID, PaymentServiceName, PaymentServiceUrl. Required: branding_theme_id.

list_all_xero_linked_transactions

List all linked transactions in Xero. Returns: LinkedTransactionID, SourceTransactionID, SourceLineItemID, Status, Type, UpdatedDateUTC.

create_a_xero_linked_transaction

Create a new linked transaction in Xero. Returns: LinkedTransactionID, SourceTransactionID, SourceLineItemID, ContactID, TargetTransactionID, TargetLineItemID, Status, Type, UpdatedDateUTC.

update_a_xero_linked_transaction_by_id

Update an existing linked transaction in Xero by id. Returns: LinkedTransactionID, SourceTransactionID, SourceLineItemID, ContactID, TargetTransactionID, TargetLineItemID, Status, Type, UpdatedDateUTC. Required: id.

get_single_xero_overpayment_by_id

Get a specific xero overpayment by id. Returns: OverpaymentID, Type, Status, Reference, RemainingCredit, CurrencyRate, Contact, Allocations, Attachments, LineItems, SubTotal, TotalTax, Total, CurrencyCode, UpdatedDateUTC. Required: id.

xero_overpayments_list_history

Retrieve history records for a specific xero overpayment. Returns: HistoryRecordID, Details, DateUTC, Changes, User. Required: id.

xero_overpayments_bulk_update

Add history notes to a specific xero overpayment. Returns: HistoryRecordID, Details, DateUTC, Changes, User. Required: id, HistoryRecords.

list_all_xero_prepayments

List all Xero prepayments. Returns: PrepaymentID, Type, Status, Contact, Date, SubTotal, TotalTax, Total, RemainingCredit, CurrencyCode, and LineItems. Optionally filter by where clause or InvoiceNumbers.

get_single_xero_prepayment_by_id

Get a single Xero prepayment by id. Returns: PrepaymentID, Type, Status, Contact, LineItems, SubTotal, TotalTax, Total, RemainingCredit, Allocations, Attachments, and CurrencyCode. Required: id.

xero_prepayments_list_history

Retrieve history records for a specific Xero prepayment. Returns: Changes, DateUTC, Details, User, and ValidationErrors for each history entry. Required: id.

xero_prepayments_bulk_update

Create history notes for a specific Xero prepayment. Returns: Changes, DateUTC, Details, User, and ValidationErrors for each created history record. Required: id, HistoryRecords.

get_single_xero_quote_by_id

Get a single Xero quote by its QuoteID. Returns: QuoteID, QuoteNumber, Reference, Terms, Contact, LineItems, Status, SubTotal, TotalTax, Total, CurrencyCode, ExpiryDate, UpdatedDateUTC. Required: id.

xero_quotes_download

Download a Xero quote as a PDF file from GET /Quotes/{id}/pdf. Returns binary PDF content (application/pdf). Required: quote_id.

update_a_xero_quote_by_id

Update a specific Xero quote by its QuoteID. Returns: QuoteID, QuoteNumber, Status, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, UpdatedDateUTC, LineAmountTypes. Required: id.

xero_quotes_list_attachments

Retrieve all attachments for a specific Xero quote. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.

xero_quotes_list_history

Retrieve all history records for a specific Xero quote. Returns: Changes, DateUTC, User, Details. Required: id.

xero_quotes_update_history

Create a history record for a specific Xero quote. Returns the created HistoryRecord including Changes, DateUTC, User, and Details. Required: id, HistoryRecords.

create_a_xero_history_and_note

Create a history note on a Xero resource identified by its endpoint type and GUID. Returns the created history record including Details, Changes, User, and DateUTC. Required: endpoint_name, endpoint_guid.

list_all_xero_receipts

List draft expense claim receipts in Xero. Returns: ReceiptID, ReceiptNumber, Status, User, Contact, Date, UpdatedDateUTC, Reference, LineAmountTypes, LineItems, SubTotal, TotalTax, Total, HasAttachments.

get_single_xero_receipt_by_id

Get a specific draft expense claim receipt in Xero by id. Returns: ReceiptID, ReceiptNumber, Status, User, Contact, Date, UpdatedDateUTC, Reference, LineItems, SubTotal, TotalTax, Total, HasAttachments, Attachments. Required: id.

create_a_xero_receipt

Update a specific draft expense claim receipt in Xero by id. Returns: ReceiptID, ReceiptNumber, Status, User, Contact, Date, UpdatedDateUTC, Reference, LineItems, SubTotal, TotalTax, Total, HasAttachments. Required: id.

xero_receipts_bulk_update

Create or update multiple draft expense claim receipts in Xero in bulk. Returns: ReceiptID, ReceiptNumber, Status, User, Contact, Date, UpdatedDateUTC, Reference, LineItems, SubTotal, TotalTax, Total, HasAttachments.

xero_receipts_list_attachments

List attachments for a specific draft expense claim receipt in Xero. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.

xero_receipts_list_history

List history records for a specific receipt in Xero. Returns: Details, Changes, User, DateUTC, DateUTCString for each recorded event. Required: id.

xero_receipts_update_history

Create a history record for a specific receipt in Xero. Returns: Details, Changes, User, DateUTC, DateUTCString. Required: id and a HistoryRecords request body.

get_single_xero_expense_claim_by_id

Get a specific expense claim in Xero by id. Returns: ExpenseClaimID, Status, Total, AmountDue, AmountPaid, User, Receipts (with full LineItems detail), Payments, UpdatedDateUTC, ReportingDate. Required: id.

create_a_xero_expense_claim

Update a specific expense claim in Xero by id. Returns: ExpenseClaimID, Status, Total, AmountDue, AmountPaid, User, Receipts, Payments, UpdatedDateUTC, ReportingDate. Required: id, ExpenseClaims.

xero_expense_claims_bulk_update

Create or update multiple expense claims in Xero in bulk. Returns: ExpenseClaimID, Status, Total, AmountDue, AmountPaid, User, Receipts, Payments, UpdatedDateUTC, ReportingDate. Required: ExpenseClaims.

xero_expense_claims_list_history

Retrieve history records for a specific expense claim in Xero. Returns: HistoryRecordID, Details, Changes, User, DateUTC. Required: id.

list_all_xero_accounts_accounts

List Xero accounts. Returns: id, attributes.

get_single_xero_accounts_account_by_id

Get a single Xero account by id. Returns: id, attributes. Required: id.

create_a_xero_accounts_account

Create a Xero account. Returns the created account record. Returns: id, attributes. Required: id.

get_single_xero_attachments_account_by_id

Get a specific attachment for a xero account by id. Returns: id. Required: account_id, id.

create_a_xero_attachments_account

Upload a new attachment to a xero account via multipart form data. Returns: id. Required: account_id, file_name.

xero_attachments_accounts_bulk_update

Update an existing attachment on a xero account via multipart form data, identified by file name. Returns: id. Required: account_id, file_name.

get_single_xero_attachments_banktransaction_by_id

Get a specific attachment for a bank transaction in Xero by attachment id. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: bank_transaction_id, id.

xero_attachments_banktransactions_bulk_update

Replace an existing attachment on a bank transaction in Xero using a multipart request. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: bank_transaction_id, file_name.

get_single_xero_attachments_banktransfer_by_id

Download the file content of an attachment from a Xero bank transfer by attachment ID. Returns the raw file content as an opaque binary blob, not a structured JSON response. Required: bank_transfer_id, id.

create_a_xero_attachments_banktransfer

Upload a new attachment to a Xero bank transfer. Returns the created attachment object including AttachmentID, FileName, Url, MimeType, and ContentLength. Required: bank_transfer_id, file_name.

xero_attachments_banktransfers_bulk_update

Update (replace) an existing attachment on a Xero bank transfer by filename. Returns the updated attachment object including AttachmentID, FileName, Url, MimeType, and ContentLength. Required: bank_transfer_id, file_name.

get_single_xero_attachments_contact_by_id

Get a single attachment for a Xero contact by attachment id. Returns: AttachmentID, FileName. Required: contact_id, id.

create_a_xero_attachments_contact

Upload a new attachment to a Xero contact using multipart form data. Returns: AttachmentID, FileName. Required: contact_id, file_name.

get_single_xero_attachments_creditnote_by_id

Get a specific attachment on a Xero credit note by its identifier. Returns: AttachmentID, FileName, Url, MimeType, ContentLength, IncludeOnline. Required: credit_note_id, id.

xero_attachments_creditnotes_bulk_update

Update an existing attachment on a Xero credit note by uploading replacement file content via multipart. Returns: AttachmentID, FileName, Url, MimeType, ContentLength, IncludeOnline. Required: credit_note_id, file_name.

get_single_xero_attachments_invoice_by_id

Get a single attachment for a Xero invoice by attachment id. Returns: id, FileName. Required: invoice_id, id.

xero_attachments_invoices_bulk_update

Replace the content of an existing attachment on a Xero invoice. Returns: id, FileName. Required: invoice_id, file_name.

get_single_xero_attachments_manualjournal_by_id

Get a specific attachment for a Xero manual journal by attachment ID. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: manual_journal_id, id.

create_a_xero_attachments_manualjournal

Upload a new attachment to a Xero manual journal. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: manual_journal_id, file_name, file.

xero_attachments_manualjournals_bulk_update

Replace an existing attachment on a Xero manual journal with new file content. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: manual_journal_id, file_name, file.

get_single_xero_attachments_purchaseorder_by_id

Get an attachment for a Xero purchase order by attachment id, returning the raw binary file content. Required: purchase_order_id, id.

create_a_xero_attachments_purchaseorder

Upload a new attachment to a Xero purchase order. Returns: AttachmentID, FileName, Url, MimeType, ContentLength, IncludeOnline. Required: purchase_order_id, file_name.

xero_attachments_purchaseorders_bulk_update

Replace (update) an existing attachment on a Xero purchase order by file name. Returns: AttachmentID, FileName, Url, MimeType, ContentLength, IncludeOnline. Required: purchase_order_id, file_name.

get_single_xero_attachments_quote_by_id

Get a specific attachment on a Xero quote by attachment id. Returns: AttachmentID, FileName. Required: quote_id, id.

create_a_xero_attachments_quote

Upload a new attachment to a Xero quote using multipart file upload. Returns: AttachmentID, FileName. Required: quote_id, file_name.

get_single_xero_attachments_receipt_by_id

Get a specific attachment for a Xero receipt by attachment ID. Returns: AttachmentID, FileName, Url, MimeType, ContentLength, IncludeOnline. Required: receipt_id, id.

create_a_xero_attachments_receipt

Upload a new attachment to a Xero receipt via multipart file upload, using the file name in the path. Returns: AttachmentID, FileName, Url, MimeType, ContentLength, IncludeOnline. Required: receipt_id, file_name.

xero_attachments_receipts_bulk_update

Replace an existing attachment on a Xero receipt via multipart file upload, identified by file name. Returns: AttachmentID, FileName, Url, MimeType, ContentLength, IncludeOnline. Required: receipt_id, file_name.

get_single_xero_bank_transactions_banktransaction_by_id

Get a single Xero bank transaction by id. Returns the full transaction record including BankTransactionID, Type, Status, Contact, LineItems, BankAccount, IsReconciled, Date, Reference, CurrencyCode, SubTotal, TotalTax, Total, UpdatedDateUTC, and HasAttachments. Required: id.

list_all_xero_bank_transactions_banktransactions

List all Xero bank transactions. Returns an array of transaction records each including BankTransactionID, Type, Status, Contact, LineItems, BankAccount, IsReconciled, Date, Reference, CurrencyCode, SubTotal, TotalTax, Total, UpdatedDateUTC, and HasAttachments.

create_a_xero_bank_transactions_banktransaction

Create a new Xero bank transaction. Returns the created transaction record including BankTransactionID, Type, Status, Contact, LineItems, BankAccount, IsReconciled, Date, Reference, SubTotal, TotalTax, Total, and UpdatedDateUTC. Required: Type, Contact, LineItems, BankAccount.

list_all_xero_batch_payments

List batch payments in Xero, returning an array of batch payment objects. Returns: BatchPaymentID, Account, Reference, Status, TotalAmount, Type, Payments, UpdatedDateUTC, IsReconciled. Use `where` to filter by any element or `order` to sort results.

get_single_xero_batch_payment_by_id

Get a specific Xero batch payment by id. Returns: BatchPaymentID, Account, Reference, Status, TotalAmount, Type, Date, Payments, UpdatedDateUTC, IsReconciled. Required: id.

create_a_xero_batch_payment

Update the status of a batch payment in Xero (for example, marking it as DELETED). Returns: BatchPaymentID, Account, Status, TotalAmount, Type, Date, IsReconciled. Required: BatchPaymentID, Status.

update_a_xero_batch_payment_by_id

Update a specific Xero batch payment's status by id, for example setting it to DELETED. Returns: BatchPaymentID, Account, Status, TotalAmount, Type, Date, IsReconciled. Required: id, Status.

xero_batch_payments_bulk_update

Create one or many batch payments for invoices in Xero. Returns: BatchPaymentID, Account, Reference, Status, TotalAmount, Type, Date, Payments, UpdatedDateUTC, IsReconciled. Required: BatchPayments.

xero_batch_payments_list_history

Retrieve history records for a specific batch payment in Xero. Returns: Changes, User, Details, DateUTC, DateUTCString. Required: id.

xero_batch_payments_update_history

Create a history record for a specific batch payment in Xero. Returns: Details, DateUTC, DateUTCString, ValidationErrors. Required: id, HistoryRecords.

list_all_xero_bank_transfers_banktransfers

List all bank transfers in Xero. Returns: BankTransferID, Amount, Date, FromBankAccount, ToBankAccount, CurrencyRate, Reference, FromIsReconciled, ToIsReconciled, HasAttachments, and CreatedDateUTC.

get_single_xero_bank_transfers_banktransfer_by_id

Get a single Xero bank transfer by id. Returns: BankTransferID, Amount, Date, FromBankAccount, ToBankAccount, CurrencyRate, Reference, FromIsReconciled, ToIsReconciled, HasAttachments, and CreatedDateUTC. Required: id.

list_all_xero_branding_themes

List all branding themes in Xero. Returns: BrandingThemeID, Name, SortOrder, CreatedDateUTC.

list_all_xero_payment_services

List payment services associated with a specific Xero branding theme. Returns: PaymentServiceID, PaymentServiceName, PaymentServiceType, PaymentServiceUrl, PayNowText. Required: branding_theme_id.

create_a_xero_payment_service

Create a new custom payment service for a specific Xero branding theme. Returns: PaymentServiceID, PaymentServiceName, PaymentServiceType, PaymentServiceUrl, PayNowText. Required: branding_theme_id.

xero_payment_services_bulk_update

Bulk update payment services in Xero. Returns: PaymentServiceID, PaymentServiceName, PaymentServiceType, PaymentServiceUrl, PayNowText.

list_all_xero_payment_services_paymentservices

List all payment services configured in Xero. Returns: PaymentServiceID, PaymentServiceName, PaymentServiceUrl, PaymentServiceType, and PayNowText for each configured payment service.

list_all_xero_budgets_budgets

List all budgets in Xero. Returns: BudgetID, Type, Description, UpdatedDateUTC, BudgetLines, and Tracking details for each budget.

get_single_xero_budgets_budget_by_id

Get a single Xero budget by id. Returns: BudgetID, Type, Description, UpdatedDateUTC, BudgetLines, and Tracking details. Required: id.

list_all_xero_credit_notes

List credit notes in Xero. Returns: CreditNoteID, CreditNoteNumber, Type, Status, Contact, Date, SubTotal, TotalTax, Total, RemainingCredit, CurrencyCode, and UpdatedDateUTC. Optionally filter with where and sort with order.

get_single_xero_credit_note_by_id

Get a specific Xero credit note by id. Returns: CreditNoteID, CreditNoteNumber, Type, Status, Contact, LineItems, SubTotal, TotalTax, Total, Attachments, CurrencyCode, and UpdatedDateUTC. Required: id.

create_a_xero_credit_note

Create or update one or more credit notes in Xero. Returns: CreditNoteID, Type, Status, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, RemainingCredit, and UpdatedDateUTC.

update_a_xero_credit_note_by_id

Update a specific Xero credit note by id via POST. Returns: CreditNoteID, Type, Status, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, RemainingCredit, and UpdatedDateUTC. Required: id.

xero_credit_notes_bulk_update

Create new credit notes in bulk in Xero via PUT. Returns: CreditNoteID, Type, Status, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, RemainingCredit, and UpdatedDateUTC.

xero_credit_notes_list_attachments

List all attachments for a specific Xero credit note. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.

xero_credit_notes_list_history

Retrieve history records for a specific Xero credit note. Returns: Changes, DateUTCString, Details, User. Required: id.

xero_credit_notes_update_history

Add a history note to a specific Xero credit note. Returns: Changes, DateUTCString, Details, User. Required: id, HistoryRecords.

list_all_xero_contact_groups_contactgroups

List all contact groups in Xero. Returns a collection of contact group records; each record includes id.

get_single_xero_contact_groups_contactgroup_by_id

Get a single Xero contact group by id. Returns: id. Required: id.

create_a_xero_contact_groups_contactgroup

Create or update a Xero contact group identified by id. Returns: id. Required: id.

list_all_xero_contacts_contacts

List contacts in xero. Returns contact records including ContactID, Name, EmailAddress, ContactStatus, IsSupplier, IsCustomer, and UpdatedDateUTC.

update_a_xero_contacts_contact_by_id

Update an existing xero contact by id. Returns the updated contact including ContactID, Name, EmailAddress, ContactStatus, IsSupplier, IsCustomer, and UpdatedDateUTC. Required: id.

xero_contacts_contacts_bulk_update

Bulk upsert multiple contacts in xero in a single request. Returns the resulting contact records including ContactID, Name, EmailAddress, ContactStatus, IsSupplier, IsCustomer, and UpdatedDateUTC.

list_all_xero_cis_settings

List CIS settings for a specific contact in Xero. Returns: CISContractorEnabled, CISSubContractorEnabled, Rate. Required: contact_id.

list_all_xero_cis_settings_cissettings

List CIS (Construction Industry Scheme) settings for a Xero organisation. Returns: CISEnabled, IsContractor, IsSubcontractor. Required: organisation_id.

list_all_xero_pdfs

Download a Xero credit note as a PDF file. Returns binary PDF data (application/pdf) for the specified credit note. Required: credit_note_id.

delete_a_xero_allocation_by_id

Delete an allocation from a xero overpayment by id. Returns the soft-deleted allocation record including AllocationID, Date, Invoice, and IsDeleted (set to true). Required: overpayment_id, id.

xero_allocations_bulk_update

Create or update allocations for a xero overpayment in bulk. Returns the resulting allocation records including AllocationID, Date, Invoice, and IsDeleted. Required: overpayment_id.

delete_a_xero_allocations_creditnote_by_id

Delete a specific allocation from a xero credit note. Returns an empty 204 response on success. Required: credit_note_id, id.

xero_allocations_creditnotes_bulk_update

Bulk update allocations on a xero credit note by replacing the full allocation set via PUT. Returns updated allocation records including id. Required: credit_note_id.

delete_a_xero_allocations_prepayment_by_id

Delete a specific allocation from a prepayment in Xero. Returns an empty 204 response on success. Required: prepayment_id, id.

list_all_xero_currencies_currencies

List all currencies configured in the xero organisation. Returns: Code, Description.

list_all_xero_invoices_invoices

List invoices from Xero. Returns: InvoiceID, Type, Status, Contact, Total, AmountDue, AmountPaid, InvoiceNumber, CurrencyCode, LineItems, and UpdatedDateUTC.

get_single_xero_invoices_invoice_by_id

Get a single Xero invoice by id. Returns: InvoiceID, Type, Status, Contact, LineItems, SubTotal, TotalTax, Total, AmountDue, AmountPaid, InvoiceNumber, CurrencyCode, and UpdatedDateUTC. Required: id.

create_a_xero_invoices_invoice

Create a new invoice in Xero. Returns: InvoiceID, Type, Status, Contact, LineItems, SubTotal, TotalTax, Total, AmountDue, InvoiceNumber, and CurrencyCode. Required: Type, Contact, LineItems.

update_a_xero_invoices_invoice_by_id

Update an existing invoice in Xero by id. Returns: InvoiceID, Type, Status, Contact, LineItems, SubTotal, TotalTax, Total, AmountDue, InvoiceNumber, CurrencyCode, and UpdatedDateUTC. Required: id.

list_all_xero_online_invoices

List online invoice URLs for a Xero invoice. Returns: OnlineInvoiceUrl (the publicly accessible URL to view the invoice online). Required: invoice_id.

create_a_xero_email

Send a copy of a specific Xero invoice to the related contact via email. Returns an empty 204 response on success. Required: invoice_id.

list_all_xero_invoice_reminders_settings

List invoice reminder settings in Xero. Returns: Enabled (whether invoice reminders are switched on). No required parameters.

list_all_xero_items_items

List all inventory items in Xero. Returns: ItemID, Code, Name, Description, IsSold, IsPurchased, QuantityOnHand, UpdatedDateUTC, SalesDetails, and PurchaseDetails.

get_single_xero_items_item_by_id

Get a single Xero inventory item by id. Returns: ItemID, Code, Name, Description, IsSold, IsPurchased, QuantityOnHand, UpdatedDateUTC, SalesDetails, and PurchaseDetails. Required: id.

create_a_xero_items_item

Create a new inventory item in Xero. Returns: ItemID, Code, Name, Description, IsSold, IsPurchased, QuantityOnHand, UpdatedDateUTC, SalesDetails, and PurchaseDetails. Required: Code.

list_all_xero_journals_journals

List all journals in Xero. Returns journal records including JournalID, JournalDate, JournalNumber, CreatedDateUTC, Reference, SourceType, ShowOnCashBasisReports, and JournalLines.

get_single_xero_journals_journal_by_id

Get a single Xero journal by id. Returns: JournalID, JournalDate, JournalNumber, CreatedDateUTC, Reference, SourceType, ShowOnCashBasisReports, and JournalLines. Required: id.

list_all_xero_linked_transactions

List xero linked transactions (billable expenses) with optional filters. Returns: LinkedTransactionID, SourceTransactionID, SourceLineItemID, ContactID, TargetTransactionID, TargetLineItemID, Status, Type, UpdatedDateUTC, SourceTransactionTypeCode.

get_single_xero_linked_transaction_by_id

Get a specific xero linked transaction (billable expense) by id. Returns: LinkedTransactionID, SourceTransactionID, SourceLineItemID, ContactID, TargetTransactionID, TargetLineItemID, Status, Type, UpdatedDateUTC, SourceTransactionTypeCode. Required: id.

delete_a_xero_linked_transaction_by_id

Delete a specific xero linked transaction (billable expense) by id. Returns an empty 204 response on success. Required: id.

xero_linked_transactions_bulk_update

Create or update multiple xero linked transactions (billable expenses) in a single call. Returns: LinkedTransactionID, SourceTransactionID, SourceLineItemID, ContactID, TargetTransactionID, TargetLineItemID, Status, Type, UpdatedDateUTC, SourceTransactionTypeCode.

update_a_xero_linked_transaction_by_id

Update a specific xero linked transaction (billable expense) identified by id. Returns: LinkedTransactionID, SourceTransactionID, SourceLineItemID, ContactID, TargetTransactionID, TargetLineItemID, Status, Type, UpdatedDateUTC, SourceTransactionTypeCode. Required: id.

list_all_xero_manual_journals

List manual journals in Xero. Returns: ManualJournalID, Narration, Status, Date, UpdatedDateUTC, JournalLines, ShowOnCashBasisReports, HasAttachments. Use `where` to filter by any element and `order` to sort results.

update_a_xero_manual_journal_by_id

Update a specific manual journal in Xero by id. Returns: ManualJournalID, Narration, Status, Date, JournalLines, UpdatedDateUTC, ShowOnCashBasisReports, HasAttachments, Warnings, ValidationErrors. Required: id.

xero_manual_journals_bulk_update

Create or update one or more manual journals in Xero in a single request. Returns: ManualJournalID, Narration, Status, Date, JournalLines, ShowOnCashBasisReports, UpdatedDateUTC, Warnings, ValidationErrors. Required: Narration, JournalLines in each journal entry.

xero_manual_journals_list_attachments

List all attachments for a specific xero manual journal. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.

xero_manual_journals_list_history

Retrieve history records for a specific xero manual journal. Returns: Details, Changes, User, DateUTC. Required: id.

xero_manual_journals_update_history

Create a history record for a specific xero manual journal. Returns: Details, Changes, User, DateUTC. Required: id, HistoryRecords.

list_all_xero_organisations

List Xero organisations associated with the authenticated account. Returns: OrganisationID, Name, LegalName, BaseCurrency, CountryCode, OrganisationStatus, Edition, Class, PaysTax, OrganisationType, Timezone, CreatedDateUTC, and additional financial and address details.

list_all_xero_organisation_actions

List the key actions the connected Xero organisation permits the app to perform. Returns each action's Name and Status (e.g., ALLOWED).

list_all_xero_overpayments_overpayments

List all overpayments in Xero. Returns: OverpaymentID, Type, Status, Contact, Date, Total, SubTotal, TotalTax, RemainingCredit, CurrencyCode, UpdatedDateUTC, Allocations, Payments, HasAttachments.

get_single_xero_overpayments_overpayment_by_id

Get a single Xero overpayment by id. Returns: OverpaymentID, Type, Status, Contact, Date, Total, SubTotal, TotalTax, RemainingCredit, CurrencyCode, LineItems, Allocations, Payments, HasAttachments. Required: id.

list_all_xero_payments_payments

List all payments in Xero. Returns: PaymentID, Date, Amount, Status, Reference, CurrencyRate, PaymentType, Invoice, Account, IsReconciled, UpdatedDateUTC.

get_single_xero_payments_payment_by_id

Get a single Xero payment by id. Returns: PaymentID, Date, Amount, Status, Reference, CurrencyRate, PaymentType, Invoice, Account, IsReconciled, UpdatedDateUTC. Required: id.

create_a_xero_payments_payment

Create a payment in Xero against an invoice or credit note. Returns: PaymentID, Date, Amount, Status, Reference, Invoice, Account, IsReconciled, UpdatedDateUTC. Required: Invoice, Account, Date, Amount.

get_single_xero_prepayments_prepayment_by_id

Get a single xero prepayment by id. Returns: PrepaymentID, Type, Contact, Date, Status, SubTotal, TotalTax, Total, CurrencyCode, RemainingCredit, HasAttachments, UpdatedDateUTC, LineItems, Allocations, Reference. Required: id.

list_all_xero_purchase_orders

List xero purchase orders, optionally filtering by status or date range. Returns: PurchaseOrderID, PurchaseOrderNumber, Status, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, UpdatedDateUTC, HasAttachments.

get_single_xero_purchase_order_by_id

Get a single xero purchase order by id. Returns: PurchaseOrderID, PurchaseOrderNumber, Status, Contact, LineItems, SubTotal, TotalTax, Total, DeliveryDate, DeliveryAddress, Reference, BrandingThemeID, HasAttachments, Attachments. Required: id.

update_a_xero_purchase_order_by_id

Update a specific xero purchase order by id. Returns: PurchaseOrderID, PurchaseOrderNumber, Status, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, UpdatedDateUTC, ValidationErrors. Required: id.

xero_purchase_orders_bulk_update

Create one or more xero purchase orders in bulk using PUT. Returns: PurchaseOrderID, PurchaseOrderNumber, Status, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, UpdatedDateUTC, ValidationErrors. Required: PurchaseOrders array, each item containing Contact with ContactID.

xero_purchase_orders_list_attachments

List attachments for a specific Xero purchase order. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.

xero_purchase_orders_list_history

List history records for a specific Xero purchase order. Returns: Changes, DateUTC, Details, User, ValidationErrors. Required: id.

xero_purchase_orders_update_history

Create a history note on a specific Xero purchase order. Returns: Changes, DateUTC, Details, User, ValidationErrors. Required: id.

xero_purchase_orders_download

Download a Xero purchase order as a PDF file from GET /PurchaseOrders/{id}/pdf. Returns binary PDF content (application/pdf). Required: purchase_order_id.

list_all_xero_quotes_quotes

List quotes in Xero. Returns: QuoteID, QuoteNumber, Status, Contact, Date, ExpiryDate, SubTotal, TotalTax, Total, CurrencyCode, LineItems, and UpdatedDateUTC. Optionally filter by ContactID, Status, date ranges, or QuoteNumber.

get_single_xero_quotes_quote_by_id

Get a single Xero quote by id. Returns: QuoteID, QuoteNumber, Status, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, Date, ExpiryDate, and UpdatedDateUTC. Required: id.

create_a_xero_quotes_quote

Create a new quote in Xero. Returns: QuoteID, QuoteNumber, Status, Contact, LineItems, SubTotal, TotalTax, Total, CurrencyCode, Date, ExpiryDate, and UpdatedDateUTC. Required: Contact, LineItems.

list_all_xero_receipts_receipts

List receipts from the Xero Accounting API. Returns receipt objects comprising id and attributes; the attributes object contains receipt-specific fields defined by the Xero accounting schema — consult Xero's official Receipts documentation for the full field-level breakdown.

get_single_xero_repeating_invoices_repeatinginvoice_by_id

Get a single Xero repeating invoice by id. Returns the full repeating invoice record including RepeatingInvoiceID, Type, Contact, Schedule, LineItems, Status, SubTotal, TotalTax, and Total. Required: id.

list_all_xero_reports_ten_ninety_nines

List 1099 reports from Xero. Returns: ReportName, ReportDate, Fields, and Contacts (including Box1–Box14 amounts, Name, TaxID, ContactId, LegalName, BusinessName, FederalTaxIDType, and FederalTaxClassification). Optionally filter by reportYear.

list_all_xero_reports_aged_payables_by_contacts

Retrieve the Aged Payables by Contact report in xero for a specific contact. Returns: ReportName, ReportType, ReportDate, ReportTitles, UpdatedDateUTC, Fields, and Rows containing invoice line data grouped by date section. Required: contact_id.

list_all_xero_reports_aged_receivables_by_contacts

Retrieve the Aged Receivables By Contact report from Xero for a specific contact. Returns: ReportName, ReportType, ReportDate, UpdatedDateUTC, ReportTitles, Fields, and Rows containing invoice transaction data (dates, amounts, paid, credited, and due balances). Required: contact_id.

list_all_xero_reports_budget_summaries

List Xero budget summary reports comparing budget data across periods. Returns: ReportName, ReportType, ReportTitles, ReportDate, UpdatedDateUTC, Fields, and Rows containing period-by-period budget values (gross profit, total expenses, net profit). All filter parameters are optional.

list_all_xero_reports_executive_summaries

List xero Executive Summary reports for a given date. Returns: ReportName, ReportType, ReportTitles, ReportDate, UpdatedDateUTC, Fields, and Rows containing sectioned financial data (Cash, Profitability, Balance Sheet, Income, Performance, Position).

list_all_xero_reports_profit_and_loses

Retrieve the Profit and Loss report from Xero. Returns: ReportID, ReportName, ReportType, ReportDate, UpdatedDateUTC, ReportTitles, and Rows. All parameters are optional; filter by date range, periods, timeframe, or tracking category and option IDs.

list_all_xero_reports_trial_balances

Retrieve the Trial Balance report from Xero. Returns: ReportName, ReportType, ReportDate, ReportTitles, UpdatedDateUTC, Fields, and Rows containing sectioned account debit/credit data. No parameters are required; optionally filter by date or restrict to cash-only basis using paymentsOnly.

create_a_xero_setup

Set the chart of accounts, conversion date, and conversion balances for a Xero organisation. Returns: Id, Status, ProviderName, DateTimeUTC, and ImportSummary containing account-level counts (Total, New, Updated, Deleted, Errored, NewOrUpdated) and an Organisation presence indicator.

list_all_xero_tax_rates

List tax rates in Xero, with optional filtering and ordering. Returns: Name, TaxType, ReportTaxType, Status, DisplayTaxRate, EffectiveRate, and TaxComponents per rate.

create_a_xero_tax_rate

Create tax rates in Xero. Returns: Name, TaxType, ReportTaxType, Status, DisplayTaxRate, EffectiveRate, and TaxComponents for each created rate. Required: TaxRates.

xero_tax_rates_bulk_update

Bulk update tax rates in Xero. Returns: Name, TaxType, ReportTaxType, Status, DisplayTaxRate, EffectiveRate, and TaxComponents for each updated rate. Required: TaxRates.

list_all_xero_tax_rates_taxrates

List Xero tax rates filtered by tax type. Returns: Name, TaxType, Status, DisplayTaxRate, EffectiveRate, TaxComponents, CanApplyToAssets, CanApplyToExpenses, CanApplyToRevenue. Required: tax_type.

xero_options_bulk_update

Create one or more tracking options for a tracking category (PUT /TrackingCategories/{id}/Options). Returns: TrackingOptionID, Name, Status, HasValidationErrors, IsDeleted, IsArchived, and IsActive for each option. Required: tracking_category_id.

update_a_xero_option_by_id

Update a specific tracking option for a tracking category (POST /TrackingCategories/{id}/Options/{optionId}). Returns: TrackingOptionID, Name, Status, HasValidationErrors, IsDeleted, IsArchived, and IsActive. Required: tracking_category_id, id.

list_all_xero_reports_reports

List available reports in Xero. Returns a collection of report objects; the fields of each report object are specific to the report type — consult the Xero API documentation for a full field-level breakdown. No required parameters.

get_single_xero_tracking_categories_trackingcategory_by_id

Get a single Xero tracking category by id. Returns: TrackingCategoryID, Name, Status, and Options. Required: id.

create_a_xero_tracking_categories_trackingcategory

Create or update a tracking category in Xero. Returns: TrackingCategoryID, Name, Status, and Options for the resulting record. Required: id.

delete_a_xero_tracking_categories_trackingcategory_by_id

Delete a Xero tracking category by id. Returns an empty 204 response on success. Required: id.

list_all_xero_users_users

List all users in the Xero organization. Returns: UserID, EmailAddress, FirstName, LastName, IsSubscriber, OrganisationRole, UpdatedDateUTC.

get_single_xero_users_user_by_id

Get a single Xero user by id. Returns: UserID, EmailAddress, FirstName, LastName, IsSubscriber, OrganisationRole, UpdatedDateUTC. Required: id.

How it works

From Xero account to governed MCP endpoint

Connect

Link a Xero account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Xero tools are exposed, rename them, or freeze arguments.

Mint

Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.

Give every teammate a governed MCP server

Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.