Power BI for Accounting Firms
Your practice management system records every hour, every write-down and every unbilled invoice — yet at the partner meeting the question of which engagements actually made money still gets answered from memory and a spreadsheet.
Power BI for accounting firms is about running the practice, not reporting on clients' books. The data already exists: time entries, billing rates and write-ups or write-downs in a practice management system such as CCH Axcess Practice, Thomson Reuters Practice CS, Karbon or BigTime; invoices, receipts and payroll cost in the firm's own general ledger. What most firms lack is one model that joins them, so utilization, realization, WIP and client profitability come from the same numbers every month and every partner reads them the same way.
This page covers that firm-operations work. If what you need is better financial reporting from a general ledger, that is our QuickBooks data visualization page. If the pressure is getting client data into shape before filing deadlines, see tax season data preparation. The general engagement with no industry attached is our Power BI consulting services page.
What accounting firms measure first
Most firms start with four measures: utilization (billable hours over available hours), realization (what was billed against the standard value of the time worked), WIP aging and lockup days (how long work and invoices wait before they turn into cash). Together they show whether the firm is busy, whether it is paid for being busy, and how long it waits for that money.
Each measure needs a written definition before it is charted. Available hours can mean contracted hours or contracted hours less leave and training. Realization can be measured at billing or at collection, and the two can differ sharply for a client who pays slowly or negotiates. A dashboard that hides these choices will be argued with; a dashboard that names them gets used.
- Utilization by staff member, level, service line and month, against a target each partner agrees to
- Billing realization and collection realization, shown separately and labelled
- WIP aging — unbilled time by client and engagement, bucketed by days since the work was done
- Lockup days — WIP days plus debtor days, the firm's cash conversion in one figure
- Write-downs by partner, client and reason, so recurring under-recovery is visible before the engagement is renewed
| Dashboard | Source systems | Refresh cadence |
|---|---|---|
| Utilization by staff and service line | Practice management time entries, staff capacity and leave | Daily |
| Billing and collection realization | Practice management billing, general ledger receipts | Daily, reconciled at month-end |
| WIP aging by client and engagement | Practice management unbilled time and expenses | Daily |
| Lockup days and aged receivables | Practice management WIP, accounting invoices and payments | Daily |
| Client and engagement profitability | Time entries, billing, payroll cost, overhead allocation | Monthly, after payroll close |
| Partner practice-health summary | All of the above, filtered to the partner's book | Daily |
Client profitability: revenue minus loaded cost, per engagement
Fee revenue by client is easy to report; profit by client is not. It needs the cost of every hour charged to the engagement, which means each person's salary, payroll taxes and benefits converted to a loaded hourly cost, plus a defensible share of overhead if the firm wants a full-cost view. With that in place, a recurring compliance client billed at a fixed fee can be compared fairly with an hourly advisory engagement.
The result is usually uncomfortable in a useful way. A handful of long-standing clients turn out to absorb senior time far beyond their fee, and some fixed-fee work is profitable only because it is done by the right level of staff. Partners can then reprice, rescope or restaff with evidence rather than instinct.
- Loaded hourly cost per person, held in a dated table so pay changes do not rewrite past months
- Contribution margin (fee less direct labour cost) and, optionally, margin after allocated overhead
- Fixed-fee engagements compared on effective hourly rate against the standard rate for the staff used
- Profitability by client, partner, service line and entity type
Practice management and accounting data: the semantic model
The practice management system knows who worked on what and at what standard rate; the general ledger knows what the firm actually invoiced, collected and paid its people. Neither is complete alone. The work is to land both on a schedule, map clients, engagements and staff to one set of keys, and build a star schema on top: time, billing and collections as facts; client, engagement, staff, service line and calendar as shared dimensions.
Two details decide whether the model is trusted. First, the calendar must handle the firm's fiscal year and the uneven shape of busy season, so a March utilization figure is compared with last March rather than with January. Second, security: managers see their teams, partners see their book, and the managing partner sees the firm, enforced by row-level security in one published report rather than a copy per person. Salary-derived cost is the most sensitive figure in the model and is restricted accordingly.
How data leaves a practice management system depends on the product and edition — an API, a reporting database, or scheduled exports. We confirm that route with you before any report is designed, because it decides what can refresh automatically.
- One client and engagement key shared by time, billing and collections
- Fiscal-year calendar with busy-season periods flagged for like-for-like comparison
- Row-level security by partner, manager and office; cost data restricted to those who need it
- Measure definitions documented inside the model so every report uses the same formula
How much does Power BI consulting cost for an accounting firm?
Practice dashboard projects are quoted per firm. The cost depends on which practice management and accounting systems you run, how cleanly time is coded to engagements, how much history you want to bring across, and how many measure definitions the partners still need to agree. Those vary too much between firms for a list price to be honest, so the first call is spent on scope, not on a sales pitch.
If your firm already has someone who can maintain reports and you want senior Power BI help in blocks rather than a fixed project, Power BI Flex Support starts at $2,500 for 20 hours, at $100–$125 per hour, in prepaid blocks whose hours do not expire.
Every engagement is run by Edward Pinela, MBA, Principal Consultant at Lightray Solutions, remotely. The person who scopes the work is the person who builds it, so there is no hand-off between the conversation about definitions and the model that implements them.
How the engagement runs
The first step is access and definitions: what your practice management system lets you extract, where payroll cost lives, and how the partners define utilization, realization and lockup. Next comes a working prototype on your own data — usually utilization and WIP aging first, because they need the fewest sources — reviewed with the partners and managers who will use it. Client profitability follows once loaded cost is agreed.
Timing matters in a firm with a busy season. Definitions and data access are best settled in the quieter months, so the dashboards are live and trusted before the hours peak rather than built during it.
Further reading: Microsoft Learn — star schema guidance for Power BI.
Not sure if this is the right fit?
Book a free 30-minute call with Edward Pinela, MBA. If it is not the right fit, you will be told that on the call.
Frequently asked questions
Can you connect Power BI to our practice management system?
In most cases, yes, but the route depends on the product and edition. Some practice management systems offer an API or a reporting database; others provide scheduled exports or rely on manual ones. We confirm the extraction path with you, and with the vendor if needed, before designing any report, because it decides what can refresh automatically and how often.
How do you calculate realization — at billing or at collection?
Both, labelled separately. Billing realization compares what was invoiced with the standard value of the time worked; collection realization compares what was actually received. The gap between them is often where a firm's real leakage sits, so showing only one hides part of the picture. The formulas are documented inside the model so every report uses the same definition.
Will staff be able to see each other's salary-based cost?
No. Loaded cost is held in the model with row-level security and restricted to the people who need it, typically the managing partner and firm administrator. Partners and managers can see profitability for their own clients without seeing individual pay, and staff see their own utilization rather than the firm's cost data.
Do we need Microsoft Fabric or a data warehouse?
Usually not to start. A single firm's time entries, invoices and payroll cost are modest data volumes for Power BI, and a well-built semantic model refreshing on a schedule handles them. A warehouse becomes worthwhile when you need history your practice management system no longer keeps, or when merged practices run different systems that must be reconciled.
Is this the same as reporting on our clients' QuickBooks data?
No. This page is about the firm's own operations — utilization, realization, WIP and the profitability of each client relationship. Building financial dashboards from a client's QuickBooks ledger is a different engagement, covered on our QuickBooks data visualization page, and the two can share the same Power BI tenant without sharing data.
Talk it through with a senior consultant
Book a free 30-minute call with Edward Pinela, MBA. No obligation and no sales pitch — just an honest read on whether this is the right fit.
Prefer to call? +1 (714) 872-9606