Overview
XO Report brings your Xero accounting data directly into Excel with powerful custom formulas and one-click reports. Stop exporting csv files from Xero — build live, refreshable financial reports in the spreadsheet you already know.
Custom Formulas
Type formulas like =XO.BALANCE() to pull any GL account balance. XO Report includes 11 custom functions covering account balances, budgets, net profit, chart of accounts, contacts, items, tracking categories, tax rates, and currencies. A visual Formula Builder in the task pane guides you step by step — no coding required.
Formulas can pull data from multiple organizations at the same time.
One-Click Reports and Tables
Pull complete financial reports and data tables with a guided wizard:
- Financial reports: Profit & Loss, Balance Sheet, Trial Balance, Bank Summary, Executive Summary, Budget Summary
- Aging reports: Aged Receivables and Payables by contact
- Transaction tables: Invoices, Bills, Payments, Credit Notes with date and status filters
- Reference tables: Chart of Accounts, Contacts, Items, Tracking Categories, Tax Rates, Currencies
Reports support multi-organizations, period comparison and tracking categories.
Multi-Organization Support
Connect multiple Xero organizations from a single Excel workbook. Switch between orgs instantly or pull data from all of them side by side.
Built for Accountants and Finance Teams
- Refresh all data with one click — formulas and tables update in place
- Choose which columns to include in each table
- Filter transactions by status, date range, and contact
- Export formula results as static values for sharing
- Works with Excel desktop (Windows and Mac) and Excel Online
Security
- OAuth 2.0 authentication — we never see your Xero password
- Data encrypted in transit and at rest
- No data stored permanently — fetched live from Xero on each refresh
- GDPR compliant with full data erasure support
Pricing
Plans start at $9.90/month. All plans include unlimited users and full access to every feature — the only difference is the number of Xero organizations.
14-day free trial. No credit card required.
XO Report + Xero
XO Report connects to Xero via the official Xero API using OAuth 2.0 authentication. Data flows one way — from Xero into Excel. XO Report does not write, modify, or delete any data in Xero.
How It Works
- User authorizes XO Report in their Xero organization via standard OAuth consent
- Access tokens are stored securely in a Supabase PostgreSQL database
- When a user types a formula or inserts a table, the Excel add-in calls a Supabase Edge Function
- The Edge Function authenticates with Xero using the stored token and fetches the requested data
- Data is returned to Excel and displayed in cells or tables
- Tokens are refreshed automatically — users stay connected without re-authenticating
Xero API Scopes Used
- accounting.read — Read financial data (accounts, invoices, reports, contacts, items)
- accounting.contacts.read — Read contact details
- accounting.reports.read — Read financial reports (P&L, Balance Sheet, Trial Balance)
- openid, profile, email — User identity for authentication
Data Flow Architecture
Excel Add-in → Supabase Edge Functions → Xero API
All API calls are proxied through Supabase Edge Functions. The Excel add-in never communicates directly with Xero. This architecture ensures tokens are never exposed to the client.
Data Handling
- Read-only integration — no data is written back to Xero
- No data is cached permanently — each refresh fetches live data from Xero
- Short-term client-side caching (5–30 minutes) reduces redundant API calls
- Users can disconnect organizations at any time, which revokes the OAuth token
Rate Limiting
XO Report respects Xero's API rate limits with built-in request queuing and exponential backoff. Concurrent requests are limited to prevent throttling.
Security
- OAuth tokens encrypted at rest (AES-256-GCM)
- Row-Level Security (RLS) on all database tables — users can only access their own data
- All Edge Functions require JWT authentication
- PII scrubbed from error monitoring (Sentry)
- GDPR data erasure endpoint available
Pricing plans
This app includes a free 14 day trial
Solo
- All 11 custom functions
- Tables & Reports
- Unlimited users
- On-demand refresh
- Email support
Lite
- All 11 custom functions
- Tables & Reports
- Unlimited users
- On-demand refresh
- Email support
- USD 4.97 per org
Pro
- All 11 custom functions
- Tables & Reports
- Unlimited users
- On-demand refresh
- Priority support
- USD 2.99 per org
Max
- All 11 custom functions
- Tables & Reports
- Unlimited users
- On-demand refresh
- Dedicated support
- USD 1.00 per org
Enterprise
- All 11 custom functions
- Tables & Reports
- Unlimited users
- On-demand refresh
- Dedicated support
- USD 1.00 per org
- Custom onboarding
Getting started
Getting started with XO Report takes about 5 minutes. No technical setup required.
Step 1: Install the Add-in
- Open Excel 365 (Windows, Mac, or Excel Online)
- Go to Insert → Get Add-ins
- Search for "XO Report"
- Click Add to install
The XO Report icon appears in your Home tab.
Step 2: Connect to Xero
- Click the XO Report icon to open the task pane
- Click "Connect to Xero"
- Sign in with your Xero credentials and authorize access
- Your 14-day free trial starts automatically — no credit card needed
- A guided tour will show you the ropes in 60 seconds
Step 3: Pull Your First Report
- In the task pane, switch to the "Tables" tab
- Select "Profit & Loss" from the report list
- Choose your organization and date range
- Click Insert — your P&L appears as an Excel table
Step 4: Try a Formula
- Type =XO. in any cell to see all available functions, or use the formula builder
- All functions need the organization ID, which can be be found by inserting =XO.ORG() in any cell, or in the settings pane
Step 5: Refresh Data
Click the Refresh button in the task pane to update all formulas and tables with the latest Xero data.


