# Xero MCP connector

The Xero connector lets Claude, ChatGPT, Cursor and the Elaichi Agent read and update your Xero contacts, payments, bank transactions and tracking categories, with each person signed in as themselves and every action recorded in an audit log.

Source: https://elaichi.ai/connectors/xero/

## Facts

| | |
| --- | --- |
| Application | Xero |
| Category | Accounting |
| AI tools | 250 |
| Authentication | Connects over OAuth |
| Needs your own OAuth app | Yes |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 250 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Xero is connected

- List Xero contacts with invoices overdue more than 30 days.
- Total payments received this month by tracking category.
- Create a Xero contact for Northwind Supplies with billing email.

## Connect Xero in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Xero.
2. Optionally set Share with, then press Connect.
3. Supply your own Xero app, then approve. Xero needs an OAuth app you register yourself, so bring its client ID and secret. One person does this once for the organization.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Xero tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Xero to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Xero to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Xero to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Xero to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Xero tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Xero through Elaichi

### Find every payment from one customer

Finance. Ask for all payments recorded against a customer in Xero this quarter and get the list with dates and amounts, without opening the payments screen and filtering by hand.

### Record a payment the moment it arrives

Accounts receivable. When a customer confirms a transfer, tell the agent the contact, amount and date and it creates the payment in Xero on the spot.

### Check what hit the bank this week

Bookkeeping. Pull the week's bank transactions out of Xero, see which ones have attachments, and spot anything that still needs a receipt.

### Add a new customer before the first bill

Sales. After a deal closes, hand over the company name, billing email and address and the contact is created in Xero ready for invoicing.

### Clean up duplicate or stale contacts

Operations. Find contacts in Xero with old addresses or duplicate names and update or remove them in bulk, with the history of each change kept.

### See spend by department or project

Leadership. List the tracking categories set up in Xero and ask how payments break down across them, then rename or retire a category when a team changes.

## Frequently asked questions

### How do I connect Xero to Claude?

Connect Xero in Elaichi first, then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Xero asks you to sign in with your own Xero login and pick the organization to allow, but before that somebody on your team registers an OAuth application inside Xero once and brings its client ID and secret into Elaichi. That is a one-time step for the company; everyone after that just signs in to Xero as themselves.

### Does Xero work with ChatGPT and Cursor as well as Claude?

Yes. Once Xero is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Xero once and every client gets it.

### What can an AI agent actually do with my Xero data?

With Xero connected, an agent can look up and create contacts, record and update payments, list bank transactions and their attachments, and manage the tracking categories you use for departments or projects. It can also show the change history on a contact, payment or bank transaction. Xero has a lot of actions available, so short concrete asks like "payments from Acme in March" work better than long paragraphs.

### Does connecting Xero give the AI access to my whole organization?

No. Access to Xero follows the person who signed in, so an agent sees only the Xero organization and records that person could already open themselves. Elaichi can narrow that further, for example to reading only, but it can never grant more than the person's own Xero permissions allow.

### Can my team share one Xero connection?

Yes. One person connects Xero in Elaichi and shares the connection with a team, and nobody else ever handles the client ID, secret or a Xero login. Each teammate still signs in to Elaichi as themselves, so the audit log records who recorded a payment or changed a contact in Xero.

### Can I stop an agent from deleting or changing things in Xero?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Xero contacts and payments while blocking deletion, bulk changes or creating payments. A blocked action is never shown to Claude, ChatGPT or any other client, so no prompt, however worded, can reach it.

### What happens to a Xero connection when someone leaves?

When you offboard a person in Elaichi, their access to Xero through every AI client ends at once. If they had shared a Xero connection with a team, it keeps working for everyone else. If you ever want to remove Xero entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 250 Xero tools

Every tool below is callable through https://api.elaichi.ai/mcp once Xero is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Xero contacts** (List). 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). 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). 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). 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). 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). Delete all contacts from a specific Xero contact group. Returns an empty 204 response on success. Required: contact_group_id.
- **Xero contacts bulk update** (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). List attachments for a specific Xero contact. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.
- **Xero contacts update history** (Update). 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). 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). 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). 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). 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** (Get). 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). 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). 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). List history records for a specific xero payment by id. Returns: Details, DateUTC, User, Changes. Required: id.
- **Xero payments update history** (Update). 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). 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). 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). 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). List attachments for a specific Xero bank transaction by id. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.
- **Xero bank transactions list history** (List). List history records for a specific Xero bank transaction by id. Returns: Changes, DateUTCString, DateUTC, User, Details. Required: id.
- **Xero bank transactions update history** (Update). 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). 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** (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). 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). Get a specific xero user by UserID. Returns: UserID, EmailAddress, FirstName, LastName, UpdatedDateUTC, IsSubscriber, OrganisationRole. Required: id.
- **List all Xero credit notes** (List). 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). 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). 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). 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). 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). 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). 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** (Delete). 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). 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** (List). Retrieve history records for a specific Xero invoice. Returns: Details, DateUTC, User, Changes. Required: id.
- **Xero invoices update history** (Update). Create a history note for a specific Xero invoice. Returns: Details, DateUTC, User, Changes. Required: id, HistoryRecords.
- **Xero invoices bulk update** (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). 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). 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). 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). 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). 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). List attachments for a specific xero account by its AccountID. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.
- **List all Xero items** (List). List all Xero inventory items. Returns: ItemID, Code, Name, Description, IsSold, IsPurchased, IsTrackedAsInventory, SalesDetails, PurchaseDetails, UpdatedDateUTC.
- **Get single Xero item by ID** (Get). 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). 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). 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). Delete a specific Xero inventory item by id. Returns an empty 204 response on success. Required: id.
- **Xero items bulk update** (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** (List). Retrieve history records for a specific item in Xero. Returns: HistoryRecordID, Details, DateUTC, User, Changes. Required: id.
- **Xero items update history** (Update). Create a history record for a specific item in Xero. Returns: HistoryRecordID, Details, DateUTC, User, Changes. Required: id.
- **Create a Xero attachment** (Create). 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). List all attachments for a Xero entity. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: entity, entity_id.
- **Get single Xero attachment by ID** (Get). 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** (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). 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). 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). 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). 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). 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). Create a new currency for a Xero organisation. Returns: Code, Description. Required: Code.
- **List all Xero contact groups** (List). 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). 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). 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). 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). 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** (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). 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). 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). 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). 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** (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). List all attachments for a specific xero repeating invoice. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.
- **Xero repeating invoices list history** (List). Retrieve history records for a specific xero repeating invoice. Returns: Details, Changes, User, DateUTC. Required: id.
- **Xero repeating invoices update history** (Update). Create a history note on a specific xero repeating invoice. Returns: Details, Changes, User, DateUTC. Required: id, HistoryRecords.
- **Get single Xero budget by ID** (Get). 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). 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). 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). 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). List attachments for a specific Xero bank transfer. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.
- **Xero bank transfers list history** (List). Retrieve the history of changes for a specific Xero bank transfer. Returns: Changes, Details, DateUTCString, DateUTC, User. Required: id.
- **Xero bank transfers update history** (Update). 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). 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). Get a single Xero branding theme by id. Returns BrandingThemeID, Name, LogoUrl, Type, SortOrder, and CreatedDateUTC. Required: id.
- **List all Xero payment services** (List). List payment services associated with a specific xero branding theme. Returns: PaymentServiceID, PaymentServiceName, PaymentServiceUrl. Required: branding_theme_id.
- **List all Xero linked transactions** (List). List all linked transactions in Xero. Returns: LinkedTransactionID, SourceTransactionID, SourceLineItemID, Status, Type, UpdatedDateUTC.
- **Create a Xero linked transaction** (Create). 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). 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). 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** (List). Retrieve history records for a specific xero overpayment. Returns: HistoryRecordID, Details, DateUTC, Changes, User. Required: id.
- **Xero overpayments bulk update** (Update). Add history notes to a specific xero overpayment. Returns: HistoryRecordID, Details, DateUTC, Changes, User. Required: id, HistoryRecords.
- **List all Xero prepayments** (List). 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). 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** (List). 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** (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). 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). 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). 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** (List). Retrieve all attachments for a specific Xero quote. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.
- **Xero quotes list history** (List). Retrieve all history records for a specific Xero quote. Returns: Changes, DateUTC, User, Details. Required: id.
- **Xero quotes update history** (Update). 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). 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). 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). 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** (Create). 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** (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). List attachments for a specific draft expense claim receipt in Xero. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.
- **Xero receipts list history** (List). 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** (Update). 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). 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** (Create). 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** (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** (List). Retrieve history records for a specific expense claim in Xero. Returns: HistoryRecordID, Details, Changes, User, DateUTC. Required: id.
- **List all Xero accounts accounts** (List). List Xero accounts. Returns: id, attributes.
- **Get single Xero accounts account by ID** (Get). Get a single Xero account by id. Returns: id, attributes. Required: id.
- **Create a Xero accounts account** (Create). Create a Xero account. Returns the created account record. Returns: id, attributes. Required: id.
- **Get single Xero attachments account by ID** (Get). Get a specific attachment for a xero account by id. Returns: id. Required: account_id, id.
- **Create a Xero attachments account** (Create). 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). 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). 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** (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** (Get). 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** (Create). 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). 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). Get a single attachment for a Xero contact by attachment id. Returns: AttachmentID, FileName. Required: contact_id, id.
- **Create a Xero attachments contact** (Create). 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). 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). 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). Get a single attachment for a Xero invoice by attachment id. Returns: id, FileName. Required: invoice_id, id.
- **Xero attachments invoices bulk update** (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). 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** (Create). 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** (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). 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** (Create). 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** (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). Get a specific attachment on a Xero quote by attachment id. Returns: AttachmentID, FileName. Required: quote_id, id.
- **Create a Xero attachments quote** (Create). 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). 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** (Create). 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** (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). 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). 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). 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). 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). 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** (Create). 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). 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** (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** (List). Retrieve history records for a specific batch payment in Xero. Returns: Changes, User, Details, DateUTC, DateUTCString. Required: id.
- **Xero batch payments update history** (Update). 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). 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). 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). List all branding themes in Xero. Returns: BrandingThemeID, Name, SortOrder, CreatedDateUTC.
- **List all Xero payment services** (List). 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). 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** (Update). Bulk update payment services in Xero. Returns: PaymentServiceID, PaymentServiceName, PaymentServiceType, PaymentServiceUrl, PayNowText.
- **List all Xero payment services paymentservices** (List). 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). 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). Get a single Xero budget by id. Returns: BudgetID, Type, Description, UpdatedDateUTC, BudgetLines, and Tracking details. Required: id.
- **List all Xero credit notes** (List). 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). 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). 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). 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** (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). List all attachments for a specific Xero credit note. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.
- **Xero credit notes list history** (List). Retrieve history records for a specific Xero credit note. Returns: Changes, DateUTCString, Details, User. Required: id.
- **Xero credit notes update history** (Update). 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). 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). Get a single Xero contact group by id. Returns: id. Required: id.
- **Create a Xero contact groups contactgroup** (Create). Create or update a Xero contact group identified by id. Returns: id. Required: id.
- **List all Xero contacts contacts** (List). List contacts in xero. Returns contact records including ContactID, Name, EmailAddress, ContactStatus, IsSupplier, IsCustomer, and UpdatedDateUTC.
- **Update a Xero contacts contact by ID** (Update). 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** (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). List CIS settings for a specific contact in Xero. Returns: CISContractorEnabled, CISSubContractorEnabled, Rate. Required: contact_id.
- **List all Xero cis settings cissettings** (List). List CIS (Construction Industry Scheme) settings for a Xero organisation. Returns: CISEnabled, IsContractor, IsSubcontractor. Required: organisation_id.
- **List all Xero pdfs** (List). 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). 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** (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). 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** (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). 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). List all currencies configured in the xero organisation. Returns: Code, Description.
- **List all Xero invoices invoices** (List). 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). 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). 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). 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). 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** (Create). 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). List invoice reminder settings in Xero. Returns: Enabled (whether invoice reminders are switched on). No required parameters.
- **List all Xero items items** (List). 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). 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). 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). 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). 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). 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). 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). Delete a specific xero linked transaction (billable expense) by id. Returns an empty 204 response on success. Required: id.
- **Xero linked transactions bulk update** (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). 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). 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). 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** (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). List all attachments for a specific xero manual journal. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.
- **Xero manual journals list history** (List). Retrieve history records for a specific xero manual journal. Returns: Details, Changes, User, DateUTC. Required: id.
- **Xero manual journals update history** (Update). Create a history record for a specific xero manual journal. Returns: Details, Changes, User, DateUTC. Required: id, HistoryRecords.
- **List all Xero organisations** (List). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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** (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). List attachments for a specific Xero purchase order. Returns: AttachmentID, FileName, Url, MimeType, ContentLength. Required: id.
- **Xero purchase orders list history** (List). List history records for a specific Xero purchase order. Returns: Changes, DateUTC, Details, User, ValidationErrors. Required: id.
- **Xero purchase orders update history** (Update). Create a history note on a specific Xero purchase order. Returns: Changes, DateUTC, Details, User, ValidationErrors. Required: id.
- **Xero purchase orders download** (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). 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). 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). 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). 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). 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). 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** (List). 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** (List). 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). 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). 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** (List). 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** (List). 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** (Create). 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). 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). 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** (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). 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** (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). 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). 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). Get a single Xero tracking category by id. Returns: TrackingCategoryID, Name, Status, and Options. Required: id.
- **Create a Xero tracking categories trackingcategory** (Create). 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). Delete a Xero tracking category by id. Returns an empty 204 response on success. Required: id.
- **List all Xero users users** (List). List all users in the Xero organization. Returns: UserID, EmailAddress, FirstName, LastName, IsSubscriber, OrganisationRole, UpdatedDateUTC.
- **Get single Xero users user by ID** (Get). Get a single Xero user by id. Returns: UserID, EmailAddress, FirstName, LastName, IsSubscriber, OrganisationRole, UpdatedDateUTC. Required: id.
