2024 is the year of the connector - vote here

Aggregate reporting with Harvest

How to consolidate your multiple Harvest 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 Harvest are numerous and comprehensive. But if you're running multiple Harvest 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.

Step one - downloading your Harvest data

Head over to your Connection Dashboard in SyncHub and follow the instructions to connect your first Harvest 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 Harvest data from the cloud. This results in various database tables that look something like this:

schema_harvest_1.Project
ClientID Name Budget IsBillable IsFixedFee
34 Project X 30,000.00 true true
993 General maintenance NULL true false
475 Remedial 1,000.00 false true

Connect your other accounts

Now, follow a similar process to connect your other Harvest 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.

Step two - Consolidating your schemas

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:

SQL

select 'Harvest 1' as [ConnectionName], [ClientID], [Name], [Budget], [IsBillable], [IsFixedFee]

from schema_harvest_1.Project

UNION

select 'Harvest 2' as [ConnectionName], [ClientID], [Name], [Budget], [IsBillable], [IsFixedFee]

from schema_harvest_2.Project

UNION

select 'Harvest 3' as [ConnectionName], [ClientID], [Name], [Budget], [IsBillable], [IsFixedFee]

from schema_harvest_3.Project

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 Harvest. You can call this table whatever you like, so let's use something self-explanatory like harvest_project_consolidated. We can then query it from our reporting tool as simply as this:

SQL

select * from sh_report_cache.harvest_project_consolidated

Conclusion

As you've seen, SyncHub's consistent data structure and background syncing makes it trivial to report from multiple Harvest. 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.