Glossary
Short explanations of the acronyms, products, and data words you will see around x0.
Each entry has a one-line meaning and a link to a more authoritative source.
x0 itself is the slim connector between Xero (your books) and tools such as Excel (your analysis).
Full catalogue: documentation index.
Term index (A–Z)
API ·
API key ·
Ask x0 ·
Basic auth ·
Bearer ·
Cache ·
Codenames ·
CSDL ·
Dashboard ·
Data schema ·
Dirty ·
Email forms ·
Excel add-in ·
GST ·
Gzip ·
Julian ·
OAuth ·
OData ·
Office.js ·
Power Query ·
Q-XXXX ·
Scope ·
SMTP ·
SPF ·
Tax invoice ·
Tenant ·
Incremental sync ·
TTL ·
Watermark ·
Warehouse ·
Webhook ·
Xero simulator ·
Yaak ·
Koura ·
Kahawai ·
Pāua
Protocols and APIs
| Term |
Meaning |
More |
| API |
Application Programming Interface — a machine-readable way for one system to ask another for data or actions. |
MDN |
| REST |
A common style of HTTP API (resources, GET/POST, JSON). Xero’s accounting API and much of x0’s JSON surface are REST-ish. |
MDN |
| HTTP / HTTPS |
The web’s request/response protocol. HTTPS is HTTP with TLS encryption (padlock). Always use HTTPS for API keys. |
MDN HTTPS |
| JSON |
JavaScript Object Notation — the usual text format for API payloads ({ "Name": "Sales" }). |
json.org |
| OData |
Open Data Protocol — a standard (from Microsoft / OASIS) for querying tabular data over HTTP. Excel and Power BI speak it natively. x0’s Excel path is OData v4. |
odata.md · odata.org |
| CSDL |
Conceptual Schema Definition Language — the XML metadata ($metadata) that tells Excel column names and types for an OData service. |
OData CSDL |
| ODBC |
Open Database Connectivity — a classic Windows/SQL driver standard so apps can talk to databases through a common API. Different from OData (HTTP tables vs SQL drivers). |
Microsoft ODBC |
| OLE |
Object Linking and Embedding — older Microsoft tech for embedding/linking documents and objects. You may see it in legacy Excel or Office docs; x0 does not require it. |
Microsoft OLE |
| OLE DB |
Microsoft data-access layer related to OLE, often mentioned next to ODBC. Again: not what x0 uses for Excel (we use OData / HTTP). |
Microsoft OLE DB |
| OpenAPI / Swagger |
A description format for HTTP APIs (paths, parameters, schemas). Useful for tooling; Excel still prefers OData for tables. |
OpenAPI Initiative |
| SSE |
Server-Sent Events — a one-way HTTP stream of updates (used on the staff ops live diagram). |
MDN SSE |
| Webhook |
An HTTP callback: “when something happens, POST JSON to this URL.” Xero can webhook into x0; you can webhook out to Zapier/Slack/etc. |
webhooks.md · Xero webhooks |
Auth and security
| Term |
Meaning |
More |
| OAuth 2.0 |
Industry-standard “sign in / authorise app” flow. You connect Xero once; x0 stores tokens and refreshes them. You do not paste Xero passwords into Excel. |
oauth.net · Xero OAuth 2.0 |
| Bearer token |
An access secret sent as Authorization: Bearer …. Excel’s recommended path for x0 keys. |
excel-desktop.md · RFC 6750 |
| Basic auth |
Excel Get Data username/password. Username = token id (x0_live_<ULID>), password = secret (right of the .). |
excel-desktop.md |
| API key |
A long-lived secret x0 issues (x0_live_… / x0_test_…) so Excel or scripts can call the API without OAuth in the client. Treat like a password. |
excel-addin.md · OWASP |
| Scope |
A permission string limiting what a token/key can do (e.g. read accounts). Xero OAuth scopes and x0 data scopes are related ideas. Choose endpoints on Authorisations; restricted scopes appear greyed out. |
portal-dashboard.md · odata.md · Xero scopes |
| invalid_scope |
Xero OAuth error when the authorize URL includes a scope your app cannot request (deprecated, wrong tier, or missing approval). x0 avoids this by greying out unlicensed endpoints. |
portal-dashboard.md |
| HMAC |
Hash-based message authentication — used to verify webhook signatures so faked callbacks are rejected. |
RFC 2104 |
| TLS |
Transport Layer Security — the crypto under HTTPS. |
MDN TLS |
| Tenant ID |
Xero’s GUID for one organisation. Multi-org accounts need the right tenant on each request. |
Xero tenants |
Microsoft and Excel
| Term |
Meaning |
More |
| Excel Desktop |
The installed Windows/Mac Excel app (not Excel Online). Best place for Power Query + OData against x0. |
Excel |
| Power Query |
Excel/Power BI’s get-and-transform engine. Pulls data, shapes it, refreshes on demand. |
Microsoft Power Query |
| M (Power Query M) |
The formula language behind Power Query (OData.Feed, let / in). |
M language |
| OData.Feed |
Power Query function that consumes an OData service root or entity. |
OData.Feed |
| Get Data → From Web |
Excel UI path to call an HTTP URL; with Advanced you can add a Bearer header (recommended for x0). |
From Web |
| Web API (Excel credential) |
Excel’s credential type that often appends ?api_key= instead of a real header. Flaky with long dotted keys — prefer Bearer. |
Web connector |
| Excel add-in |
Office.js task pane (Connect x0) that signs you in, issues a token, loads a table, and emails form PDFs. |
excel-addin.md |
| Word add-in |
Office.js task pane for Word: mail merge letters, Avery L7160 labels, item catalogue from x0 cache. |
word-addin.md |
| Trusted Add-in Catalog |
Excel/Word Trust Center entry (UNC or SharePoint) that lists x0 manifests under SHARED FOLDER; x0 ships a zip + PowerShell helper. |
trusted-addin-catalog.md |
| Mail merge |
Word Mailings (or the x0 add-in) filling «MERGEFIELD» tokens from a CSV / x0 contacts. |
word-addin.md |
| Avery L7160 |
Common NZ A4 label sheet: 3×7 (21 labels, 63.5 × 38.1 mm). |
word-addin.md |
| Office.js |
Microsoft’s JavaScript API for Office add-ins (Excel / Word task pane). |
excel-addin.md · word-addin.md · Office.js |
| NZ forms |
A4 stationery workbook: tax invoice, PO, quote, remittance, RFQ, cash receipt, service card, asset sale, customer statement, inventory transfer, faulty return, works order. |
excel-forms.md |
| Reports & Attachments workbook |
Separate Excel pack for Attachments, Reports, and Reports_Table — kept out of Accounts / All-endpoints downloads because they are heavy. |
excel-workbook.md · odata.md |
| Refresh |
Re-run a Power Query so Excel pulls the latest rows from x0 (which may serve cache or hit Xero). |
Refresh data |
| XLSX |
Modern Excel workbook file format (Office Open XML). x0 downloads snapshot workbooks as .xlsx. |
OOXML |
| XLSM |
Macro-enabled Excel workbook. Accounts “include scripts” downloads stay .xlsx with VBA source in MacroSetup; save as .xlsm after importing the module. |
VBA |
| SourceType |
Catalogue row for a Xero enum / pseudo-table value (Account_Class_Types, Tax_Types, …), optionally country-tagged. |
source-types.md |
| Power BI |
Microsoft’s BI / dashboard product. Also consumes OData; same mental model as Excel tables. |
Power BI |
| Power Automate |
Microsoft’s flow/automation product (cloud workflows). x0’s Excel path does not require Power Automate Premium. |
Power Automate |
| Custom connector |
A packaged API definition inside Power Automate / Power Apps. Optional enterprise path; not required for desktop Excel + x0. |
Custom connectors |
Data, cache, and databases
| Term |
Meaning |
More |
| Cache |
A stored copy of data kept for speed and to reduce upstream API calls. Excel usually reads x0’s cache; “Refresh data” on the portal pulls from Xero. Staff codenames: kahawai (sync), pātiki (flat tables). |
data-freshness.md · codenames.md |
| TTL |
Time To Live — how long a cache entry is considered fresh before it should be refreshed. |
TTL |
| Incremental sync |
Refresh that asks Xero only for rows changed since the last snapshot (If-Modified-Since), then upserts them into cache. |
data-freshness.md |
| Watermark |
Latest UpdatedDateUTC we hold for a table — the cursor for the next incremental fetch. |
data-cache-and-sync.md |
| If-Modified-Since |
HTTP header Xero uses for “records updated after this time” (not an OData $filter). |
Efficient data retrieval |
| Dirty (cache) |
Flag meaning “upstream changed; this snapshot may be stale.” Often set by webhooks or after writes. |
— |
| Write-back |
x0 → Xero create/update/delete and lifecycle actions (Accounts through Payments). |
contacts-invoices-write.md · items-purchase-orders-write.md · credit-notes-payments-write.md · accounts-write.md |
| ETL |
Extract, Transform, Load — classic data-pipeline pattern (pull → reshape → store). x0 is a thin extract/serve layer more than a full ETL suite. |
ETL |
| BI |
Business Intelligence — reporting and analysis tools (Excel, Power BI, Metabase, etc.). |
BI |
| SQL |
Structured Query Language — how you query relational databases. |
SQL |
| Postgres / PostgreSQL |
A popular open-source relational database. x0 can optionally expose a read-only warehouse schema of your cached tables. |
postgres.md · postgresql.org |
| Warehouse |
Your private read-only SQL schema of cached Xero tables (Professional+). Staff codename: koura. |
postgres.md · codenames.md |
| Schema |
A named namespace of tables inside a database (e.g. your private warehouse schema). |
Postgres schemas |
| Primary key |
Column(s) that uniquely identify a row (ContactID, InvoiceID, …). |
Primary key |
| Materialize |
Copy/transform cached JSON into SQL tables in the warehouse. |
— |
| jq |
A command-line JSON processor; x0 can use jq-style transforms to reshape rows for Excel. |
jqlang.org |
| Row / column / table |
The spreadsheet model: entities become tables, fields become columns, records become rows. OData entity sets map to Excel tables. |
— |
Xero and accounting shape
| Term |
Meaning |
More |
| Xero |
Cloud accounting product; source of truth for your books. |
xero.com · Xero API |
| Organisation / tenant |
One Xero company file. One x0 customer may connect several. |
Xero tenants |
| Chart of accounts |
The list of account codes (Sales, Bank, GST, …) — x0 Accounts. |
Xero Accounts |
| Contact |
Customer/supplier (and related) records in Xero. |
Contacts |
| Invoice / payment / bank transaction |
Core sales and cash documents Xero exposes over API; x0 flattens many of these for Excel. |
Accounting API |
| Tax invoice (NZ) |
GST tax invoice stationery in the NZ forms workbook (15% GST + GST number). |
excel-forms.md · IRD GST |
| GST |
Goods and Services Tax (NZ 15%). Forms use cell F10 for the rate. |
excel-forms.md · IRD GST |
| Manual journal / GL journal |
Bookkeeping entries; journals can be nested (header + lines). _Table endpoints flatten lines for Excel. |
Manual journals · Journals |
| GL |
General Ledger — the full set of posted accounting entries. |
General ledger |
x0 product words
| Term |
Meaning |
More |
| x0 / x0 connector |
This service: OAuth to Xero, cache, OData/API for Excel and other clients. |
x0.co.nz |
| Portal |
The signed-in website (dashboard, keys, guides, support). |
— |
| Dashboard |
Home for connections, authorisations, Settings, data schema, cache status, API keys, warehouse, workbook download. |
portal-dashboard.md · data-schema.md |
| Authorisations |
Dashboard panel to choose which Xero data endpoints (OAuth scopes) x0 may sync. Select all licensed checks only endpoints your tier allows. |
portal-dashboard.md |
| Data schema |
Interactive ER diagram of OData tables on the dashboard (row counts, last refresh). Agents get the same picture as mermaid via MCP get_schema_diagram. |
data-schema.md |
| Source |
An upstream system type (today: Xero). |
— |
| Endpoint / entity set |
A named OData table you can pull (Accounts, Invoices_Table, …). |
odata.md |
_Table suffix |
Excel-friendly flattened view (one row per line item), not the nested header document. |
odata.md |
| Live vs test key |
x0_live_* for production use; x0_test_* for safe experiments. Same API, different environment tag. |
excel-addin.md |
| Refresh data (portal) |
Explicit pull from Xero into x0 cache (does not by itself refresh an open Excel file). |
data-freshness.md |
Connection card (X0 entity) |
Small OData entity describing your connection, scopes, and docs links. |
odata.md |
| Email forms |
Portal tab to set From: + SMTP and see PDFs emailed from Excel. |
email-forms.md |
| SMTP |
Simple Mail Transfer Protocol — how x0 (or your own server) sends email. |
email-forms.md · SMTP |
| SPF |
Sender Policy Framework — DNS record that authorises who may send mail for your domain. Use with My SMTP, or include x0 if From: is your domain. |
email-forms.md · SPF |
| Outbound email |
Any message x0 sends (form PDFs, invoices, query answers, password resets). Customers see Sent forms; staff see Mission Control → Outbound email. |
email-forms.md |
| Ask x0 |
In-portal assistant (Standard+) for tech, pricing, and data questions; logged as Q-XXXX. |
agentic-query.md |
| Q-XXXX |
Support / Ask x0 id: Q- plus four Crockford characters (no I/L/O/U). Quote it in email. |
agentic-query.md · support-queries.md |
| Microsoft JSON date |
Xero’s /Date(milliseconds±offset)/ — ms since 1970-01-01 UTC, not seconds. x0 stores ISO instead. |
date-transform.md |
| Julian / Excel serial |
Date stored as days since 1899-12-30 (Excel). Option date_format_iso → julian on serve only. |
date-transform.md |
| Gzip |
Optional compressed API responses (Accept-Encoding: gzip). Standard+. |
gzip-responses.md |
| Xero simulator |
Read-only drop-in for api.xero.com / identity while developing. Validates OAuth scopes like production; optional soft OAuth for dev-token bypass. Public page /sim/. |
xero-simulator.md |
| test.x0.co.nz |
Docker Compose install of x0 on x0-dev (:8140/:8141) for validating container deploys. |
docker-deploy.md |
| Yaak |
A desktop HTTP client (like Postman) useful for testing Bearer calls. |
yaak.md · yaak.app |
| Term |
Meaning |
More |
| Django |
Python web framework powering the portal and admin. |
djangoproject.com |
| FastAPI |
Python framework powering the high-throughput API / OData service. |
fastapi.tiangolo.com |
| ULID |
Sortable unique ID used in some key prefixes. |
ulid spec |
Feature codenames (staff)
Internal names for roadmap themes and support notes — not shown to customers. Full guide: codenames.md.
| Codename |
Customer term |
One-line |
| Koura |
SQL warehouse (Track B) |
Materialised Postgres schema |
| Pātiki |
Table cache (Track A) |
Flat JSON row store |
| Kahawai |
Cache sync & refresh |
Incremental fetch, scheduled refresh |
| Hāpuku |
OData & API egress |
Tables served to Excel and agents |
| Pāua |
Excel & Power Query |
Spreadsheet integration path |
| Īnanga |
Webhooks & jq |
Small edge signals and transforms |
| Kōaro |
Write-back |
Upstream pushes into Xero |
| Kōkopu |
Portal & dashboard |
Signed-in home stream |
| Whekē |
AI / MCP / Ask x0 |
Agent and assistant surfaces |
| Marama |
Scheduled jobs |
Moon-over-water; cron / off-peak |
| Matariki |
Data schema diagram |
Star-cluster ER overview |
| Ruru |
Mission Control / ops |
Owl mascot — actions, not fish |
Metaphor: ruru hunts at night over streams; codenames come from kai moana she forages (especially small river fish like īnanga and kōaro) and night-active species (koura, pātiki).
Something missing? Use Support or the dashboard feedback box and we will add it.