Xero
live · conformance passing
Models the Xero Accounting API an integration actually posts to — contacts, the chart of accounts, items, invoices through their status lifecycle, and payments that move what an invoice still owes — over OAuth 2.0 with a tenant, Xero's .NET date encoding, its rate-limit headers and its idempotency keys.
- Category
- Accounting
- Sandbox key
- eyJ…
- Verified against
- xero-python 15.2.0
- Replaces
- A shared demo company, and a 60-call minute you cannot get back
Scenarios
Start a sandbox in one of these, or describe the state you want in a sentence and the seeder writes the records it implies.
Overdue receivables
Authorised invoices past their due date against one contact, one of them part paid, for collections and ageing logic.
Rate limited
The tenant starts with no per-minute allowance left.
Disconnected tenant
The access token is live but the tenant connection is gone.
What it models
Records your code can read, write and edit for the life of the sandbox. A route the twin does not model returns a provider-shaped refusal rather than a plausible response.
- contacts
- accounts
- items
- invoices
- payments
- organisation
- idempotency_keys
Verified in CI against
- pythonxero-python15.2.0