Power BI numbers don't match QuickBooks? Start here.
Your Power BI report says one number. QuickBooks says another. Before anyone rebuilds anything, it helps to know which of a few common causes you have.
I have 30+ years in SQL and reporting. Tools: SQL Server, Oracle, MySQL, Postgres, SSRS, Power BI, Tableau, Crystal, QuickBooks and more. I have solid QuickBooks experience. These are the checks to run first. You can do most of them yourself.
1. Compare the same thing
Check the dates, the accounting basis and the filters on both sides.
QuickBooks Online can report on a cash basis or an accrual basis, and Intuit says you can set the method on an individual report. A preset such as "This year" moves over time, so use exact start and end dates. A QuickBooks Community manager gives the same advice: match the report period, the accounting method and the filter rules before you compare anything. Write all three next to the number.
2. Check whether the report refreshed
Open the report's refresh history first.
By default, Power BI emails the owner of the dataset when a scheduled refresh fails. That email is easy to miss, and refreshes you start from Power Automate or by hand do not send one. So a report can keep showing old numbers while nobody notices. The workspace list also shows a warning icon next to a dataset that has errors.
If the report used Microsoft's QuickBooks Online (Beta) connector, that is a likely cause. The connector is retired. Microsoft began removing it in June 2025 and took it out of Power BI Desktop in July 2025. Microsoft's own pages give different end dates, August 2025 on one list and March 2026 in a later update. Either way, it is retired now, and existing connections may not work.
People replace it in a few ways: a third-party connector, scheduled exports to SharePoint or OneDrive that Power BI then reads, or loading QuickBooks data through its API into a database that Power BI reads. I am not recommending a product here. The right route depends on how many companies you report on, how current the numbers must be, and who will look after it.
3. Compare one account in one month
Pick one account and one month. Write down the QuickBooks figure and the Power BI figure and subtract.
The size of the gap tells you where to look. A gap that matches whole journal entries points to timing, such as the refresh running ahead of the postings. A figure that is a clean multiple of the right one points to duplicated rows. A scatter of tiny gaps points to rounding. These are rules of thumb from one vendor's write-up, not proof, and that write-up is about general ledgers rather than QuickBooks. They tell you where to start.
4. Look for rows counted twice
If the model loads an exported QuickBooks report, heading and total rows sit among the detail rows. Sum all of them and the same dollars are counted twice. Keep only the detail rows in whatever you add up.
Where you can, load the individual transactions instead of a finished report. A finished report has already been grouped and subtotaled by QuickBooks, so a model rebuilt from it inherits those choices.
5. Check how a total is calculated
Power BI calculates a measure again at the total level. For a measure that is not a simple sum, such as a ratio or an average, the total is not the sum of the rows you can see. Microsoft describes this as intended design. So a total that differs from the visible rows is sometimes a measure issue, not a data issue.
6. Check which date the report uses
If entries are back-dated into a closed month, a report that filters on the date an entry was created will not match QuickBooks. Check that the date table relates to the posting date.
7. Add a tie-out to the report
A refresh that completed tells you the data loaded. It does not tell you the data is right. The fix that lasts is a small tie-out panel on the report itself: the report's total for a period, the QuickBooks total for that period on the same footing, and the gap between them. Then anyone who opens the report can see whether it ties, and a gap gets noticed by your team before it reaches the owner.
When a second pair of eyes helps
If you have worked through this and one report still will not tie out, or it needs hand fixes every month, that is what the Reporting Rescue diagnostic is for.
It is a fixed scope: one report or dashboard page, plus its direct data sources. The price is a fixed $950. A Power BI report fed from QuickBooks is covered, and the QuickBooks side counts as one of its direct data sources. It is delivered within five business days after your approved, redacted inputs are complete. The clock starts when inputs are complete.
You get four things:
- A map of the report. Its data sources, transformations, refresh schedule and owners.
- An evidence-based finding. The main bottleneck or data problem, with a plain note on what is still unverified.
- Three fix options, in priority order. Each with expected effort, dependencies and risks.
- A 30-minute decision call. If you want help with the fix, I give you a separate estimate. Only if you ask.
What I need from you: after a short call confirms the fit, screenshots, report definitions, query plans, run history, or sample or synthetic extracts. Before you send anything, remove parameter values, literals, customer keys, connection strings and any names that should not go by email. Please do not send execution plans or other files in your first email. I work from those, not from a login to your QuickBooks, and no system access is needed for the first conversation.
What this does not include:
- No production credentials. No customer data by email.
- No patient or health data, and no compliance-sensitive work.
- No rebuilt dashboard, no data migration, no full implementation.
- No promised speed-up or savings. The output is a diagnosis and a plan.
Live system access or protected data needs a separate, approved scope and a security review.
This is a technical trace, not an accounting review.
A smaller first step: Query Tune-Up. $500 fixed price. Up to 5 slow queries or one slow report. Rewrites, index recommendations and an implementation script, with results back within 48 hours of complete, redacted inputs. Your team decides what to apply. No promised speed-up.
Complete inputs means the query text and the execution plan for each query, or the report definition plus the plans for its slowest queries. These come after the scoping call, not in your first email. Remove parameter values, literals, customer keys, connection strings and any names that should not go by email first. No system access is needed.
How I work
I am Brett Halverson. I have 30+ years in SQL and reporting. Tools: SQL Server, Oracle, MySQL, Postgres, SSRS, Power BI, Tableau, Crystal, QuickBooks and more. I have solid QuickBooks experience. I use software tools to speed up inventory and drafting. I review every finding myself and I own the diagnosis.
HalversonCo, Liberty Hill, TX
Questions
Why did my Power BI report that uses QuickBooks stop refreshing?
If it used the QuickBooks Online (Beta) connector, that connector is retired and existing connections may not work. Microsoft's own pages give different end dates, so I do not quote one. Check the refresh history and which connector the report uses, then pick a replacement route that fits your size.
Is the problem in Power BI or in QuickBooks?
Often in between: dates, filters, basis, a refresh that ran too early, or a measure that totals differently from its rows. Comparing one account in one month shows which.
Do you cover a Power BI report that is fed from QuickBooks?
Yes. It is covered by the $950 diagnostic. The QuickBooks side counts as one of the report's direct data sources.
Do you need access to my QuickBooks?
Not to start. After a short call, I work from screenshots, report definitions or redacted sample extracts. I do not take production credentials, and please do not email customer data. Direct access to a live QuickBooks company would need a separate, approved scope and a security review.
Is the first call free?
Yes.
What if the fix is bigger than a quick change?
The diagnosis ends with three fix options in priority order. If you want help with one, I give you a separate estimate. Only if you ask.
Call to action
Tell me which one report causes the most trouble and how often. We will have a short call to confirm it fits this scope before any work starts. The first call is free.
Email me: brett@halversonco.com. Please do not send customer data or credentials. Please do not attach files to your first email.
HalversonCo, Liberty Hill, TX
I only use what you send to answer your request, and I don't share it.
Sources
- Intuit, choose between cash and accrual in QuickBooks Online (set per report): https://quickbooks.intuit.com/learn-support/en-us/help-article/product-preferences/choose-cash-accrual-accounting-methods-reports/L64yocn6B_US_en_US
- QuickBooks Community, period, method and filter guidance: https://quickbooks.intuit.com/community/account-management-7/why-do-my-quickbooks-online-reports-show-different-numbers-when-comparing-filter-settings-in-modern-view-75602
- Microsoft Learn, Data refresh in Power BI (failure emails to the dataset owner by default, no email for on-demand or Power Automate refreshes, warning icon in the workspace list): https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-data
- Connector retirement, three Microsoft milestones, cited together because they differ:
- Power BI June 2025 feature summary, connector under deprecation, removed from Desktop in the July 2025 release: https://powerbi.microsoft.com/fi-fi/blog/power-bi-june-2025-feature-summary/
- Microsoft Learn, Power Query connector end of support, row "Quickbooks Online (Beta), August 2025": https://learn.microsoft.com/en-us/power-query/connectors/connector-end-of-support
- Power BI March 2026 feature summary, "no longer supported as of March 2026", existing connections may no longer function: https://powerbi.microsoft.com/en-au/blog/power-bi-march-2026-feature-summary/
- Replacement routes, as described by consultants (not Microsoft): https://duncanboyne.co.uk/blog/quickbooks-online-reporting-after-power-bi-connector/ and https://turingbi.com/insights/connect-quickbooks-to-power-bi
- Timing, duplicate rows and rounding rules of thumb (vendor blog, general ledger focus): https://lets-viz.com/blogs/why-do-my-power-bi-reports-disagree-with-the-general-ledger-a-7-step-reconciliation
- Subtotal and total rows counted twice, and a model built from transactions can differ from a QuickBooks report: https://turingbi.com/insights/connect-quickbooks-to-power-bi
- Measures recalculated at the total level, "an intended design": Power BI March 2026 feature summary, custom totals section (link above); and SQLBI, Summing values for the total: https://www.sqlbi.com/articles/summing-values-for-the-total/