Skip to content
All connectors
Xero logo

Xero

Accounting, billing & payments

Keep Xero in step with your orders, invoices and payments without re-keying, with the right person approving what changes.

46 ways to read, 18 ways to write, each write switched on by you.

Quality checks

Built and tested with example responses.

  1. Ready to connect: doneEvery listed action is built in.
  2. Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Xero with Nexra

Connected, approved, proven.

The things teams do most with Xero, an example flow with a person in the loop, and what Nexra keeps as proof.

Top actions

  • Create invoice or billApproval by rule
  • Record paymentApproval by rule
  • Aged payables reportRead

Example flow

  1. Magento Open Source · Read inventoryDone
  2. Xero · Create draft purchase orderNeeds approval
  3. Nexra · Record the decision and result in the evidence chainProven

Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Xero.

What gets logged

  • Whether it ran on its own or who approved it, and under which rule
  • A fingerprint of the exact request sent to Xero
  • Xero's reply: what it created or changed
  • One entry in the evidence chain, linked to the one before

Try this in the sandbox

Run the whole flow with test data in your sandbox, then connect a Xero test account before you go live.

For developers

Technical detail

Read Xero invoices, bills, contacts, payments, banking, journals, settings, attachments and reports (profit and loss, balance sheet, trial balance, aged, bank summary); create draft invoices, bills, quotes and orders.

Xero API docs
Source actions
46
Destination actions
18
Data types
37

What you can map

Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.

Accounting invoices5
  • Create invoice or billDestinationProvider duplicate protectionApproval before production

    Creates a sales invoice (ACCREC) or bill (ACCPAY).

  • Get invoice or billSource

    One invoice or bill with lines, payments and balances.

  • List invoices and billsSourceIncremental

    Sales invoices (ACCREC) and bills (ACCPAY) with lines, payments and balances.

  • Search invoices and billsSourceIncremental

    Invoices and bills by number, reference text, contact, status, type and date range.

  • Update invoice or billDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a draft or submitted invoice or bill.

Accounting payments3
  • Record paymentDestinationProvider duplicate protectionApproval before production

    Records a payment already made or received against an invoice, bill or credit note. No money is moved.

  • Get paymentSource

    One payment. Read only.

  • List paymentsSourceIncremental

    Payments applied to invoices, bills and credit notes.

Attachments1
  • List attachmentsSource

    Attachment metadata (file name, type and size) for one record. File contents are not downloaded.

Bank transactions3
  • Create bank transactionDestinationProvider duplicate protectionApproval before production

    Records spend or receive money in a bank account. No money is moved.

  • Get bank transactionSource

    One spend or receive money transaction. Read only.

  • List bank transactionsSourceIncremental

    Spend and receive money transactions with lines and reconciliation state.

Batch payments1
  • List batch paymentsSourceIncremental

    Batch payments with the payments they contain. Read only.

Branding themes1
  • List branding themesSource

    Invoice branding themes, used to choose a template on drafts.

Chart of accounts2
  • Get accountSource

    One account from the chart of accounts.

  • List chart of accountsSourceIncremental

    Accounts with code, type, class, tax type and status.

Contact groups1
  • List contact groupsSource

    Contact groups with status.

Contacts5
  • Create contactDestinationProvider duplicate protectionApproval before production

    Creates a customer or supplier contact. Contact names must be unique.

  • Get contactSource

    One contact with balances, groups, phones and addresses.

  • List contactsSourceIncremental

    Customers and suppliers with balances, groups, phones and addresses.

  • Search contactsSourceIncremental

    Contacts by IDs, contact number (external system ID), account number, status or role. Name and email search are not offered because Xero filters travel in the URL.

  • Update contactDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a contact.

Credit notes3
  • Create credit noteDestinationProvider duplicate protectionApproval before production

    Creates a customer (ACCRECCREDIT) or supplier (ACCPAYCREDIT) credit note.

  • Get credit noteSource

    One credit note with allocations.

  • List credit notesSourceIncremental

    Customer and supplier credit notes with allocations and remaining credit.

Currencies1
  • List currenciesSource

    Currencies enabled for the organisation.

Customers1
  • List CustomersSource

    List operation for Customers.

Draft bills1
  • Create draft billDestinationProvider duplicate protectionApproval before production

    Creates a supplier bill (ACCPAY) in DRAFT status.

Draft invoices1
  • Create draft sales invoiceDestinationProvider duplicate protectionApproval before production

    Creates a sales invoice (ACCREC) in DRAFT status.

Draft purchase orders1
  • Create draft purchase orderDestinationProvider duplicate protectionApproval before production

    Creates a purchase order in DRAFT status.

Draft quotes1
  • Create draft quoteDestinationProvider duplicate protectionApproval before production

    Creates a sales quote in DRAFT status.

Items4
  • Create itemDestinationProvider duplicate protectionApproval before production

    Creates a product or service item with sales and purchase details.

  • Get itemSource

    One product or service item.

  • List itemsSourceIncremental

    Products and services with sales and purchase details and stock on hand; incremental with If-Modified-Since.

  • Update itemDestinationProvider duplicate protectionApproval before production

    Updates an item. Xero requires the item code on every update.

Journals2
  • Get journalSource

    One general ledger journal with its lines.

  • List journalsSourceIncremental

    The general ledger journals Xero creates for every posted transaction, in journal number order, with account, tax and tracking per line.

Manual journals3
  • Create manual journalDestinationProvider duplicate protectionApproval before production

    Creates a manual journal; posted journals must balance to zero.

  • Get manual journalSource

    One manual journal with lines. Read only.

  • List manual journalsSourceIncremental

    Manual journals with lines and tax.

Orders1
  • List OrdersSource

    List operation for Orders.

Organisation1
  • Get organisationSource

    The connected organisation's name, base currency, country, tax settings, financial year and lock dates.

Overpayments1
  • List overpaymentsSourceIncremental

    Customer and supplier overpayments with allocations and remaining credit. Read only.

Prepayments1
  • List prepaymentsSourceIncremental

    Customer and supplier prepayments with allocations and remaining credit. Read only.

Prices1
  • List PricesSource

    List operation for Prices.

Products1
  • List ProductsSource

    List operation for Products.

Purchase orders4
  • Create purchase orderDestinationProvider duplicate protectionApproval before production

    Creates a purchase order for a supplier.

  • Get purchase orderSource

    One purchase order with delivery details and lines.

  • List purchase ordersSourceIncremental

    Purchase orders with status, delivery details and lines.

  • Update purchase orderDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a purchase order.

Quotes4
  • Create quoteDestinationProvider duplicate protectionApproval before production

    Creates a draft or sent sales quote. Xero does not email it.

  • Get quoteSource

    One quote with expiry, terms and lines.

  • List quotesSourceIncremental

    Sales quotes with status, expiry and lines.

  • Update draft quoteDestinationProvider duplicate protectionApproval before production

    Updates a quote's lines, dates, reference, title, summary or terms and keeps it in DRAFT status.

Repeating invoices1
  • List repeating invoicesSource

    Repeating invoice and bill templates with their schedule. Read only.

Reports aged payables1
  • Aged payables reportSource

    Aged payables for one supplier contact, one record per bill row.

Reports aged receivables1
  • Aged receivables reportSource

    Aged receivables for one contact, one record per invoice row.

Reports balance sheet1
  • Balance sheet reportSource

    Balance sheet at a date, one record per report row.

Reports bank summary1
  • Bank summary reportSource

    Opening balance, cash received, cash spent and closing balance per bank account for a date range, one record per account row.

Reports profit and loss1
  • Profit and loss reportSource

    Profit and loss for a date range, one record per report row.

Reports trial balance1
  • Trial balance reportSource

    Trial balance at a date, one record per account row.

Tax rates1
  • List tax ratesSource

    Tax rates with components and effective rate.

Tracking categories1
  • List tracking categoriesSource

    Tracking categories and their options.

Users1
  • List usersSourceIncremental

    Users of the organisation with their role.

Access and limits

Authentication
Xero OAuth 2.0 authorisation code with rotating refresh tokens
Plans and access
All Xero organisation plans; purchase orders and quotes follow plan features. The connection uses the scopes granted during Nexra's Xero sign-in, chosen by when the Xero app was created. Apps created before 2 March 2026: accounting.transactions, accounting.contacts, accounting.settings, accounting.reports.read, accounting.attachments.read and accounting.journals.read. Newer apps: accounting.invoices, accounting.payments, accounting.banktransactions, accounting.manualjournals, accounting.contacts, accounting.settings, accounting.attachments.read and accounting.reports.aged.read, plus the profit and loss, balance sheet, trial balance and bank summary report scopes and accounting.journals.read for App Partner Program apps.
Test environment
Xero provides a free Demo Company that can be authorised for testing.
Rate limits
60 calls per minute and 5,000 per day per organisation, 5 concurrent calls, plus an app-wide minute limit; HTTP 429 with Retry-After.
Pagination
page with pageSize up to 1000 on paged endpoints; quotes return 100 per page.
Provider events
Xero webhooks for contact, invoice and credit note events. Flows can start the moment something happens: when an invoice is created; when an invoice is updated; when a new contact is added; when a contact is updated.

Before you build a flow

  • Read-only live sync is supported for contacts, items, prices, and invoices after OAuth authorisation.
  • Xero Accounting API does not provide delivery tracking; delivery status must come from a commerce or fulfilment system.
  • Attachment contents are not read; attachments.list returns metadata only.
  • Idempotency-Key values longer than Xero's 128-character limit are rejected by Xero.
  • Deletes, voids, payment reversals and bank transfers are not implemented.
  • Search operations build Xero where clauses only from validated values without quotes or @. Contact search by name or email is not offered because Xero's searchTerm and where filters are sent in the URL query string and searchTerm also matches email addresses; search by contact number, account number or ID instead.
  • Incremental reads send If-Modified-Since on invoices, contacts, credit notes, payments, bank transactions, purchase orders, quotes, manual journals, items, users, overpayments, prepayments and batch payments. Tax rates, tracking categories, contact groups, currencies, branding themes and repeating invoices have no incremental filter.
  • Reports need accounting.reports.read (apps created before 2 March 2026) or the per-report scope (newer apps). Xero grants the profit and loss, balance sheet, trial balance and bank summary report scopes and accounting.journals.read to newer apps only through its App Partner Program, so on a newer app outside the programme those reads return a permission error; aged payables and receivables work for every app. Connections authorised before these scopes were requested must be reauthorised once.
  • Report rows are flattened to one record per row with Xero's formatted text values; layouts follow the organisation's report settings.
  • Attachment file contents, bank transfers, receipts, expense claims, employees, linked transactions, history and notes are not implemented. Journals (the general ledger) are read only.

Developer reference

  1. Create the Xero credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose Xero, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/xero and the Connections API.