How to consolidate your multiple Xero accounts into a single cohesive reporting strategy
This article is part of our BI walkthrough series: reading time 4 minutes (approx)
The existing reporting tools for Xero are numerous and comprehensive. But if you're running multiple Xero accounts and need to consolidate data across your entire organization, things get a little more difficult.
In this walkthrough, we'll use SyncHub to take you through the process of syncing your various accounts to a single location, then aggregating your data to build a comprehensive view across your entire business.
Head over to your Connection Dashboard in SyncHub and follow the instructions to connect your first Xero account, which will take just a few mouseclicks and a couple of minutes. As part of the connection process, you're asked to provide details of the database where you'd like us to sync your data. We currently support Snowflake, BigQuery, Redshift, Postgres and SQL Server/Azure. And don't worry, if you don't have your own database, we provide a free dedicated SQL Azure database on all our pricing plans.
Once completed, SyncHub creates a unique database schema inside your data store, then immediately starts syncing your Xero data from the cloud. This results in various database tables that look something like this:
InvoiceID | Status | Date | Total | InvoiceNumber | AmountPaid |
---|---|---|---|---|---|
424a70ac-9d5a-42bf-b3d3-51c6259ec602 | AUTHORISED | 2024-11-02 00:00:00 | 1,389.00 | INV-456 | 100.00 |
33fe38d6-e50b-4ec9-bdf0-509f08b399cf | AUTHORISED | 2024-10-28 00:00:00 | 456.00 | INV-88 | 0.00 |
b7aa0fc8-ef28-4afd-8331-1cc7a52d9af8 | AUTHORISED | 2024-08-22 00:00:00 | 332.50 | INV-89 | 0.00 |
Now, follow a similar process to connect your other Xero accounts. SyncHub will store the data in the same database, but in different database schemas. This gives you the best of both worlds, where your data is demarcated at the connection level, but you can access everything from within a single query.
Now that you have your data in your database, we need a way to merge it into a single consolidated view. This is where our Insights platform comes into play. Using Insights, we can write a simple SQL query that merges the data from all of our schemas. Because each schema has an identical format, this is trivial:
select 'Xero 1' as [ConnectionName], [InvoiceID], [Status], [Date], [Total], [InvoiceNumber], [AmountPaid]
from schema_xero_1.Invoice
UNION
select 'Xero 2' as [ConnectionName], [InvoiceID], [Status], [Date], [Total], [InvoiceNumber], [AmountPaid]
from schema_xero_2.Invoice
UNION
select 'Xero 3' as [ConnectionName], [InvoiceID], [Status], [Date], [Total], [InvoiceNumber], [AmountPaid]
from schema_xero_3.Invoice
Note: We're using SQL Server syntax here, but you'll need to tweak it a little depending on your database type
Insights stores your query results in a database table under the sh_report_cache schema alongside the raw data we've downloaded from Xero. You can call this table whatever you like, so let's use something self-explanatory like xero_invoice_consolidated. We can then query it from our reporting tool as simply as this:
select * from sh_report_cache.xero_invoice_consolidated
As you've seen, SyncHub's consistent data structure and background syncing makes it trivial to report from multiple Xero. You can use new your consolidated database table directly from your reporting tool, or use our own Insights platform to build charts and dashboards from within SyncHub itself.
SyncHub offers a fully functional free trial, so feel free to try out this walkthrough for yourself, using your own data.
Happy reporting everybody.