
Combine disparate data sources with Excel and Power BI for enhanced decision-making and insightful dashboards.
Most accounting and finance professionals have a long-standing relationship with Excel. It’s powerful, familiar, and let’s face it there’s a formula for everything. But what if you could combine data from Sage Intacct and other systems even faster than a VLOOKUP, then turn it into insights that are easier to share, visualize, and act on?
That’s where Power BI comes in. As finance teams evolve into strategic partners, tools like Power BI help bridge the gap between data and decision making.
For nonprofits, that might mean tracking fundraising ROI by combining donor CRM data (e.g. Salesforce NPSP, Raiser’s Edge) with Sage Intacct’s general ledger to show how much was spent on a campaign or event versus how much it raised.
For for-profit companies, combining Salesforce data (like upsell/cross-sell opportunities, churn risk, or pipeline ARR) and Sage Intacct’s revenue and contract data can help visualize churn trends, forecast revenue, or align customer success and finance teams around the same real-time data.
Whether you’re analyzing campaign impact, forecasting revenue, or spotting red flags in customer health, Power BI helps you turn scattered data into actionable insights you can trust and use every day.
In this post we’ll walk you through how to build a Power BI dashboard using a simple Excel workbook that brings together data from both Intacct and Salesforce. Once set up, refreshing your data is as easy as copy-paste and a click, so you can spend less time wrangling spreadsheets, and more time driving value.
Example scenario
Our goal with this dashboard is to create an invoice and revenue recognition health check. We’ll compare the original contract value from Salesforce with the revenue recognized and amount invoiced in Intacct. This helps flag contracts where invoicing or revenue recognition hasn’t started, is under-recognized, or needs adjustments.
In Salesforce, our data source is closed won opportunities that include contract terms. We’re exporting the following fields: project ID, Intacct customer ID, opportunity name, closed won date, billing type, contract terms, and opportunity amount.
In Intacct, our data sources are Order Entry sales invoices and general ledger detail. On the invoices export we’ll include the following fields: project ID, customer ID, invoice description, invoice date, invoice number, and invoice amount. On the GL detail report, we’ll filter for revenue accounts and include: project ID, customer ID, date, and amount.
Step 1: Establish a common identifier
Before combining data, identify a shared field, Project ID in this case, that exists across Salesforce and Intacct exports. This allows Power BI to connect the tables.
Step 2: Export and combine your data
Export reports from Salesforce (Closed Won Opportunities) and Sage Intacct (Sales Invoices and GL Detail). Combine them into a single Excel workbook. Do this manually or use scheduled reports for consistency.
Step 3: Connect Excel to Power BI
Choose to create a new report and select your source as Excel (Preview). This connects your Power BI dashboard to an Excel file in OneDrive so data can be refreshed easily in the future.
Step 4: Create data relationships
In Power BI’s model view, confirm or create relationships between the tables using Project ID. If the relationship was not auto-detected, go to Manage Relationships to add them manually.
Step 5: Build the report
Select fields from the left-hand pane to include them in the report. Drag and drop the field order to re-arrange columns. Drag and drop fields to the filters section to create on-demand filtering as needed. Rename any column headings directly within the visual editor or model for clarity.
Our report is off to a great start already, but let’s add a few computational columns and visual indicators to round it out.
Step 6: Add calculated columns
Right click on the table and select New Visual Calculation > Custom.
Use the formula bar to calculate differences (e.g., Contract Amount – Invoiced Amount) to highlight underbilling or unrecognized revenue.
Step 7: Add visualizations
Use conditional formatting with icons to flag contracts that haven’t been fully invoiced. For example, highlight rows in red if the remaining amount is above zero, and green if fully billed.
Our report is now complete; we can quickly see that both contracts have not yet been fully invoiced. Given the first contract’s terms of billing 40% in month 1, 40% in month 2, and 20% in month 3, having started in January seems odd. We can investigate this one further to identify the reason for the discrepancy and potentially issue the missing invoices, eliminating any potential for revenue leakage.
Step 8: Automate refreshes
To keep this report up to date, we can either manually refresh the model or schedule a refresh. Scheduling a refresh will incorporate any changes made to the Excel workbook into the Power BI report automatically.
After saving your report, in view mode select View Semantic Model to either refresh on-demand or schedule a refresh.
What’s next?
Power BI makes it easy to bring together data from systems like Sage Intacct, Salesforce, and more — no integrations required. By combining information across your organization, you eliminate data silos and get the timely trusted insights you need to make confident decisions. It’s a simple way to unlock more value from the systems you already use.
And if you need support building custom dashboards, reports, or integrations to make it all work seamlessly, we’re here to help.