# Xero v1.0.0 - Table of Contents

> A complete, production-grade Elixir client for all 13 Xero APIs

## Pages

- [Xero](readme.md)
- [Changelog](changelog.md)
- [Getting Started with Xero](getting_started.md)
- [LICENSE](license.md)

## Modules

- [Xero.API.Base](Xero.API.Base.md): Shared `__using__` macro for all Xero API resource modules.
- [Xero.API.Runtime](Xero.API.Runtime.md): Shared request/response plumbing for all Xero API resource modules.

- Core
  - [Xero](Xero.md): A complete, production-grade Elixir client for all 13 Xero APIs.
  - [Xero.Config](Xero.Config.md): NimbleOptions-validated configuration for the Xero client.

- Auth
  - [Xero.Auth](Xero.Auth.md): OAuth 2.0 authentication for all Xero APIs.
  - [Xero.Auth.Token](Xero.Auth.Token.md): Represents a Xero OAuth 2.0 token pair.
  - [Xero.Auth.TokenStore](Xero.Auth.TokenStore.md): ETS-backed GenServer for multi-tenant OAuth token storage with proactive refresh.

- HTTP
  - [Xero.HTTP.Client](Xero.HTTP.Client.md): Core HTTP client for all Xero API requests.
  - [Xero.HTTP.RateLimiter](Xero.HTTP.RateLimiter.md): Per-tenant rate limit tracking (token bucket, ETS-backed).

- Accounting API
  - [Xero.Accounting.Accounts](Xero.Accounting.Accounts.md): Xero Accounting API – Chart of Accounts.
  - [Xero.Accounting.BankTransactions](Xero.Accounting.BankTransactions.md): Xero Accounting API – Bank Transactions (SPEND / RECEIVE money).
  - [Xero.Accounting.BankTransfers](Xero.Accounting.BankTransfers.md): Xero Accounting API – Bank Transfers between two bank accounts.
  - [Xero.Accounting.BatchPayments](Xero.Accounting.BatchPayments.md): Xero Accounting API – Batch Payments.
  - [Xero.Accounting.BrandingThemes](Xero.Accounting.BrandingThemes.md): Xero Accounting API – Branding Themes.
  - [Xero.Accounting.Budgets](Xero.Accounting.Budgets.md): Xero Accounting API – Budgets. Requires accounting.budgets.read scope.
  - [Xero.Accounting.ContactGroups](Xero.Accounting.ContactGroups.md): Xero Accounting API – Contact Groups.
  - [Xero.Accounting.Contacts](Xero.Accounting.Contacts.md): Xero Accounting API – Contacts (customers and/or suppliers).
  - [Xero.Accounting.CreditNotes](Xero.Accounting.CreditNotes.md): Xero Accounting API – Credit Notes. Types: ACCRECCREDIT | ACCPAYCREDIT.
  - [Xero.Accounting.Currencies](Xero.Accounting.Currencies.md): Xero Accounting API – Currencies.
  - [Xero.Accounting.History](Xero.Accounting.History.md): 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.InvoiceReminders](Xero.Accounting.InvoiceReminders.md): Xero Accounting API – Invoice Reminder settings.
  - [Xero.Accounting.Invoices](Xero.Accounting.Invoices.md): Xero Accounting API – Invoices.
  - [Xero.Accounting.Items](Xero.Accounting.Items.md): Xero Accounting API – Items (inventory). Tracked items: qty managed via transactions only.
  - [Xero.Accounting.Journals](Xero.Accounting.Journals.md): Xero Accounting API – Journals (read-only). Requires accounting.journals.read scope.
  - [Xero.Accounting.LinkedTransactions](Xero.Accounting.LinkedTransactions.md): Xero Accounting API – Linked Transactions (billable expenses).
  - [Xero.Accounting.ManualJournals](Xero.Accounting.ManualJournals.md): Xero Accounting API – Manual Journals.
  - [Xero.Accounting.Organisation](Xero.Accounting.Organisation.md): Xero Accounting API – Organisation details.
  - [Xero.Accounting.Overpayments](Xero.Accounting.Overpayments.md): Xero Accounting API – Overpayments.
  - [Xero.Accounting.PaymentServices](Xero.Accounting.PaymentServices.md): Xero Accounting API – Payment Services. Requires paymentservices scope.
  - [Xero.Accounting.Payments](Xero.Accounting.Payments.md): Xero Accounting API – Payments applied to invoices, credit notes, over/prepayments.
  - [Xero.Accounting.Prepayments](Xero.Accounting.Prepayments.md): Xero Accounting API – Prepayments.
  - [Xero.Accounting.PurchaseOrders](Xero.Accounting.PurchaseOrders.md): Xero Accounting API – Purchase Orders. Paging enforced (100/page).
  - [Xero.Accounting.Quotes](Xero.Accounting.Quotes.md): Xero Accounting API – Quotes. Statuses: DRAFT|SENT|DECLINED|ACCEPTED|INVOICED|DELETED.
  - [Xero.Accounting.RepeatingInvoices](Xero.Accounting.RepeatingInvoices.md): Xero Accounting API – Repeating Invoices.
  - [Xero.Accounting.Reports](Xero.Accounting.Reports.md): Xero Accounting API – Financial Reports.
  - [Xero.Accounting.TaxRates](Xero.Accounting.TaxRates.md): Xero Accounting API – Tax Rates.
  - [Xero.Accounting.TrackingCategories](Xero.Accounting.TrackingCategories.md): Xero Accounting API – Tracking Categories and Options.
  - [Xero.Accounting.Users](Xero.Accounting.Users.md): Xero Accounting API – Users.

- Assets API
  - [Xero.Assets](Xero.Assets.md): Xero Assets API – Fixed asset lifecycle management.
Base URL: `https://api.xero.com/assets.xro/1.0/`
Scopes: `assets` or `assets.read`

- BankFeeds API
  - [Xero.BankFeeds](Xero.BankFeeds.md): 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`

- Files API
  - [Xero.Files](Xero.Files.md): 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`

- Finance API
  - [Xero.Finance](Xero.Finance.md): Xero Finance API – Financial data endpoints for lending and accounting activity analysis.
Base URL: `https://api.xero.com/finance.xro/1.0/`

- Projects API
  - [Xero.Projects](Xero.Projects.md): 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

- Payroll AU
  - [Xero.Payroll.AU](Xero.Payroll.AU.md): Xero Payroll API – Australia.
Base URL: `https://api.xero.com/payroll.xro/1.0/`
Scopes: `payroll.employees`, `payroll.payruns`, `payroll.payslip`, `payroll.settings`

- Payroll NZ
  - [Xero.Payroll.NZ](Xero.Payroll.NZ.md): 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.

- Payroll UK
  - [Xero.Payroll.UK](Xero.Payroll.UK.md): Xero Payroll API – United Kingdom.
Base URL: `https://api.xero.com/payroll.xro/2.0/`
Scopes: `payroll.employees`, `payroll.payruns`, `payroll.payslip`, `payroll.settings`

- Practice Manager
  - [Xero.PracticeManager](Xero.PracticeManager.md): Xero Practice Manager API v3.1 – Accounting practice workflow management.
Base URL: `https://api.xero.com/practicemanager/3.1/`
Scope: `practicemanager`

- App Store
  - [Xero.AppStore](Xero.AppStore.md): 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.

- eInvoicing
  - [Xero.EInvoicing](Xero.EInvoicing.md): Xero eInvoicing API – PEPPOL BIS 3.0 / UBL 2.1 electronic invoicing.
Base URL: `https://api.xero.com/einvoicing`
Scope: `einvoicing.documents`

- Shared
  - [Xero.Error](Xero.Error.md): Structured error type returned by all Xero API operations.
  - [Xero.Paginator](Xero.Paginator.md): Pagination helpers for Xero API endpoints.
  - [Xero.Telemetry](Xero.Telemetry.md): Telemetry supervisor and default handler.
  - [Xero.Types](Xero.Types.md): Xero API type constants, status codes, and helper functions.

