Skip to main content

Data Tables

Pull complete datasets from Xero as Excel tables. Unlike formulas (which return single values), tables give you full lists of invoices, contacts, accounts, and more - ready for filtering, sorting, and analysis.

Tables vs Formulas

Use Tables when:

  • You need complete lists (all invoices, all contacts)
  • You want to filter and sort in Excel
  • You need transaction details for analysis

Use Formulas when:

  • You need specific values (account balance, contact email)
  • You're building calculations
  • You want data in specific cells

How to Insert a Table

  1. Open the XO Report task pane
  2. Click Tables and Reports tab
  3. Select a table type from the dropdown
  4. Choose your organizations (multi-select supported)
  5. For transaction tables, select a date range
  6. Choose columns to include
  7. Click Insert Table

Reference Data Tables

Transaction Tables

Transaction tables require a date range. Status filtering is available for Invoices, Bills, and Credit Notes only. Payments do not support status filtering — all payment records in the date range are returned.

Multi-Organization Support

When you select multiple organizations, data is combined into one table with OrgID and OrgName columns for filtering.

Where to put XO tables on the sheet

By default, XO Report puts every new table on its own sheet. Keep it that way — it's the simplest layout and refresh always works.

Avoid stacking tables on the same sheet

When you refresh, the table grows downward. If another table is below it, refresh fails. Empty rows in between don't help — they get used up as the table grows.

Need multiple tables on one sheet?

Place them side by side in different columns, not stacked.

Don't rename or copy-paste XO tables

XO tables are linked to Xero by their name, which always starts with XO_. Copy-pasting an XO table or renaming it so it no longer starts with XO_ breaks the link and the table can no longer refresh. To reuse a layout, insert a new table from the task pane. If you must rename, keep the XO_ prefix.

If you see the error "Can't refresh ‘…’ — it can't grow into the table directly below it": move or delete the table underneath, then refresh again. See Troubleshooting.

Table Refresh

Click anywhere in your table and use the Refresh Tablebutton to get the latest data. Your date presets (like "Last Month") are re-calculated and custom columns you added are preserved.