xero-python — Xero’s own client, generated from their OpenAPI document — against the container, so what the twin answers has to survive the SDK’s own deserialisation of Xero’s /Date(...)/ encoding and its decimal amounts.
Slug: xero
What it models
Advancing the sandbox approves a submitted invoice. Being overdue is not a status: it is derived from the due date, which the
age_invoice directive can push into the past.
Scenarios
overdue-receivables, rate-limited, disconnected-tenant.
Not modelled
The OAuth authorization code flow itself — the twin is handed a live token — along with webhooks, bank transactions and reconciliation, bank transfers, credit notes, prepayments and overpayments, purchase orders, quotes, manual journals, tracking categories, contact groups, attachments, branding themes, Payroll, Files, Projects and reports. Everything unmodelled answers501 in Xero’s own validation envelope, naming what was asked for. A where clause or an order this twin cannot apply is refused the same way rather than quietly ignored.