Modules
A complete, production-grade Elixir client for all 13 Xero APIs.
Shared __using__ macro for all Xero API resource modules.
Shared request/response plumbing for all Xero API resource modules.
Xero Accounting API – Chart of Accounts.
Xero Accounting API – Bank Transactions (SPEND / RECEIVE money).
Xero Accounting API – Bank Transfers between two bank accounts.
Xero Accounting API – Batch Payments.
Xero Accounting API – Branding Themes.
Xero Accounting API – Budgets. Requires accounting.budgets.read scope.
Xero Accounting API – Contact Groups.
Xero Accounting API – Contacts (customers and/or suppliers).
Xero Accounting API – Credit Notes. Types: ACCRECCREDIT | ACCPAYCREDIT.
Xero Accounting API – Currencies.
Xero Accounting API – History & Notes. Add notes and retrieve audit history for: Accounts, BankTransactions, BankTransfers, Contacts, CreditNotes, Invoices, Items, ManualJournals, Overpayments, Payments, Prepayments, PurchaseOrders, Quotes, Receipts.
Xero Accounting API – Invoice Reminder settings.
Xero Accounting API – Invoices.
Xero Accounting API – Items (inventory). Tracked items: qty managed via transactions only.
Xero Accounting API – Journals (read-only). Requires accounting.journals.read scope.
Xero Accounting API – Linked Transactions (billable expenses).
Xero Accounting API – Manual Journals.
Xero Accounting API – Organisation details.
Xero Accounting API – Overpayments.
Xero Accounting API – Payment Services. Requires paymentservices scope.
Xero Accounting API – Payments applied to invoices, credit notes, over/prepayments.
Xero Accounting API – Prepayments.
Xero Accounting API – Purchase Orders. Paging enforced (100/page).
Xero Accounting API – Quotes. Statuses: DRAFT|SENT|DECLINED|ACCEPTED|INVOICED|DELETED.
Xero Accounting API – Repeating Invoices.
Xero Accounting API – Financial Reports.
Xero Accounting API – Tax Rates.
Xero Accounting API – Tracking Categories and Options.
Xero Accounting API – Users.
Xero App Store API – Subscription and metered billing management.
Base URL: https://api.xero.com/appstore/2.0/
Grant type: Client Credentials (machine-to-machine, no user required).
Available in: AU, NZ, UK.
Xero Assets API – Fixed asset lifecycle management.
Base URL: https://api.xero.com/assets.xro/1.0/
Scopes: assets or assets.read
OAuth 2.0 authentication for all Xero APIs.
Represents a Xero OAuth 2.0 token pair.
ETS-backed GenServer for multi-tenant OAuth token storage with proactive refresh.
Xero Bank Feeds API – Push bank statement data into Xero for auto-reconciliation.
Base URL: https://api.xero.com/bankfeeds.xro/1.0/
Scope: bankfeeds
NimbleOptions-validated configuration for the Xero client.
Xero eInvoicing API – PEPPOL BIS 3.0 / UBL 2.1 electronic invoicing.
Base URL: https://api.xero.com/einvoicing
Scope: einvoicing.documents
Structured error type returned by all Xero API operations.
Xero Files API – Document library, folders, and accounting object associations.
Base URL: https://api.xero.com/files.xro/1.0/
Scopes: files or files.read
Xero Finance API – Financial data endpoints for lending and accounting activity analysis.
Base URL: https://api.xero.com/finance.xro/1.0/
Core HTTP client for all Xero API requests.
Per-tenant rate limit tracking (token bucket, ETS-backed).
Pagination helpers for Xero API endpoints.
Xero Payroll API – Australia.
Base URL: https://api.xero.com/payroll.xro/1.0/
Scopes: payroll.employees, payroll.payruns, payroll.payslip, payroll.settings
Xero Payroll API – New Zealand.
Base URL: https://api.xero.com/payrollnz.xro/1.0/
Scopes: payroll.employees, payroll.payruns, payroll.payslip, payroll.settings
Covers NZ payroll including PAYE, KiwiSaver, and NZ leave entitlements.
Xero Payroll API – United Kingdom.
Base URL: https://api.xero.com/payroll.xro/2.0/
Scopes: payroll.employees, payroll.payruns, payroll.payslip, payroll.settings
Xero Practice Manager API v3.1 – Accounting practice workflow management.
Base URL: https://api.xero.com/practicemanager/3.1/
Scope: practicemanager
Xero Projects API – Project, task, time, and project item management.
Base URL: https://api.xero.com/projects.xro/2.0/
Scopes: projects or projects.read
Status flow: INPROGRESS → CLOSED (irreversible) | CANCELLED
Telemetry supervisor and default handler.
Xero API type constants, status codes, and helper functions.