Microsoft Fabric Cloud Data Platforms Data Engineering

Xero to Microsoft Fabric: Accounting Data Integration Guide

Xero to Microsoft Fabric: Accounting Data Integration Guide
Microsoft Fabric Cloud Data Platforms Data Engineering

Xero to Microsoft Fabric: Accounting Data Integration Guide

⏱️10 min read
Microsoft Fabric · Data Engineering
Xero to Microsoft Fabric integration architecture showing REST API pipeline with If-Modified-Since incremental loading, CData Sync replication, Fivetran, and multi-entity OneLake consolidation for Power BI financial reporting

There is no native Xero connector in Microsoft Fabric or Power BI. The Xero community requested one in October 2025 - Microsoft has not yet committed to building it. Until that changes, every Xero to Fabric integration uses the REST API, CData Sync, Fivetran, or a specialist Xero analytics platform.

Integrating Xero to Microsoft Fabric starts with an honest statement of what exists: there is no native Xero connector in Microsoft Fabric Data Factory, no active Xero connector in the Power BI service, and no Xero mirroring path in the Fabric Open Mirroring ecosystem. Microsoft deprecated the Xero Power BI content pack on 28 May 2019 and it has not been replaced. Xero stated the integration was no longer supported as of 8 February 2022. A community request for a new Xero connector was submitted to the Microsoft Fabric Ideas forum in October 2025 - it has received votes but no Microsoft commitment to build it. For Xero's 4.6 million subscribers who run Microsoft analytics stacks, every path to Fabric currently goes through either the Xero REST API, a managed replication service, or a specialist Xero analytics platform.

This guide covers every production-viable path for Xero to Microsoft Fabric integration - what each requires, what constraints it carries, and how to handle Xero's specific API design (rate limits, the If-Modified-Since incremental pattern, multi-tenant connections) in a way that makes a Fabric integration reliable in production. It is written for data engineers, finance-technology leads, and analytics managers building financial reporting on Fabric for organisations running Xero.

📌 Connector Status

As of July 2026, Microsoft Fabric Data Factory does not include a native first-party Xero connector. There is no Xero mirroring integration in the Fabric Open Mirroring Partner Ecosystem. The deprecated Power BI Xero content pack (removed 2019, unsupported 2022) has no replacement. A community Ideas request for a native connector was submitted October 2025 with no Microsoft commitment to date. All production Xero to Fabric integration paths use the Xero REST API, CData Sync, Fivetran, or a specialist platform.

The Xero-Fabric Connector Gap: What Exists and What Doesn't

The absence of a native Xero connector in Microsoft Fabric is a more pronounced gap than most mid-market accounting integrations, because Xero has 4.6 million subscribers globally and is the dominant cloud accounting platform in the UK, Australia, New Zealand, and across much of Southeast Asia and South Africa. The Xero App Store lists over 1,000 third-party integrations - but a native Microsoft Fabric connector is not among them as of July 2026. The Xero-to-Fabric path is entirely dependent on the Xero API or an intermediary that wraps it.

What does exist - and works well - is Xero's REST API. Xero exposes six distinct API families: the Accounting API (invoices, contacts, payments, bank transactions, journals, accounts), the Payroll API (regional - AU/NZ and UK variants have different objects and structures), the Assets API, the Projects API, the Files API, and the Bank Feeds API. All share the same OAuth 2.0 authentication layer. All accept and return JSON. The Accounting API is the primary source for analytics extraction - it covers the core financial entities that matter for Power BI reporting. Building a reliable Xero to Fabric pipeline on this API is achievable with correct handling of the rate limits, the incremental pattern, and the multi-tenant architecture.

"Xero's API is well-designed and well-documented - the integration challenge isn't the API itself. It's the 60 calls per minute rate limit, the 5,000 calls per day ceiling per tenant, and the multi-organisation architecture that catches teams out when they scale."

Why Integrate Xero with Microsoft Fabric

The reasons to move Xero data into Microsoft Fabric fall into two categories. The first is to restore or improve Power BI financial reporting that either relies on the deprecated native connector or currently runs through manual exports. Landing Xero data in OneLake via a pipeline provides automated, scheduled refresh, historical depth, and DirectLake-mode Power BI performance - none of which the deprecated content pack provided even before it was removed.

The second and more strategically valuable reason is cross-system financial analytics. Xero holds invoices, contacts, payments, and bank transactions. What it cannot answer without data from other systems: which customers generate the highest margin (CRM + Xero), which projects are profitable relative to their original estimates (project management + Xero), how cash conversion cycle varies by customer segment (Xero AR combined with CRM deal timeline), or which marketing channels produce the highest-value customers (marketing platform + Xero revenue). Fabric's unified OneLake makes these joins straightforward once Xero data is replicated - and none of them are possible within Xero's native reporting environment alone.

Multi-entity consolidation is the third driver. Xero does not offer native consolidation across multiple organisations. Groups with subsidiaries, franchises, or clients across multiple Xero accounts must currently export from each account separately and reconcile in Excel - a process finance teams report consuming 60–80 hours per month for groups with five or more entities. Fabric dissolves that problem: all Xero organisations replicate to a shared OneLake workspace, and a single Power BI semantic model consolidates the data with consistent chart-of-accounts mapping, currency conversion, and intercompany eliminations.

Path 1 - Xero REST API Pipeline in Fabric Data Factory

Building a Fabric Data Factory pipeline against the Xero REST API is the zero-additional-licensing-cost path. The Xero Accounting API is well-documented, uses standard OAuth 2.0 with PKCE, returns JSON, and has explicit incremental loading support via the If-Modified-Since header. The engineering challenge is rate limit management, token refresh, and the daily call limit - all of which are manageable with correct pipeline design.

Step 01
Register a Xero app and configure OAuth 2.0 with Custom Connection
Navigate to developer.xero.com and create a new app. For machine-to-machine integration with a single Xero organisation, select Custom Connection - this uses client credentials flow without a redirect URI and is a premium Xero feature. For multi-organisation access (most analytics use cases), use the standard Authorization Code flow with a redirect URI. Copy the Client ID and Client Secret - the client secret is shown only once. OAuth 2.0 access tokens expire in 30 minutes; refresh tokens expire after 60 days if unused. Build token refresh logic as the first Web Activity in every pipeline run. Store credentials in Azure Key Vault.
Step 02
Retrieve tenant (organisation) IDs
Every Xero API call requires the Xero-Tenant-Id header identifying which Xero organisation is being accessed. A single OAuth 2.0 connection can be authorised for multiple tenants. Call GET https://api.xero.com/connections with your bearer token to retrieve a list of all authorised connections and their tenant IDs. Store tenant IDs in a Fabric Lakehouse configuration table for use in pipeline ForEach iterations. For multi-entity groups, this pattern enables a single pipeline to extract from all Xero organisations systematically.
Step 03
Extract data using If-Modified-Since for incremental loads
The Xero Accounting API supports incremental extraction via the If-Modified-Since header - send a UTC timestamp and the endpoint returns only records modified after that point. This is the correct and efficient incremental pattern for Xero: use it for Invoices, Contacts, Payments, Bank Transactions, Accounts, and Manual Journals. Pagination is available on invoices, contacts, bank transactions, and manual journals (100 items per page via the page parameter). Build a watermark table storing the last successful extraction timestamp per tenant per entity, updated after each successful pipeline run.
Step 04
Manage rate limits explicitly
Xero enforces 60 requests per minute per tenant, 5,000 requests per day per tenant (1,000 for Starter plan organisations), and 5 concurrent requests. Each API response includes X-DayLimit-Remaining, X-MinLimit-Remaining, and X-AppMinLimit-Remaining headers showing remaining quota. Exceeding limits returns HTTP 429 with a Retry-After header. In Fabric Data Factory, implement a Until activity with exponential backoff on 429 responses. For multi-entity pipelines extracting across many Xero organisations, stagger pipeline runs to avoid minute-limit exhaustion across tenants.
Step 05
Write to Fabric Lakehouse as Delta Parquet
Write each entity's data to the Fabric Lakehouse as Delta Parquet. For multi-entity groups, include a TenantId and OrganisationName column in each table - these become the partition and filter dimensions for entity-level and consolidated Power BI reports. Update the watermark table on successful completion of each entity's extraction run.

Path 2 - CData Sync Continuous Replication to OneLake

CData Sync provides automated, continuous, customizable Xero data replication to OneLake in Microsoft Fabric. CData Sync connects to Xero via the REST API, handles OAuth token refresh (including the 30-minute access token expiry), manages rate limit backoff, detects schema changes in Xero objects, and delivers data to OneLake continuously. For organisations that don't want to build and maintain a custom API pipeline, CData Sync is the most operationally complete path currently available for Xero to Fabric integration.

The setup is a configuration exercise rather than a pipeline engineering project: add a Xero source connection using your OAuth credentials, configure OneLake as the destination, select the Xero objects to replicate (Invoices, Contacts, Payments, Accounts, Bank Transactions, Journals, and so on), and set the replication frequency. CData Sync handles incremental change detection using the If-Modified-Since mechanism automatically - after the initial full load, only new and changed records are replicated. Schema changes in Xero are detected and propagated without manual pipeline updates.

CData also provides a standalone CData Power BI Connector for Xero - separate from CData Sync - which enables live DirectQuery access to Xero data from Power BI without staging data in Fabric first. For organisations that need near-live Xero data in Power BI dashboards without the latency of a replication pipeline, this connector is an alternative. For organisations building a broader Fabric analytics estate that combines Xero with other data sources, CData Sync with OneLake staging is the better architectural choice.

Path 3 - Fivetran Managed Connector

Fivetran's Xero connector is part of its 700+ connector expansion for Microsoft Fabric and OneLake (March 2025) and supports Xero as a fully managed source. Fivetran handles OAuth 2.0 authentication, incremental sync, schema normalisation, and delivery to OneLake via the Managed Data Lake Service (the direct OneLake destination was sunset in April 2026). The Fivetran Xero connector underwent a significant authentication change in early 2026 that organisations using it must be aware of.

⚠️ Fivetran Xero Authentication Migration Required

Fivetran discontinued its Fivetran-managed app authentication for the Xero connector effective March 2, 2026. Existing connections using the Fivetran-managed app that were not migrated to a Custom connection app or Web app stopped syncing on that date. If your Fivetran Xero connector was configured before February 2026, verify it has been migrated to the Custom connection authentication method. New Xero connections created after February 18, 2026 in AU, NZ, UK, and US regions support Custom connection; other regions use Web app authentication.

For organisations whose Fivetran Xero connections were migrated correctly, Fivetran continues to provide a reliable managed path. For organisations discovering a broken Fivetran Xero connector due to the March 2026 authentication cutover, the migration steps are documented in Fivetran's connector documentation. The Fivetran connector extracts the core Xero Accounting API objects and delivers them to OneLake, supporting both initial full loads and incremental updates.

Path 4 - Specialist Xero Analytics Platforms

A category of specialist tools has been built specifically for Xero financial analytics - predating Microsoft Fabric but now integrating with it as a destination. These tools address the two problems that generic integration tools don't solve natively: the Xero multi-entity consolidation problem and the chart-of-accounts standardisation problem that makes raw Xero data difficult to model analytically.

Zap BI is listed explicitly in the Xero App Store as providing Fabric integration - described as the simplest way to connect and consolidate live Xero data with Power BI, Excel, and Fabric, compatible with Azure Data Factory, Tableau, Solver, SSIS and many others. Zap BI provides a pre-built Xero intelligence layer and star-schema-optimised queries, and claims up to 5× faster Power BI refreshes through a ledger-adjustment transaction approach that enables add-only processing via XMLA rather than full partition reloads.

dataSights is a Xero analytics platform serving 300+ businesses with multi-entity consolidation, intercompany eliminations, multi-currency conversion, and Power BI connectivity. It connects to multiple Xero organisations, stages data through a SQL layer, and integrates with Power BI via standard SQL connectors - providing the governed, consistent data layer that a raw Xero API integration alone doesn't produce. dataSights also has an AI Connect feature that plugs into Claude, ChatGPT, Copilot, and MCP-compatible AI assistants for natural language financial querying.

Connectorly provides a dedicated Xero-to-Power BI connector with hourly sync from Xero into Power BI datasets - positioned specifically as a simpler alternative for organisations whose sole need is automated Power BI refresh on Xero data, without the broader Fabric analytics architecture that CData Sync or a custom pipeline provides.

Xero API Reference for Fabric Engineers

API base URL and six API families
Base URL: https://api.xero.com/api.xro/2.0/ (Accounting API). All calls require Authorization: Bearer {token} and Xero-Tenant-Id: {tenantId} headers. The six API families are: Accounting (invoices, contacts, payments, bank transactions, accounts, journals, reports), Payroll AU/NZ and Payroll UK (region-specific, different object structures), Assets, Projects, Files, and Bank Feeds. New integrations should confirm which Payroll API applies - Payroll AU/NZ and UK are structurally different and must not be mixed.
OAuth 2.0 token lifecycle
Access tokens expire in 30 minutes - significantly shorter than most accounting APIs. Refresh tokens expire after 60 days if unused. Build token refresh as the mandatory first step in every pipeline run. Custom Connection apps (single-tenant, premium Xero feature) use client credentials grant and don't require user interaction for token refresh. Standard multi-tenant apps use Authorization Code flow with PKCE and require user consent once per organisation.
Rate limits: 60/minute, 5,000/day per tenant
60 requests per minute per tenant; 5,000 per day per tenant (1,000 for Starter plan). 5 concurrent requests maximum. Response headers include X-DayLimit-Remaining, X-MinLimit-Remaining, X-AppMinLimit-Remaining. HTTP 429 on limit breach with Retry-After header. For multi-entity extractions across many tenants, the per-tenant limits are per organisation - total capacity scales with the number of organisations. Stagger runs across tenants to manage minute-level concurrency.
Incremental loading: If-Modified-Since header
Include If-Modified-Since: {UTC datetime} in GET requests to retrieve only records modified after that timestamp. This is the correct and recommended incremental pattern for Xero - use it for all Accounting API entities that support it (Invoices, Contacts, Payments, Bank Transactions, Accounts, Credit Notes, Purchase Orders). Pagination uses the page parameter (100 items per page) for endpoints that support it: invoices, contacts, bank transactions, and manual journals.
Webhooks for near real-time updates
Xero webhooks fire on create, update, and delete events for Invoices, Contacts, and Bills. Webhooks are signed with HMAC - validate the x-xero-signature header before processing. For near real-time Xero data in Power BI (current to within minutes), configure webhooks to trigger a Fabric pipeline run on Xero changes rather than relying solely on scheduled polling. A polling fallback covering entities not supported by webhooks is still required.

Multi-Entity Xero Consolidation in Microsoft Fabric

Xero's architecture treats every organisation as an isolated silo - each entity has its own login, its own chart of accounts, its own reporting suite, and no awareness of other entities. Xero confirmed in mid-2025 that consolidated reporting is not currently planned for the core product, directing customers to third-party solutions. For growing businesses and accounting firms managing multiple Xero entities, the current manual consolidation process - exporting from each entity, reconciling in Excel - consumes 60 to 80 hours per month for groups with five or more entities.

Microsoft Fabric is the most architecturally complete solution to this problem. The Xero to Fabric pipeline extracts from all organisations into a shared OneLake workspace, with a TenantId and OrganisationName column added to every record. The Fabric data model standardises chart-of-accounts mapping across entities (grouping differently-named accounts into consistent analytical categories), applies currency conversion using exchange rate data (also in OneLake), computes intercompany eliminations in the semantic layer, and exposes a single Power BI semantic model that reports on both individual entities and consolidated group results. The month-end close process that currently takes three or more hours per entity becomes a pipeline check rather than a manual exercise.

For accounting firms managing many client Xero organisations, the multi-tenant design of the Xero API - where a single OAuth 2.0 connection can access all authorised client organisations via their TenantId - makes the per-firm extraction architecture natural: one Fabric workspace, one pipeline serving all clients, per-client data isolation via Row-Level Security in Power BI, and consolidated benchmarking reports across the client portfolio available at the firm level without individual client data crossing security boundaries.

Xero to Microsoft Fabric: Path Comparison

Dimension REST API Pipeline (Fabric DF) CData Sync Fivetran Specialist Platform (Zap / dataSights)
Engineering effort High - OAuth, rate limits, watermark, multi-tenant Low - configure and run Low - point-and-click Very low - pre-built
Connector cost ✓ None - Fabric Data Factory only CData Sync licence Per-row pricing Per-entity / subscription pricing
Incremental loading ✓ If-Modified-Since header ✓ Automatic ✓ Managed ✓ Managed
Rate limit management Manual - implement retry and backoff ✓ Automatic ✓ Automatic ✓ Automatic
Multi-entity support ✓ Via ForEach over tenant list ✓ Multiple tenants configurable ✓ Multiple connections ✓ Built-in consolidation
Chart of accounts standardisation Manual - model in Fabric semantic layer Manual - raw Xero objects replicated Manual - raw Xero objects replicated ✓ Pre-built mapping
Intercompany eliminations Manual - build in Fabric model Manual Manual ✓ Included (dataSights)
Best for Multi-source Fabric estates; engineering capacity available Automated replication; no pipeline engineering Existing Fivetran customers adding Xero Multi-entity consolidation; accounting firms

Power BI Financial Reporting on Xero Data in Fabric

Once Xero data lands in OneLake, the financial reporting layer builds quickly from a compact set of core objects. The primary fact tables are Invoice line items (AR revenue), Bill line items (AP expense), Bank Transactions (cash movement), and Journal entries (GL-level detail). The primary dimensions are Contact (customer or supplier), Account (chart of accounts), Tracking Category (Xero's equivalent of department or cost centre), and Organisation (for multi-entity groups).

From these six objects, a complete management reporting suite becomes available in Power BI: profit and loss by period with prior-year comparison, AR aging by contact and invoice age, AP liability by supplier, cash flow by bank account and period, and budget versus actuals (where budget data is imported separately). For multi-entity groups, adding the Organisation dimension to every visual enables entity-level drill-down and group consolidation in the same semantic model. For Power BI consulting teams, Xero's data model is one of the more compact and cleanly structured among accounting platforms - the full financial reporting suite typically builds from six to eight core entities with moderate transformation work to align Xero's flat account structure into a grouped analytical chart of accounts.

The cross-system reports that unlock once Xero is in Fabric include customer profitability (Xero AR + CRM account data), project margin tracking (Xero billing + project management actual hours), channel revenue attribution (Xero invoices + ecommerce or marketing data), and payroll cost analysis (Xero Payroll data + HR headcount planning). None of these are possible within Xero's native reporting environment - all of them become straightforward Power BI queries once the data is unified in OneLake alongside other source systems as part of a broader Microsoft Fabric migration programme.

Common Mistakes in Xero to Microsoft Fabric Integrations

Not building token refresh into every pipeline run. Xero access tokens expire in 30 minutes - the shortest expiry of any major accounting platform. Teams that cache the access token across pipeline runs encounter authentication failures on the second run. The token refresh Web Activity must be the first step in every Fabric pipeline execution, regardless of how recently the token was obtained.

Ignoring the Payroll API regional split. Xero operates two distinct Payroll APIs: one for Australia and New Zealand, another for the United Kingdom. They have different object structures, different endpoints, and different field names for equivalent data. Teams building multi-region Xero integrations that assume a single Payroll API structure across all organisations will encounter extraction failures or schema mismatches for non-UK/AU payroll objects. Confirm the regional Payroll API variant for each Xero organisation before building the payroll extraction layer.

Building a single-tenant pipeline for a multi-entity group. Xero's multi-tenant architecture means every organisation has a distinct TenantId. A pipeline hardcoded to one tenant's ID only extracts from that organisation. For groups with multiple Xero entities, the pipeline must retrieve the tenant list dynamically from the /connections endpoint and iterate across all authorised tenants. This is a ForEach pattern in Fabric Data Factory - parameterised Copy Activities called once per tenant per entity.

Hitting the 5,000 daily API call limit during initial load. An initial full load of a large Xero organisation - several years of invoices, thousands of contacts, extensive bank transaction history - can exhaust the 5,000 daily call limit before the first load completes. Design the initial load to run across multiple days, prioritising the most analytically important entities first (Invoices, Contacts, Accounts) and using date-range filters (DateString parameter) to batch historical extraction across multiple pipeline runs.

Mixing raw Xero chart-of-accounts values in the Power BI model without standardisation. Xero allows each organisation to define its own chart of accounts independently. For single-entity reporting this is not a problem, but for multi-entity groups, the account names and codes for equivalent P&L lines differ across organisations - meaning a raw join produces an unmergeable list of accounts. Build a chart-of-accounts mapping table in Fabric that standardises Xero account names to consistent analytical groupings (Revenue, Cost of Sales, Gross Profit, Operating Expenses, etc.) before any multi-entity Power BI calculations are performed.

Microsoft Fabric Consulting
Integrating Xero with Microsoft Fabric for Power BI financial reporting?
Numlytics builds production-grade Xero to Fabric pipelines - REST API extraction with If-Modified-Since incremental loading, multi-entity OneLake consolidation, chart-of-accounts standardisation, and Power BI financial semantic models - with a scoped proposal within 24 hours.
Get Free Migration Assessment →

Conclusion

Xero to Microsoft Fabric is the most connector-constrained integration in the accounting platform landscape - no native connector, no mirroring path, a deprecated Power BI content pack with no replacement, and a community request for a new connector that Microsoft has not yet committed to building. But Xero's REST API is well-designed, well-documented, and production-proven for analytics extraction. CData Sync provides automated replication to OneLake that handles the API complexity without custom pipeline engineering. Fivetran provides a managed connector for organisations already in the Fivetran ecosystem - with the caveat that the authentication migration required by March 2026 must be verified. Specialist platforms like Zap BI and dataSights address the multi-entity consolidation problem that generic integration tools leave as manual work.

The right path depends on engineering capacity, multi-entity complexity, and whether Xero is the primary source or one of several systems in a broader Fabric programme. For organisations building Fabric as a unified financial analytics estate across Xero, a CRM, and operational systems, the REST API pipeline or CData Sync provides the cleanest architecture. For multi-entity consolidation-first use cases, a specialist platform like dataSights addresses the problem most directly. Numlytics delivers Xero to Fabric integration alongside broader Microsoft Fabric migration and data engineering programmes. Speak with a certified Fabric consultant to scope the right Xero integration architecture for your organisation.