x0 Home Data schema diagram

Data schema diagram

How x0 tables relate to each other — the same catalog as OData, shown as a diagram.

After you connect a Xero organisation, Dashboard → Data schema draws pictograms (Accounts, Contacts, Invoices, …) with linkage lines between them. Each node shows row count and last refresh from the cache. Double-click a pictogram to jump to that entity in the OData guide.

Agents can paste the same picture into markdown: MCP tool get_schema_diagram (see MCP for AI agents).

On the dashboard

You need a connected Xero organisation. Then:

  1. Open Dashboard.
  2. Find Data schema (above the Data cache table).
  3. Optionally pick an organisation if you have more than one.
  4. Click a table for row counts, last fetched, OData name, and docs links.
  5. Double-click to open OData docs at that entity (#entity-Invoices, …).
  6. Drag to pan, scroll to zoom. Toggle Port ticks, Relationship labels, and layer groups (transactions, line tables, …).

Ring colour:

Ring Meaning
Green Cached and last sync complete
Amber Rows present, sync pending or stale
Grey Not in cache yet — refresh data or enable the endpoint

Excel line tables (Invoices_Table, Contacts_Table, …) appear as dashed “hosted” links beside their parent once those tables are cached.

What the layout means

Left to right:

Column What
Portal Your x0 customer and connected organisation
Organisation Settings (Xero /Organisation)
Master data / Contacts Chart of accounts, items, tax, contacts, contact groups
Transactions Invoices, bills, quotes, POs, repeating invoices, …
Ledger / banking Journals, manual journals, budgets, bank transactions, payments
Crawled / partner Attachments, reports, history notes; Bank Feeds / payment services

Solid lines are relationships (often a foreign key such as ContactID). Dashed lines are Excel *_Table flattenings of nested arrays (LineItems, Addresses).

Mermaid (for docs and agents)

This is the overview catalog (no Excel line tables). Paste it into GitHub, Cursor, or your own markdown. The live dashboard diagram adds cache stats on top of the same entities.

flowchart LR
  subgraph sg_portal["Portal & connection"]
    customer["Customer"]
    organisation["Organisation"]
  end
  subgraph sg_org["Organisation"]
    settings["Settings"]
  end
  subgraph sg_master["Master data"]
    accounts["Accounts"]
    brandingthemes["BrandingThemes"]
    contactgroups["ContactGroups"]
    currencies["Currencies"]
    invoicereminders["InvoiceReminders"]
    items["Items"]
    taxrates["TaxRates"]
    trackingcategories["TrackingCategories"]
    users["Users"]
  end
  subgraph sg_contacts["Contacts"]
    contacts["Contacts"]
  end
  subgraph sg_transactions["Transactions"]
    batchpayments["BatchPayments"]
    creditnotes["CreditNotes"]
    invoices["Invoices"]
    linkedtransactions["LinkedTransactions"]
    overpayments["Overpayments"]
    prepayments["Prepayments"]
    purchaseorders["PurchaseOrders"]
    quotes["Quotes"]
    repeatinginvoices["RepeatingInvoices"]
  end
  subgraph sg_ledger["Ledger & budgets"]
    budgets["Budgets"]
    journals["Journals"]
    manualjournals["ManualJournals"]
  end
  subgraph sg_banking["Banking"]
    banktransactions["BankTransactions"]
    banktransfers["BankTransfers"]
    payments["Payments"]
  end
  subgraph sg_crawled["Crawled catalogs"]
    attachments["Attachments"]
    historynotes["HistoryNotes"]
    reports["Reports"]
  end
  subgraph sg_partner["Partner APIs"]
    bankstatements["BankStatements"]
    paymentservices["PaymentServices"]
  end
  customer --> organisation
  organisation --> settings
  settings --> accounts
  settings --> brandingthemes
  settings --> contactgroups
  settings --> currencies
  settings --> invoicereminders
  settings --> items
  settings --> taxrates
  settings --> trackingcategories
  settings --> users
  settings --> contacts
  settings --> batchpayments
  settings --> creditnotes
  settings --> invoices
  settings --> linkedtransactions
  settings --> overpayments
  settings --> prepayments
  settings --> purchaseorders
  settings --> quotes
  settings --> repeatinginvoices
  settings --> budgets
  settings --> journals
  settings --> manualjournals
  settings --> banktransactions
  settings --> banktransfers
  settings --> payments
  settings --> bankstatements
  settings --> paymentservices
  contacts -->|ContactID| batchpayments
  contacts -->|ContactID| banktransactions
  contacts -->|ContactID| creditnotes
  contacts -->|ContactID| invoices
  contacts -->|ContactID| linkedtransactions
  contacts -->|ContactID| overpayments
  contacts -->|ContactID| prepayments
  contacts -->|ContactID| purchaseorders
  contacts -->|ContactID| quotes
  contacts -->|ContactID| repeatinginvoices
  contactgroups -->|ContactIDs| contacts
  accounts -->|AccountID (lines)| invoices
  settings --> attachments
  settings --> reports
  settings --> historynotes

Full catalog (every *_Table line grain plus X0 / Tenants / Tables): MCP get_schema_diagram with detail=full, or resource x0://schema-diagram.

Sign in to see connection status