For Agents
Create invoices, record payments, reconcile bank transactions, and generate financial reports for small businesses through Xero's double-entry accounting system.
Get started with Xero Accounting API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"create a sales invoice"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Xero Accounting API API.
Generate and send invoices with line items, tax rates, and payment terms to contacts
Reconcile bank transactions against outstanding invoices and bills automatically
Record payments, credit notes, and overpayments against specific invoices
Pull profit-and-loss, balance sheet, and aged receivables reports on demand
GET STARTED
Use for: I need to create an invoice for a client, Retrieve the balance sheet report for this financial year, I want to record a payment against an outstanding invoice, Find all overdue invoices for a specific contact
Not supported: Does not process card payments, manage payroll, or handle inventory tracking — use for double-entry accounting, invoicing, and financial reporting only.
Record and reconcile financial transactions, generate invoices, track payments, and produce financial reports for small and medium businesses. The API exposes 237 endpoints covering accounts, contacts, invoices, bank transactions, journals, and reporting — enabling full double-entry bookkeeping through programmatic access. Supports multi-currency transactions, tax calculations, and attachment management on all document types.
Sync contacts with full address, tax registration, and payment history details
Track multi-currency transactions with automatic exchange rate conversion
Attach source documents (receipts, contracts) to any transaction or contact record
Patterns agents use Xero Accounting API API for, with concrete tasks.
★ AI Agent Invoice Automation
AI agents use the Xero Accounting API through Jentic to create invoices, apply payments, and check outstanding balances without building custom OAuth flows or handling token refresh. The agent searches for the operation (e.g., 'create an invoice'), Jentic returns the schema for the /Invoices endpoint with required fields, and the agent executes. Jentic manages OAuth2 tokens and tenant ID headers, so the agent never handles raw credentials.
Create a new sales invoice for contact 'Acme Corp' with two line items totalling $1,250 NZD, set payment due in 30 days, then confirm the invoice status is AUTHORISED
Bank Reconciliation
Reconcile bank statement lines against outstanding invoices and bills in Xero. The API supports creating bank transactions, matching them to existing records, and flagging discrepancies. Batch endpoints allow processing multiple transactions in a single call, with support for bank feeds that push statement data directly into Xero for matching.
Retrieve all unreconciled bank transactions from the last 7 days, match each against outstanding invoices by amount, and create bank transaction records for confirmed matches
Financial Reporting
Generate profit-and-loss statements, balance sheets, aged receivables, and aged payables reports via API. Reports accept date range parameters and can be filtered by tracking category. The trial balance endpoint provides account-level debit and credit totals for any period, enabling custom reporting and data warehousing workflows.
Pull the profit-and-loss report for Q1 2026 and return total revenue, total expenses, and net profit figures
Contact and Supplier Management
Store and query contact records including customers, suppliers, and employees. Each contact holds billing address, tax number, payment terms, and full transaction history. The API supports batch creation of contacts and filtering by name, email, or account number, enabling CRM synchronisation workflows.
Search for all contacts with outstanding invoices over 60 days overdue and return their names, email addresses, and total amounts owed
237 endpoints — record and reconcile financial transactions, generate invoices, track payments, and produce financial reports for small and medium businesses.
METHOD
PATH
DESCRIPTION
/Invoices
List all invoices with optional status and date filters
/Invoices
Create one or more new invoices
/Contacts
List all contacts (customers and suppliers)
/Payments
Record a payment against an invoice or bill
/BankTransactions
List bank transactions for reconciliation
/Accounts
Retrieve the chart of accounts
/Reports/ProfitAndLoss
Generate a profit and loss report
/Reports/BalanceSheet
Generate a balance sheet report
/Invoices
List all invoices with optional status and date filters
/Invoices
Create one or more new invoices
/Contacts
List all contacts (customers and suppliers)
/Payments
Record a payment against an invoice or bill
/BankTransactions
List bank transactions for reconciliation
Three things that make agents converge on Jentic-routed access.
Credential isolation
Xero OAuth 2.0 tokens and tenant IDs are stored encrypted in the Jentic vault (MAXsystem). Agents receive pre-authenticated requests with the correct tenant header — raw client secrets and refresh tokens never enter the agent's context.
Intent-based discovery
Agents search by intent (e.g., 'create an invoice' or 'get balance sheet report') and Jentic returns matching Xero operations with required fields and tenant context, so the agent calls the correct endpoint without navigating Xero's 237-endpoint surface.
Time to first call
Direct Xero integration: 3-5 days for OAuth setup, tenant selection, and error handling. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
The Plaid API
Plaid pulls live bank data that feeds into Xero for reconciliation
Use Plaid when you need to connect bank accounts and pull transaction feeds; use Xero when you need to record those transactions in a double-entry ledger
Stripe API
Stripe processes payments that become invoice payments in Xero
Use Stripe to collect payments from customers; use Xero to record those payments against invoices and maintain the general ledger
Sage API
Sage offers similar accounting features with stronger enterprise and payroll integration
Use Sage when the business requires integrated payroll processing or operates in markets where Sage has stronger coverage than Xero
Specific to using Xero Accounting API API through Jentic.
What authentication does the Xero Accounting API use?
Xero uses OAuth 2.0 with PKCE for all API access. Applications must obtain an access token through the authorization code flow and include a xero-tenant-id header identifying the target organisation. Through Jentic, OAuth tokens are stored in the MAXsystem vault with automatic refresh — agents never handle client secrets or manual token rotation.
Can I create and send invoices with the Xero Accounting API?
Yes. POST to /Invoices with a contact reference, line items, and tax rates to create an invoice. Set the Status field to AUTHORISED to approve it, then use the email endpoint to deliver it. The API supports batch creation of up to 50 invoices in a single request.
What are the rate limits for the Xero Accounting API?
Xero enforces a limit of 60 calls per minute per tenant (organisation) and 5,000 calls per day per tenant. Batch endpoints that accept multiple records in one call count as a single request. The API returns a 429 status with a Retry-After header when limits are exceeded.
How do I generate financial reports through the Xero API via Jentic?
Search Jentic for 'generate profit and loss report', then load the /Reports/ProfitAndLoss operation schema. Provide fromDate and toDate parameters, and the agent receives a structured report with income, expense, and net profit figures. Install with pip install jentic or sign up at https://app.jentic.com/sign-up to get started.
Does the Xero Accounting API support multi-currency transactions?
Yes. Invoices, payments, and bank transactions can be recorded in any currency enabled in the organisation's settings. The API applies the exchange rate from Xero's daily feed or accepts a custom rate on each transaction. The /Currencies endpoint lists all enabled currencies and their current rates.
Can I reconcile bank transactions programmatically with Xero?
Yes. The /BankTransactions endpoint allows creating spend and receive money transactions. Bank feed integrations push statement lines into Xero, and the /BankTransfers endpoint records transfers between accounts. For automated matching, pull unreconciled lines and compare against outstanding invoices by amount and date.
/Accounts
Retrieve the chart of accounts
/Reports/ProfitAndLoss
Generate a profit and loss report
/Reports/BalanceSheet
Generate a balance sheet report