Skip to content

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.

Connect Xero free

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.

28 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_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_itemChanges dataCreate items: pass `items` as a list with Code, Name and optionally Description, SalesDetails {UnitPrice, AccountCode}, PurchaseDetails.
  • create_quoteChanges dataCreate quotes: pass `quotes` as a list with Contact {ContactID}, Date, LineItems and optionally ExpiryDate, Title, Summary.
  • 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_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_contactGet one contact by `contact_id`, including addresses, phones, email and outstanding/overdue balances.
  • get_invoiceGet one invoice or bill by `invoice_id` (or invoice number) with line items, amounts due and payments.
  • 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_organisationGet the connected Xero organisation's details (name, base currency, country, financial year end). Use to confirm which organisation you are working in.
  • 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.
  • 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_bank_transactionsList bank transactions (spend and receive money). Filter with `where` (e.g. Type=="SPEND") and paginate with `page`.
  • list_credit_notesList credit notes, filtered with `where` (e.g. Status=="AUTHORISED") and paginated with `page`.
  • list_itemsList the products and services (items) you sell or buy, with codes, prices and stock levels. Filter with `where`.
  • list_paymentsList payments recorded against invoices and bills. Filter with `where` (e.g. Date>=DateTime(2025,1,1)) and paginate with `page`.
  • list_quotesList quotes, filtered by `status`, `contact_id`, `quote_number` or date ranges (`date_from`, `date_to`).
  • list_tax_ratesList tax rates with their TaxType codes, for use on invoice and bill lines.
  • 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_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_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_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.

Set up in three steps

  1. 1

    Pick the app

    Create a free PipMCP account and choose Xero from the app list.

  2. 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. 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 PipMCP 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 PipMCP Pro plan or above. PipMCP 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 PipMCP 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 free

PipMCP is not affiliated with Xero. Product names are trademarks of their owners.