Integration · Accounting
Connect Claude & ChatGPT to Xero
Ask your AI which invoices are unpaid, what a customer owes or how the last quarter's profit and loss looked, and it reads the answer from Xero. It can create contacts, items, quotes, invoices, bills and credit notes, record payments in the books and email approved invoices to customers.
Free plan, no credit card. Takes about a minute.
Try asking
“Which sales invoices are still unpaid?”
The AI searches sales invoices with an amount due and lists them with contact, due date and the amount outstanding.
“How much does Harbour Coffee owe us, and how overdue is it?”
It finds the contact and reads the aged receivables report for that customer.
“Draft an invoice to Harbour Coffee for 20 hours of design work at 750 an hour.”
It looks up the contact and the right sales account, then creates a draft invoice with one line. It stays a draft until you approve it.
What your AI can do
Invoices, bills and payments
Search, create and update sales invoices and bills, record payments, add credit notes, and email approved invoices or get their online payment link.
Contacts, items and quotes
Search, create and update customers and suppliers, manage the products and services you sell, and create and read quotes.
Reports and accounts
Read the Profit and Loss, Balance Sheet and aged receivables reports, the chart of accounts, tax rates and bank transactions.
“Show me profit and loss for the last three months, month by month.”
It pulls the Profit and Loss report with one column per month.
“Invoice INV-0412 was paid into the business account on 3 March.”
It records the payment against the invoice so it shows as paid. This updates the books only; no money moves.
“Email invoice INV-0415 to the customer.”
It sends the approved invoice through Xero to the contact's email address. The customer gets it right away.
213 tools for Xero
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
create_branding_theme_paymentChanges dataCreate a new payment for a branding theme. Required: xero tenant id. API summary: Creates a new custom payment service for a specific branding theme.create_contactChanges dataCreate (or update, if a ContactID is given) contacts: pass `contacts` as a list with Name and optionally EmailAddress, Phones, Addresses, TaxNumber. Search first to avoid duplicates.create_credit_noteChanges dataCreate credit notes: pass `credit_notes` as a list with Type (ACCRECCREDIT for customers, ACCPAYCREDIT for suppliers), Contact, Date and LineItems.create_invoiceChanges dataCreate invoices or bills: pass `invoices` as a list with Type (ACCREC = sales invoice, ACCPAY = bill), Contact {ContactID}, Date, DueDate, LineItems (Description, Quantity, UnitAmount, AccountCode) and Status (DRAFT or AUTHORISED).create_invoice_update_or_create_repeating_invoicesChanges dataCreate a new invoice. Required: xero tenant id. Search invoices first to avoid duplicates. API summary: Creates or deletes one or more repeating invoice templates.create_itemChanges dataCreate items: pass `items` as a list with Code, Name and optionally Description, SalesDetails {UnitPrice, AccountCode}, PurchaseDetails.create_manual_journalChanges dataCreate a new manual journal. Required: xero tenant id. API summary: Updates or creates a single manual journal.create_orderChanges dataCreate a new order. Required: xero tenant id. API summary: Updates or creates one or more purchase orders.create_paymentChanges dataCreate a new payment. Required: xero tenant id. API summary: Updates or creates one or more spent or received money transaction.create_quoteChanges dataCreate quotes: pass `quotes` as a list with Contact {ContactID}, Date, LineItems and optionally ExpiryDate, Title, Summary.create_setupChanges dataCreate a new setup. Required: xero tenant id. API summary: Sets the chart of accounts, the conversion date and conversion balances.create_tax_rateChanges dataCreate a new tax rate. Required: xero tenant id. API summary: Updates tax rates.create_tracking_categoriesChanges dataGet the current status of a category. API summary: Create tracking categories.delete_accountDeletesPermanently delete a account by account id. Destructive action; may require approval. API summary: Deletes a chart of accounts.delete_bank_transferMoves moneyPermanently delete a bank transfer by bank transfer id. Financial or irreversible action; may require approval. API summary: Deletes a specific bank transfer.delete_bank_transfersDeletesPermanently delete a bank transfer. Destructive action; may require approval. API summary: Deletes one or more bank transfers.delete_categoryDeletesPermanently delete a category by category id. Destructive action; may require approval. API summary: Deletes a specific tracking category.delete_category_optionDeletesPermanently delete a option by tracking option id. Destructive action; may require approval. API summary: Deletes a specific option for a specific tracking category.delete_contactDeletesPermanently delete a contact by contact id. Destructive action; may require approval. API summary: Deletes a specific contact from a contact group using a unique contact Id.delete_contactsMoves moneyPermanently delete a contact by contact group id. Financial or irreversible action; may require approval. API summary: Deletes all contacts from a specific contact group.delete_credit_note_allocationDeletesPermanently delete a allocation by allocation id. Destructive action; may require approval. API summary: Deletes an Allocation from a Credit Note.delete_overpayment_allocationDeletesPermanently delete a allocation by allocation id. Destructive action; may require approval. API summary: Deletes an Allocation from an overpayment.delete_paymentMoves moneyPermanently delete a payment by payment id. Financial or irreversible action; may require approval. API summary: Updates a specific batch payment for invoices and credit notes.delete_payment_delete_linked_transactionDeletesPermanently delete a payment by payment id. Destructive action; may require approval. API summary: Deletes a specific linked transactions (billable expenses).delete_payment_delete_paymentDeletesPermanently delete a payment by payment id. Destructive action; may require approval. API summary: Updates a specific payment for invoices and credit notes.delete_paymentsMoves moneyPermanently delete a payment. Financial or irreversible action; may require approval. API summary: Updates a specific batch payment for invoices and credit notes.delete_prepayment_allocationDeletesPermanently delete a allocation by allocation id. Destructive action; may require approval. API summary: Deletes an Allocation from a Prepayment.delete_productDeletesPermanently delete a product by product id. Destructive action; may require approval. API summary: Deletes a specific item.download_credit_note_pdfDownload the pdf document for a credit note. API summary: Retrieves credit notes as PDF files.download_invoice_pdfDownload the pdf document for a invoice. API summary: Retrieves invoices or purchase bills as PDF files.download_order_pdfDownload the pdf document for a order. API summary: Retrieves specific purchase order as PDF files using a unique purchase order Id.download_quote_pdfDownload the pdf document for a quote. API summary: Retrieves a specific quote as a PDF file using a unique quote Id.email_invoiceVisible to othersEmail an approved sales invoice (status AUTHORISED) to the contact's email address through Xero, by `invoice_id`. The customer receives it immediately.get_accountGet one account by account id. API summary: Retrieves a single chart of accounts by using a unique account Id.get_account_documentGet one document for a account by document id. API summary: Retrieves a specific attachment from a specific account using a unique attachment Id.get_account_document_get_account_attachment_by_file_nameGet one document for a account by file name. API summary: Retrieves an attachment for a specific account by filename.get_aged_receivablesGet the aged receivables report for one customer by `contact_id`, showing what they owe and how overdue it is, as of `date`.get_balance_sheetGet the Balance Sheet report as of `date` (YYYY-MM-DD), optionally compared over several `periods` with `timeframe` MONTH, QUARTER or YEAR.get_bank_transferGet one bank transfer by bank transfer id. API summary: Retrieves specific bank transfers by using a unique bank transfer Id.get_bank_transfer_documentGet one document for a bank transfer by document id. API summary: Retrieves a specific attachment from a specific bank transfer using a unique attachment ID.get_bank_transfer_document_get_bank_transfer_attachment_by_file_Get one document for a bank transfer by file name. API summary: Retrieves a specific attachment on a specific bank transfer by file name.get_branding_themeGet one branding theme by branding theme id. API summary: Retrieves a specific branding theme using a unique branding theme Id.get_budgetGet one budget by budget id. API summary: Retrieves a specific budget, which includes budget lines.get_categoryGet one category by category id. API summary: Retrieves specific tracking categories and options using a unique tracking category Id.get_category_statusGet the current status of a category. API summary: Retrieves tracking categories and options.get_contactGet one contact by `contact_id`, including addresses, phones, email and outstanding/overdue balances.get_contact_2Get one contact by contact number. API summary: Retrieves a specific contact by contact number in a Xero organisation.get_contact_documentGet one document for a contact by document id. API summary: Retrieves a specific attachment from a specific contact using a unique attachment Id.get_contact_document_get_contact_attachment_by_file_nameGet one document for a contact by file name. API summary: Retrieves a specific attachment from a specific contact by file name.get_contact_get_contact_groupGet one contact by contact id. API summary: Retrieves a specific contact group by using a unique contact group Id.get_credit_noteGet one credit note by credit note id. API summary: Retrieves a specific credit note using a unique credit note Id.get_credit_note_documentGet one document for a credit note by document id. API summary: Retrieves a specific attachment from a specific credit note using a unique attachment Id.get_credit_note_document_get_credit_note_attachment_by_file_nameGet one document for a credit note by file name. API summary: Retrieves a specific attachment on a specific credit note by file name.get_expense_claimGet one expense claim by expense claim id. API summary: Retrieves a specific expense claim using a unique expense claim Id.get_invoiceGet one invoice or bill by `invoice_id` (or invoice number) with line items, amounts due and payments.get_invoice_documentGet one document for a invoice by document id. API summary: Retrieves a specific attachment from a specific invoices or purchase bills by using a unique attachment Id.get_invoice_document_get_invoice_attachment_by_file_nameGet one document for a invoice by file name. API summary: Retrieves an attachment from a specific invoice or purchase bill by filename.get_invoice_document_get_repeating_invoice_attachment_by_file_naGet one document for a invoice by file name. API summary: Retrieves a specific attachment from a specific repeating invoices by file name.get_invoice_document_get_repeating_invoice_attachment_by_idGet one document for a invoice by document id. API summary: Retrieves a specific attachment from a specific repeating invoice.get_invoice_get_repeating_invoiceGet one invoice by invoice id. API summary: Retrieves a specific repeating invoice by using a unique repeating invoice Id.get_invoice_online_urlGet the online invoice link for a sales invoice by `invoice_id`, which the customer can open to view and pay it.get_itemGet one item by `product_id` (the ItemID or item code), with sales and purchase details.get_journalGet one journal by journal id. API summary: Retrieves a specific journal using a unique journal Id.get_journal_get_journal_by_numberGet one journal by journal number. API summary: Retrieves a specific journal using a unique journal number.get_manual_journalGet one manual journal by manual journal id. API summary: Retrieves a specific manual journal.get_manual_journal_documentGet one document for a manual journal by document id. API summary: Allows you to retrieve a specific attachment from a specific manual journal using a unique attachment Id.get_manual_journal_document_get_manual_journal_attachment_by_filGet one document for a manual journal by file name. API summary: Retrieves a specific attachment from a specific manual journal by file name.get_orderGet one order by order id. API summary: Retrieves a specific purchase order using a unique purchase order Id.get_order_documentGet one document for a order by document id. API summary: Retrieves specific attachment for a specific purchase order using a unique attachment Id.get_order_document_get_purchase_order_attachment_by_file_nameGet one document for a order by file name. API summary: Retrieves a specific attachment for a specific purchase order by filename.get_order_get_purchase_order_by_numberGet one order by order number. API summary: Retrieves a specific purchase order using purchase order number.get_organisationGet the connected Xero organisation's details (name, base currency, country, financial year end). Use to confirm which organisation you are working in.get_overpaymentGet one overpayment by overpayment id. API summary: Retrieves a specific overpayment using a unique overpayment Id.get_paymentGet one payment by payment id. API summary: Retrieves a specific batch payment using a unique batch payment Id.get_payment_documentGet one document for a payment by document id. API summary: Retrieves specific attachments from a specific BankTransaction using a unique attachment Id.get_payment_document_get_bank_transaction_attachment_by_file_namGet one document for a payment by file name. API summary: Retrieves a specific attachment from a specific bank transaction by filename.get_payment_get_bank_transactionGet one payment by payment id. API summary: Retrieves a single spent or received money transaction by using a unique bank transaction Id.get_payment_get_linked_transactionGet one payment by payment id. API summary: Retrieves a specific linked transaction (billable expenses) using a unique linked transaction Id.get_payment_get_paymentGet one payment by payment id. API summary: Retrieves a specific payment for invoices and credit notes using a unique payment Id.get_prepaymentGet one prepayment by prepayment id. API summary: Allows you to retrieve a specified prepayments.get_profit_and_lossGet the Profit and Loss report for `from_date` to `to_date` (YYYY-MM-DD), optionally compared over several `periods` with `timeframe` MONTH, QUARTER or YEAR.get_quoteGet one quote by `quote_id` with line items and totals.get_quote_documentGet one document for a quote by document id. API summary: Retrieves a specific attachment from a specific quote using a unique attachment Id.get_quote_document_get_quote_attachment_by_file_nameGet one document for a quote by file name. API summary: Retrieves a specific attachment from a specific quote by filename.get_receiptGet one receipt by receipt id. API summary: Retrieves a specific draft expense claim receipt by using a unique receipt Id.get_receipt_documentGet one document for a receipt by document id. API summary: Retrieves a specific attachments from a specific expense claim receipts by using a unique attachment Id.get_receipt_document_get_receipt_attachment_by_file_nameGet one document for a receipt by file name. API summary: Retrieves a specific attachment from a specific expense claim receipts by file name.get_reportGet one report by report id. API summary: Retrieves a specific report using a unique ReportID.get_tax_rateGet one tax rate by tax type. API summary: Retrieves a specific tax rate according to given TaxType code.get_userGet one user by user id. API summary: Retrieves a specific user.list_account_documentsList documents for a account. API summary: Retrieves attachments for a specific accounts by using a unique account Id.list_accountsList the chart of accounts (codes, names, types, tax types). Use it to pick AccountCode values for invoice and bill lines. Filter with `where`.list_actionsList actions. API summary: Retrieves a list of the key actions your app has permission to perform in the connected Xero organisation.list_bank_summariesList bank summaries. Optional filters: from date or to date. API summary: Retrieves report for bank summary.list_bank_transactionsList bank transactions (spend and receive money). Filter with `where` (e.g. Type=="SPEND") and paginate with `page`.list_bank_transfer_documentsList documents for a bank transfer. API summary: Retrieves attachments from a specific bank transfer.list_bank_transfer_historiesList histories for a bank transfer. API summary: Retrieves history from a specific bank transfer using a unique bank transfer Id.list_bank_transfersList bank transfers. Optional filters: where, order or include deleted. API summary: Retrieves all bank transfers.list_branding_theme_paymentsList payments for a branding theme. API summary: Retrieves the payment services for a specific branding theme.list_branding_themesList branding themes. API summary: Retrieves all the branding themes.list_budget_summariesList budget summaries. Optional filters: date, periods or timeframe. API summary: Retrieves report for budget summary.list_budgetsList budgets. Optional filters: i ds, date to or date from. API summary: Retrieve a list of budgets.list_company_cis_settingsList cis settings for a company. API summary: Retrieves the CIS settings for the Xero organistaion.list_contact_cis_settingsList cis settings for a contact. API summary: Retrieves CIS settings for a specific contact in a Xero organisation.list_contact_documentsList documents for a contact. API summary: Retrieves attachments for a specific contact in a Xero organisation.list_contact_historiesList histories for a contact. API summary: Retrieves history records for a specific contact.list_contactsList contacts. Optional filters: where or order. API summary: Retrieves the contact Id and name of each contact group.list_contacts_get_report_aged_payables_by_contactList contacts. Optional filters: contact id, date, from date or to date. API summary: Retrieves report for aged payables by contact.list_credit_note_documentsList documents for a credit note. API summary: Retrieves attachments for a specific credit notes.list_credit_note_historiesList histories for a credit note. API summary: Retrieves history records of a specific credit note.list_credit_notesList credit notes, filtered with `where` (e.g. Status=="AUTHORISED") and paginated with `page`.list_currenciesList currencies. Optional filters: where or order. API summary: Retrieves currencies for your Xero organisation.list_executive_summariesList executive summaries. Optional filters: date. API summary: Retrieves report for executive summary.list_expense_claim_historiesList histories for a expense claim. API summary: Retrieves history records of a specific expense claim.list_expense_claimsList expense claims. Optional filters: where or order. API summary: Retrieves expense claims.list_invoice_documentsList documents for a invoice. API summary: Retrieves attachments for a specific invoice or purchase bill.list_invoice_documents_get_repeating_invoice_attachmentsList documents for a invoice. API summary: Retrieves attachments from a specific repeating invoice.list_invoice_historiesList histories for a invoice. API summary: Retrieves history records for a specific invoice.list_invoice_histories_get_repeating_invoice_historyList histories for a invoice. API summary: Retrieves history record for a specific repeating invoice.list_invoices_get_invoice_remindersList invoices. API summary: Retrieves invoice reminder settings.list_invoices_get_repeating_invoicesList invoices. Optional filters: where or order. API summary: Retrieves repeating invoices.list_itemsList the products and services (items) you sell or buy, with codes, prices and stock levels. Filter with `where`.list_journalsList journals. Optional filters: payments only. Results are paginated. API summary: Retrieves journals.list_manual_journal_documentsList documents for a manual journal. API summary: Retrieves attachment for a specific manual journal.list_manual_journal_historiesList histories for a manual journal. API summary: Retrieves history for a specific manual journal.list_manual_journalsList manual journals. Optional filters: where or order. Results are paginated. API summary: Retrieves manual journals.list_order_documentsList documents for a order. API summary: Retrieves attachments for a specific purchase order.list_order_historiesList histories for a order. API summary: Retrieves history for a specific purchase order.list_ordersList orders. Optional filters: status, date from, date to or order. Results are paginated. API summary: Retrieves purchase orders.list_overpayment_historiesList histories for a overpayment. API summary: Retrieves history records of a specific overpayment.list_overpaymentsList overpayments. Optional filters: where, order, unitdp or references. Results are paginated. API summary: Retrieves overpayments.list_payment_documentsList documents for a payment. API summary: Retrieves any attachments from a specific bank transactions.list_payment_historiesList histories for a payment. API summary: Retrieves history from a specific batch payment.list_payment_histories_get_bank_transactions_historyList histories for a payment. API summary: Retrieves history from a specific bank transaction using a unique bank transaction Id.list_payment_histories_get_payment_historyList histories for a payment. API summary: Retrieves history records of a specific payment.list_paymentsList payments recorded against invoices and bills. Filter with `where` (e.g. Date>=DateTime(2025,1,1)) and paginate with `page`.list_payments_2List payments. Optional filters: where or order. API summary: Retrieves either one or many batch payments for invoices.list_payments_get_linked_transactionsList payments. Optional filters: linked transaction id, source transaction id, contact id, status or target transaction id. Results are paginated. API summary: Retrieves linked transactions (billable expenses).list_payments_get_payment_servicesList payments. API summary: Retrieves payment services.list_prepayment_historiesList histories for a prepayment. API summary: Retrieves history record for a specific prepayment.list_prepaymentsList prepayments. Optional filters: where, order, unitdp, invoice numbers or references. Results are paginated. API summary: Retrieves prepayments.list_product_historiesList histories for a product. API summary: Retrieves history for a specific item.list_quote_documentsList documents for a quote. API summary: Retrieves attachments for a specific quote.list_quote_historiesList histories for a quote. API summary: Retrieves history records of a specific quote.list_quotesList quotes, filtered by `status`, `contact_id`, `quote_number` or date ranges (`date_from`, `date_to`).list_receipt_documentsList documents for a receipt. API summary: Retrieves attachments for a specific expense claim receipt.list_receipt_historiesList histories for a receipt. API summary: Retrieves a history record for a specific receipt.list_receiptsList receipts. Optional filters: where, order or unitdp. API summary: Retrieves draft expense claim receipts for any user.list_reportsList reports. API summary: Retrieves a list of the organistaions unique reports that require a uuid to fetch.list_tax_ratesList tax rates with their TaxType codes, for use on invoice and bill lines.list_ten_ninety_ninesList ten ninety nines. Optional filters: report year. API summary: Retrieve reports for 1099.list_trial_balancesList trial balances. Optional filters: date or payments only. API summary: Retrieves report for trial balance.list_usersList users. Optional filters: where or order. API summary: Retrieves users.record_paymentChanges dataRecord a payment against an invoice or bill in the books: pass `invoice` {InvoiceID}, `account` {Code or AccountID of the bank account}, `amount` and `date`. This does not move money; it marks the invoice paid.search_contactsSearch customers and suppliers with `search_term` (name, email or account number), or filter with `where` and paginate with `page`. Use this to find a ContactID before other calls.search_invoicesSearch sales invoices and bills. Filter by `statuses` (DRAFT, SUBMITTED, AUTHORISED, PAID, VOIDED), `contact_i_ds`, `invoice_numbers`, `search_term` or a `where` clause such as Type=="ACCPAY" for bills or AmountDue>0 for unpaid.update_accountChanges dataUpdate an existing account identified by account id. API summary: Updates a chart of accounts.update_accountsVisible to othersUpdate an existing account. Has effects visible outside this system. API summary: Creates a new chart of accounts.update_bank_transfer_historiesMoves moneyUpdate an existing history identified by bank transfer id. Financial or irreversible action; may require approval. API summary: Creates a history record for a specific bank transfer.update_bank_transfersMoves moneyUpdate an existing bank transfer. Financial or irreversible action; may require approval. API summary: Creates a bank transfer.update_categoryChanges dataUpdate an existing category identified by category id. API summary: Updates a specific tracking category.update_category_optionChanges dataUpdate an existing option identified by tracking option id. API summary: Updates a specific option for a specific tracking category.update_category_optionsVisible to othersUpdate an existing option identified by tracking category id. Has effects visible outside this system. API summary: Creates options for a specific tracking category.update_contactChanges dataUpdate a contact by `contact_id`; pass `contacts` as a one-item list with only the fields to change (e.g. EmailAddress, Addresses).update_contact_historiesVisible to othersUpdate an existing history identified by contact id. Has effects visible outside this system. API summary: Creates a new history record for a specific contact.update_contact_update_contact_groupChanges dataUpdate an existing contact identified by contact id. API summary: Updates a specific contact group.update_contactsVisible to othersUpdate an existing contact. Has effects visible outside this system. API summary: Creates multiple contacts (bulk) in a Xero organisation.update_contacts_create_contact_groupVisible to othersUpdate an existing contact. Has effects visible outside this system. API summary: Creates a contact group.update_contacts_create_contact_group_contactsVisible to othersUpdate an existing contact identified by contact group id. Has effects visible outside this system. API summary: Creates contacts to a specific contact group.update_credit_noteChanges dataUpdate an existing credit note identified by credit note id. API summary: Updates a specific credit note.update_credit_note_allocationsVisible to othersUpdate an existing allocation identified by credit note id. Has effects visible outside this system. API summary: Creates allocation for a specific credit note.update_credit_note_historiesVisible to othersUpdate an existing history identified by credit note id. Has effects visible outside this system. API summary: Retrieves history records of a specific credit note.update_credit_notesVisible to othersUpdate an existing credit note. Has effects visible outside this system. API summary: Creates a new credit note.update_currenciesVisible to othersUpdate an existing currency. Has effects visible outside this system. API summary: Create a new currency for a Xero organisation.update_expense_claimChanges dataUpdate an existing expense claim identified by expense claim id. API summary: Updates a specific expense claims.update_expense_claim_historiesVisible to othersUpdate an existing history identified by expense claim id. Has effects visible outside this system. API summary: Creates a history record for a specific expense claim.update_expense_claimsVisible to othersUpdate an existing expense claim. Has effects visible outside this system. API summary: Creates expense claims.update_invoiceChanges dataUpdate an invoice or bill by `invoice_id`; pass `invoices` as a one-item list with the fields to change, e.g. LineItems, DueDate, Reference or Status (set VOIDED to void an approved invoice).update_invoice_historiesVisible to othersUpdate an existing history identified by invoice id. Has effects visible outside this system. API summary: Creates a history record for a specific invoice.update_invoice_histories_create_repeating_invoice_historyVisible to othersUpdate an existing history identified by repeating invoice id. Has effects visible outside this system. API summary: Creates a history record for a specific repeating invoice.update_invoice_update_repeating_invoiceChanges dataUpdate an existing invoice identified by invoice id. API summary: Deletes a specific repeating invoice template.update_invoicesVisible to othersUpdate an existing invoice. Has effects visible outside this system. API summary: Creates one or more sales invoices or purchase bills.update_invoices_create_repeating_invoicesVisible to othersUpdate an existing invoice. Has effects visible outside this system. API summary: Creates one or more repeating invoice templates.update_itemChanges dataUpdate an item by `product_id`; pass `items` as a one-item list with Code plus the fields to change, such as Name or SalesDetails.UnitPrice.update_manual_journalChanges dataUpdate an existing manual journal identified by manual journal id. API summary: Updates a specific manual journal.update_manual_journal_historiesVisible to othersUpdate an existing history identified by manual journal id. Has effects visible outside this system. API summary: Creates a history record for a specific manual journal.update_manual_journalsVisible to othersUpdate an existing manual journal. Has effects visible outside this system. API summary: Creates one or more manual journals.update_orderChanges dataUpdate an existing order identified by order id. API summary: Updates a specific purchase order.update_order_historiesVisible to othersUpdate an existing history identified by purchase order id. Has effects visible outside this system. API summary: Creates a history record for a specific purchase orders.update_ordersVisible to othersUpdate an existing order. Has effects visible outside this system. API summary: Creates one or more purchase orders.update_overpayment_allocationsVisible to othersUpdate an existing allocation identified by overpayment id. Has effects visible outside this system. API summary: Creates a single allocation for a specific overpayment.update_overpayment_historiesVisible to othersUpdate an existing history identified by overpayment id. Has effects visible outside this system. API summary: Creates a history record for a specific overpayment.update_paymentChanges dataUpdate an existing payment identified by payment id. API summary: Updates a single spent or received money transaction.update_payment_historiesVisible to othersUpdate an existing history identified by batch payment id. Has effects visible outside this system. API summary: Creates a history record for a specific batch payment.update_payment_histories_create_bank_transaction_history_recordVisible to othersUpdate an existing history identified by bank transaction id. Has effects visible outside this system. API summary: Creates a history record for a specific bank transactions.update_payment_histories_create_payment_historyVisible to othersUpdate an existing history identified by payment id. Has effects visible outside this system. API summary: Creates a history record for a specific payment.update_payment_update_linked_transactionChanges dataUpdate an existing payment identified by payment id. API summary: Updates a specific linked transactions (billable expenses).update_paymentsVisible to othersUpdate an existing payment. Has effects visible outside this system. API summary: Creates one or many batch payments for invoices.update_payments_create_bank_transactionsVisible to othersUpdate an existing payment. Has effects visible outside this system. API summary: Creates one or more spent or received money transaction.update_payments_create_linked_transactionVisible to othersUpdate an existing payment. Has effects visible outside this system. API summary: Creates linked transactions (billable expenses).update_payments_create_payment_serviceVisible to othersUpdate an existing payment. Has effects visible outside this system. API summary: Creates a payment service.update_payments_create_paymentsVisible to othersUpdate an existing payment. Has effects visible outside this system. API summary: Creates multiple payments for invoices or credit notes.update_prepayment_allocationsVisible to othersUpdate an existing allocation identified by prepayment id. Has effects visible outside this system. API summary: Allows you to create an Allocation for prepayments.update_prepayment_historiesVisible to othersUpdate an existing history identified by prepayment id. Has effects visible outside this system. API summary: Creates a history record for a specific prepayment.update_product_historiesVisible to othersUpdate an existing history identified by item id. Has effects visible outside this system. API summary: Creates a history record for a specific item.update_productsVisible to othersUpdate an existing product. Has effects visible outside this system. API summary: Creates one or more items.update_quoteChanges dataUpdate an existing quote identified by quote id. API summary: Updates a specific quote.update_quote_historiesVisible to othersUpdate an existing history identified by quote id. Has effects visible outside this system. API summary: Creates a history record for a specific quote.update_quotesVisible to othersUpdate an existing quote. Has effects visible outside this system. API summary: Create one or more quotes.update_receiptChanges dataUpdate an existing receipt identified by receipt id. API summary: Updates a specific draft expense claim receipts.update_receipt_historiesVisible to othersUpdate an existing history identified by receipt id. Has effects visible outside this system. API summary: Creates a history record for a specific receipt.update_receiptsVisible to othersUpdate an existing receipt. Has effects visible outside this system. API summary: Creates draft expense claim receipts for any user.update_tax_ratesVisible to othersUpdate an existing tax rate. Has effects visible outside this system. API summary: Creates one or more tax rates.
Set up in three steps
- 1
Pick the app
Create a free HeyMyApps account and choose Xero from the app list.
- 2
Paste your key
Paste three values: the Client ID and Client secret from a Xero Custom Connection app, and your Xero organisation (tenant) ID. Create the app at developer.xero.com under My Apps, choose the type Custom connection and pick the scopes you want. The organisation's admin then authorises it by email. Generate the Client secret on the app's Configuration page.
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in Xero?
It can search and read contacts, invoices, bills, items, quotes, credit notes, payments and bank transactions, plus the chart of accounts, tax rates and your organisation details. It can pull the Profit and Loss, Balance Sheet and aged receivables reports. It can create and update contacts, items, invoices and bills, create quotes and credit notes, record payments and email approved invoices.
Does the AI see my Xero credentials?
No. Your Xero client ID and client secret are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start with lookups and reports only. Emailing an invoice reaches your customer right away, and updating an invoice can also void it, so both can require your approval before they run. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT, open Settings › Apps & Connectors › Advanced, turn on Developer mode and add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
Xero connects with OAuth, and OAuth connections need the HeyMyApps Pro plan or above. HeyMyApps also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own Xero account.
What is a Xero Custom Connection?
It is a type of app in the Xero Developer portal that connects to one Xero organisation with a client ID and secret instead of a personal login. You create it under My Apps, choose the scopes you want the AI to have, and the organisation's admin authorises it by email. The scopes you pick limit what HeyMyApps can reach, on top of the tools you switch on.
Let your AI work in Xero today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect Xero freeHeyMyApps is not affiliated with Xero. Product names are trademarks of their owners.






