> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neoagent.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Xero API

> Find and report on invoices, bills, contacts, payments and reports in your Xero books, and create, update or email records as you allow

The Xero API tool gives Neo agents access to your Xero organisation through Xero's APIs: accounting, payroll, projects, fixed assets, files and finance. The common uses are a report on unpaid and overdue invoices, and a client's billing question on a ticket: the agent finds the client's contact, reads their invoices, and answers with each invoice's status, amount due, due date and online invoice link.

> [!NOTE]
>
> Automatically enabled when you configure Xero permissions in your agent workflow.

## What It Does

* Find invoices and bills by number, contact, status, date or due date
* Report on invoices: unpaid and overdue totals per client, aged receivables and payables, profit and loss, balance sheet
* Read a contact's outstanding and overdue balance, payments, credit notes and quotes
* Create and update contacts, draft invoices, bills, credit notes, quotes, payments, items and manual journals, and add a note to a record's history
* Email an invoice to its contact from your Xero organisation
* Read and update payroll (Australia, New Zealand, UK), projects and time, fixed assets and files, when you turn those areas on

## Permission Groups

| Group | Covers |
| - | - |
| **Invoices, Bills & Quotes** | Sales invoices and bills, credit notes, quotes, purchase orders, repeating invoices, linked transactions, expense claims and receipts |
| **Emails to Contacts** | Emailing an invoice to its contact |
| **Payments** | Payments, batch payments, overpayments and prepayments |
| **Contacts** | Customers and suppliers, and contact groups |
| **Bank Account Details** | Any write that sets a bank account, and an employee's payment methods |
| **Bank Transactions & Statements** | Bank transactions and transfers, bank statements, reconciliation data, account data and bank feeds |
| **Accounts & Journals** | The chart of accounts, manual journals, the general ledger and conversion balances |
| **Reports & Budgets** | Every Xero report the APIs serve, budgets and financial statements |
| **Items & Organisation Settings** | Items, organisation details, users, currencies, tax rates, tracking categories, branding themes, invoice reminders, payment services and subscriptions |
| **Attachments & Files** | Attachment lists and the Files library |
| **Fixed Assets** | Fixed assets, asset types and settings |
| **Projects & Time** | Projects, tasks and time |
| **Payroll Employees & Leave** | Payroll employees, their details and leave |
| **Pay Runs, Payslips & Timesheets** | Pay runs, payslips and timesheets |
| **Payroll Settings** | Calendars, pay items, earnings rates, deductions, leave types, super funds and the like |

Each group has an access level: **Disabled**, **Read Only**, or **Read/Write**. Reports & Budgets offers only Disabled and Read Only; Emails to Contacts only Disabled and Read/Write.

## Access Profiles

> **Read Only**
>
> Every everyday group Read Only. Emails, Bank Account Details and the three payroll groups Disabled. The agent reads invoices, bills, contacts, payments and reports, and never changes anything.

> **Helpdesk**
>
> Contacts, Invoices, Bills & Quotes, and Projects & Time at Read/Write, every other everyday group Read Only. Emails, Bank Account Details and payroll Disabled. Every write in the three Read/Write groups requires technician approval.

> **IT Admin**
>
> Every writable group at Read/Write, payroll included. Emails to Contacts, Bank Account Details, Accounts & Journals, Items & Organisation Settings, and Pay Runs, Payslips & Timesheets writes require technician approval.

> **Full Automation**
>
> Every supported write runs autonomously, emails, bank account changes and pay runs included.

## Safety Controls

| Control | Behavior |
| - | - |
| **Technician-in-the-Loop** | Require human approval for writes, configurable per group |
| **Bank accounts** | A write whose body sets a bank account (a contact's bank details or batch payment details, an account's or a payment's bank account number, an employee's or a super fund's bank account) needs Bank Account Details at Read/Write as well as its own group, and requires approval when either group does |
| **Emails are separate** | Writing an invoice never emails it; emailing needs Emails to Contacts |
| **Documented writes only** | Every write must match a write in Xero's published OpenAPI definitions with its own method, and any other is refused |
| **Files** | PDF downloads, attachment downloads and file uploads are refused |
| **The connection** | Deleting the connection is refused, because it would end Neo's access |

## How to Configure

**1. Connect Xero**

Save your custom connection's Client ID, Client Secret and scopes in the Neo Dashboard under the **Accounting** integrations category. See [Connecting Xero to Neo](https://docs.neoagent.io/integrations/xero/connecting-to-neo.md).

**2. Configure permissions**

On the agent's **Tools & Settings** tab, click **Accounting** and expand the **Xero** block. Pick one of its **Presets**, which are the access profiles above, or set each permission group yourself.

**3. Set approval requirements**

Decide per permission group whether writes need a technician.

> [!TIP]
>
> To report on invoices and answer clients' invoice questions, **Read Only** is enough: it covers Contacts, Invoices, Bills & Quotes, Payments, and Reports & Budgets.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.