Skip to main content

Standard Dashboard: Finance Dashboard

One place to see how your business is performing financially — across every job, service agreement, maintenance, and project.

Written by Angelene Rosario

What Is the Finance Dashboard?

The Finance Dashboard is your operational P&L inside BuildOps. It gives you a single, unified view of pre-tax profitability, revenue, costs, and budget performance across every type of work your business does — service jobs, recurring maintenance agreements, and construction projects.

If you've ever had to pull a job costing report from one place, check invoices in your Accounting integration, and manually piece together which customers or departments are actually making you money — this dashboard changes that. Everything is in one place, already calculated, and updated automatically.

Where to find it:

Go to Dashboard → click the dropdown (top right) → Finance Dashboard - New

Start with the ReadMe

The Finance Dashboard opens to a built-in ReadMe page by default — a 7-page guide covering the dashboard overview, key features, and navigation tips. Click through all 7 pages before diving into the data — it's worth the minute, especially the first time you open the dashboard. If a number doesn't look right later, this is a good first stop.

Heads up on data freshness: This dashboard refreshes approximately every 40 minutes — it is not a live feed. Always check the Last Data Refresh timestamp in the top-right corner before acting on the numbers.

If you're responsible for your company's financial performance at any level — this dashboard is for you. Here's how you'll use it depending on your role:

Role

How You'll Use It

Owner / Executive

Get a high-level profitability view across all your lines of business. Spot which divisions are over or underperforming at a glance — without pulling multiple reports.

Finance Lead / Controller

Analyze margin by entity type, compare budget vs. actuals, check forecast accuracy, and rank your most and least profitable customers.

Operations / Department Leader

Filter to your division and see your cost and billing trends across jobs, service agreements, and projects over time.

Key Metrics You'll See

Here's a quick reference for the terms and formulas you'll come across:

Term

What It Means

Total Billings Pre Tax

Total revenue billed on the entity before tax is applied. The top-line revenue figure used throughout the dashboard.

Total Cost / Actual Cost

All costs recorded against the entity — labor, materials, equipment, fees.

Gross Profit

Total Billings Pre Tax − Total Cost. Your pre-tax profit on the entity.

Margin %

Gross Profit ÷ Total Billings Pre Tax. A negative margin means costs exceeded billings.

As of Date

The most important filter in the dashboard. Controls which records appear based on a date associated with each entity. Leaving it blank shows all data.

Remaining to Bill

Updated Contract Amount − Total Billed Pre Tax. The expected amount still left to invoice on a project.

% Billed

Total Billed Pre Tax ÷ Updated Contract Amount. How far along the billing cycle a project is.

Cost Variance

Budgeted Cost − Actual Cost.

Positive = under budget ✅.

Negative = over budget ⚠️.

Labor Variance

Budgeted Hours − Actual Hours. Same sign convention as Cost Variance.

Avg Annualized Contract Value (ACV)

Total Contract Value ÷ Number of Contract Years. The mean annual value across a multi-year agreement.

Miscellaneous Billings

Invoices not associated with any Job, SA, or Project. These are not included in Customer Profitability totals.

How to Use the Dashboard

When you open the Finance Dashboard, you'll see five pages in the top navigation:

Page

What It Answers

ReadMe

The built-in reference guide — covers the dashboard overview, key features, and navigation tips. Worth a read the first time you open the dashboard.

Profitability

Pre-tax profitability broken out across Jobs, Service Agreements, Maintenances, and Projects.

Customer Profitability

Which customers are driving your gross profit — across every type of work you do for them.

Budget Forecast Performance

Are you staying within budget — and where are you running over?

Invoices & Adjustments

A detailed explorer for researching specific invoices, auditing billing activity, or setting up exports.

Understanding the As of Date Filter

Before diving into the data, there's one filter you need to understand: the As of Date filter at the top of the Profitability page.

This is the most powerful filter in the Finance Dashboard — and it works a little differently from filters in other dashboard. It controls which records appear across all four sub-tabs simultaneously, but it uses a different date field for each entity type:

Sub-tab

What the As of Date filters on

Jobs

Last Billed Date first → then Job Completed Date → then Job Closed Date (first populated date wins)

Service Agreements

Last Billed Date on the service agreement

Maintenances

Incurred date (costs) and invoice issue date (billings)

Projects

Last Billed Date first → then Work Completed Date

⚠️ Always set your As of Date before reading anything on this page. Changing this filter affects all four sub-tabs simultaneously. If a number looks unexpected, this is the first thing to check.

📝 Leaving the As of Date blank shows all data — it doesn't mean no results. It means all records, regardless of date.

Example: A job completed March 15th and fully invoiced March 22nd. If your As of Date is set to March 31st, the dashboard uses the Last Billed Date (March 22nd) — the job appears. If your As of Date is March 20th, the Last Billed Date falls outside the window and the job won't appear, even though it was completed before that date. The billing date, not the completion date, is what the filter checks first for Jobs.


Profitability Page - Your Financial Baseline

What this page answers: How is our business performing financially across every type of work we do?

This page has four sub-tabs — one for each entity type. All four follow the same structure: four KPI tiles at the top, a profitability table below, and a trend chart and detail tables beneath that.

Jobs Sub-Tab

What it answers: How did our completed service jobs perform financially?

Filters: Billing Customer · Department · Job Number · Job Status (defaults to Complete and Closed)

The four KPI tiles:

KPI

What It Shows

Total Cost

All actual costs on qualifying jobs

Total Billings Pre Tax

Total pre-tax revenue billed on qualifying jobs

Gross Profit

Total Billings Pre Tax − Total Cost

Margin %

Gross Profit ÷ Total Billings Pre Tax

Below the tiles, the Profitability on Completed and Closed Jobs table shows one row per job — billing customer, department, job number, billing status, billings, cost, gross profit, margin %, and key dates.

📝 This table only includes jobs in Fully Invoiced or Do Not Invoice status. Open, partially invoiced, or draft-invoiced jobs are excluded. If a job isn't showing up, check its billing status first.

💡 Why are open jobs excluded? Consider a job with $45,000 in costs but no invoice yet — it would show as −$45,000 gross profit, which looks like a loss. It's not losing money; it just isn't finished. The report waits until a job is fully invoiced so every number reflects a complete financial picture.

💡 Want to see open or in-progress jobs anyway? You can clear the Job Status filter — but treat those numbers as directional, not final. Profitability on an open job is incomplete by design.

Scroll down to see a Billings and Costs bar chart — use the Month, Quarter, or Year toggle to spot seasonal patterns or unexpected cost spikes over time. Below that, two drill-down tables show line-level detail on individual billings and actual costs per job.

Service Agreements Sub-Tab

What it answers: How are our service agreements performing — and how much is coming from maintenance visits vs. reactive calls?

Filters: Billing Customer · Department · Agreement Number · Agreement Status (defaults to Active)

The Service Agreement Profitability table shows one row per agreement — including Total Contract Value, Average Annualized Contract Value, Total Billed Before Tax, Total Cost, Gross Profit, and Margin %.

💡 Average Annualized Contract Value explained: A 3-year agreement worth $40K, $43K, and $46K across its years has a Total Contract Value of $129,000 and an ACV of $43,000/year. This is the average across all years — not any single year's value — so you can compare multi-year agreements on equal footing.

📝 Seeing $0 in billings with costs present? If your team bills all SA activity at the maintenance level rather than the agreement level, this sub-tab will show $0 in billings. That's expected — not an error. Check the Maintenances sub-tab for that billing activity.

Scroll down to see the Maintenance vs. Pull Through Billings section — a table and chart that splits your SA billing between planned maintenance visits and reactive pull-through jobs triggered under the agreement.

💡 Why this split matters: If your SA billings are 80% pull-through and 20% maintenance, your agreements are functioning more like break-fix contracts than true preventive programs. That's a pricing and scheduling conversation worth having.

Maintenances Sub-Tab

What it answers: How are our maintenance visits performing financially on their own?

This sub-tab is structured the same as the Jobs sub-tab, but it's scoped specifically to maintenance visits tied to a service agreement.


Column labels here may say "Job Number" or "Job Status" — these refer to the maintenance record, not standalone service jobs. There's no overlap between data on the Jobs and Maintenances sub-tabs.

📝 If your team bills all activity at the SA level rather than per maintenance visit, you'll see $0 in billings here with costs present. That's expected — billings flow to the SA sub-tab instead.

Projects Sub-Tab

What it answers: How are our projects performing financially — and how much is still left to bill?

Filters: Billing Customer · Department · Project Number · Status (defaults to Work Complete and Closed)

The Project Profitability table includes two project-specific columns alongside the standard profitability columns:

Column

What It Shows

Formula

Remaining to Bill

Revenue still expected to be invoiced on this project.

Updated Contract Amount − Total Billed Pre Tax

% Billed

How far along the billing cycle this project is.

Total Billed Pre Tax ÷ Updated Contract Amount

💡 % Billed in practice: You have a $320,000 project with $240,000 invoiced — that's 75% billed. If the physical work is 90% complete, $80,000 in completed work is sitting unbilled. That's a conversation to have before month-end.

📝 Gross Profit is calculated differently depending on project status:

  • Closed projects: Updated Contract Amount − Actual Total Cost

  • Work Complete (not yet Closed): Total Billed Pre Tax − Actual Total Cost

On a closed project, the billed amount should equal the contract amount, so the contract amount is the more accurate revenue figure. On a work-complete project, final billings may still be coming in, so Total Billed Pre Tax is used instead.


Customer Profitability Page

What this page answers: Which customers are actually driving my profit — across everything I do for them?

This page combines Jobs, Service Agreements, and Projects into a single customer-level view. Four KPI tiles at the top show your company-wide totals: Total Cost, Total Billed Pre Tax, Total Gross Profit, and Margin %.

The Customer Profitability table shows one row per billing customer with their combined totals across all entity types.

💡 How to use this in practice: Your largest customer by billings may not be your most profitable. A high-volume customer at 12% margin and a smaller customer at 58% margin tell very different stories — and should drive different conversations around pricing, renewals, and account management.

The Top Customers bar chart on the right ranks your top customers by Total Billed Pre Tax, with Gross Profit shown as a second bar. The gap between the two bars is your margin story in visual form — a long billing bar with a short profit bar means high volume, low margin. Use the Top N control to show more or fewer customers.

Miscellaneous Billings table: At the bottom of this page, you'll find invoices not associated with any Job, Service Agreement, or Project.

⚠️ Miscellaneous Billings are NOT included in your Customer Profitability totals. If a customer has invoices floating without an entity association, their profitability total is understated. Associate those invoices with the correct job, agreement, or project in BuildOps — once linked, they'll be included after the next data refresh.


Budget Forecast Performance Page

What this page answers: Are we staying within budget — and where are we running over?

This page has three sub-tabs — Jobs, Service Agreements, and Projects — all following the same structure. For each department, you'll see:

Column

What It Shows

Budgeted Cost

What you planned to spend

Actual Cost

What you actually spent

Cost Variance

Budgeted − Actual. Positive ✅ = under budget. Negative ⚠️ = over budget.

Cost Variance %

Cost Variance as a percentage of Budgeted Cost

Budgeted Hours

Labor hours planned

Actual Hours

Labor hours actually logged

Labor Variance

Budgeted − Actual hours. Same sign convention.

⚠️ There is no date filter on this page. All figures reflect values as of today — you're seeing current budget performance, not a historical view.

💡 Reading variance in practice: If your Mechanical Service department shows −$10,405 in Cost Variance, actual costs exceeded budget by $10,405 in that department. If it shows +$10,405, you came in under budget. Negative numbers are the conversations to have with your department leads.

Scroll down to see the Cost and Labor Variance flat table — the same variance data broken down to the individual job, agreement, or project level. Use the department-level pivot to spot which divisions are trending over budget, then drill into the flat table to find the specific work driving it.

Budget data must be set up in BuildOps for this page to populate.

  • For Jobs: budget figures come from the quoted costs on the associated quote. Jobs without a quote will show $0 in budget columns.

  • For Service Agreements and Projects: budget figures come from the budget setup in BuildOps. If budgets haven't been configured, those columns will be empty.

The Projects sub-tab adds two additional columns: Remaining Cost (Budgeted − Actual Cost) and Remaining Hours (Budgeted − Actual Hours) — useful for understanding how much budget is left on active projects.


Invoices & Adjustments Page

What this page answers: Where do I look up, audit, or export a specific invoice or adjustment?

This page is a research and export tool — not an analysis page. Use it to look up a specific invoice, audit billing activity, or set up recurring exports for your team.

It has two sub-tabs:

  • Invoice Detail — shows all invoices with no default status filter. Filter by Invoice Issue Dates, Department, Invoice Number, Property, Invoice Status, Sync Status, Billing Customer, or SA/Job/Project Number.

  • Adjustment Detail — shows adjustments applied to invoices, including Adjustment Number, Date, Type, Status, Amount, and the Invoice it's applied to.

Adjustment Detail currently defaults to showing only Write-Off and Refund adjustment types. If you're not seeing the adjustments you expect, check the Adjustment Type filter and update it to include the types you're looking for.


Exporting and Scheduling

Any table or chart in the Finance Dashboard can be exported to Excel or PDF, or set up for automated recurring delivery.

  1. Click the folder icon in the bottom-left corner of the screen.

  2. Click Export... to download the current view immediately.

  3. Click Schedule export... to set up a recurring automated delivery — daily, weekly, or monthly — to any email inbox.

💡 A monthly Customer Profitability export makes a strong input for account reviews. A weekly Budget Forecast Performance export helps your team catch cost overruns before they compound. Set it once and the data shows up where the work happens.


What Data Is Included (and What Isn't)

Each page in the Finance Dashboard has built-in rules about what data it shows. Here's a summary of what to expect:

Page / Sub-tab

What's Included

What's Excluded

Profitability — Jobs

Complete or Closed jobs; Fully Invoiced or Do Not Invoice billing status

Open, in-progress, partially invoiced, or draft-invoiced jobs

Profitability — Service Agreements

Active service agreements

Canceled, draft, or error-status SAs

Profitability — Maintenances

Maintenance records in Complete or Closed status

Standalone service jobs, pull-through jobs

Profitability — Projects

Work Complete and Closed projects

Canceled or draft projects

Customer Profitability

Jobs (Closed/Complete) + SAs (Active/Expired) + Projects (Work Complete/Closed)

Invoices not tied to any entity (shown separately in Miscellaneous Billings)

Budget Forecast Performance — Jobs

Closed and Complete jobs

Open, in-progress, or canceled jobs

Budget Forecast Performance — Projects

Closed, Work in Progress, and Work Complete projects

Canceled or draft projects

Invoices & Adjustments — Invoice Detail

All invoices (no default status filter)

None by default

Invoices & Adjustments — Adjustment Detail

Write-Off and Refund types (default)

Other adjustment types — check the filter if data appears missing

⚠️ This dashboard report is not designed to reconcile against your accounting software. The Finance Dashboard reflects activity in BuildOps. Your accounting system (QuickBooks, Intacct, Vista, etc.) may show different figures due to sync timing, external adjustments, or data entered outside of BuildOps. Use this dashboard for financial visibility and analysis — your accounting system remains your system of record.


Frequently Asked Questions

Q: My Service Agreement sub-tab shows $0 in billings, but there are costs. Is something wrong?
A: Most likely, your team bills all SA activity at the maintenance level rather than the agreement level. When that's the case, billings flow to the Maintenances sub-tab instead — $0 on the SA sub-tab is expected, not an error. If you do bill at the SA level and still see $0, confirm your invoices are fully posted and not in draft status.

Q: A job I know is complete isn't showing up in the Profitability page. Why?
A: The Jobs sub-tab only includes jobs in Fully Invoiced or Do Not Invoice billing status. If the invoice hasn't been fully posted yet, the job won't appear. Confirm the billing status in BuildOps.

Q: I changed the As of Date on the Jobs sub-tab, and now my Service Agreements numbers changed too. Is that a bug?
A: That's intentional. The As of Date filter applies to all four sub-tabs on the Profitability page at the same time — it's a global filter for that entire page. To see all data regardless of date, clear the filter entirely.

Q: Why don't my numbers match what I see in my accounting software?
A: The Finance Dashboard reflects BuildOps data only. Adjustments made in your accounting software outside of BuildOps won't appear here, and sync timing can create temporary gaps. This is expected — use this dashboard for operational financial analysis, and your accounting system as your ledger of record.

Q: My Budget Forecast Performance page is showing $0 in all the budget columns. Why?
A: Budget data must be configured in BuildOps for those columns to populate. For Jobs, budget figures come from the quoted costs on the associated quote — jobs without a quote show $0. For Service Agreements and Projects, budget data comes from the budget setup in BuildOps. If budgets haven't been configured, the columns will be empty.

Q: There are invoices in Miscellaneous Billings that I expected to see in Customer Profitability. What do I do?
A: Miscellaneous Billings shows invoices not associated with any Job, Service Agreement, or Project — and those amounts are intentionally excluded from Customer Profitability totals. Associate those invoices with the correct entity in BuildOps and they'll be included after the next data refresh.

Q: A project's Remaining to Bill shows $0, but I know there's still work left. Why?
A: Remaining to Bill = Updated Contract Amount − Total Billed Pre Tax. If this is $0, it means the full contract amount has already been billed. If that doesn't look right, check whether the Updated Contract Amount in BuildOps reflects any outstanding change orders — if change orders haven't been added, the contract amount may be understated.

Q: The Adjustment Detail sub-tab isn't showing all my adjustments. Why?
A: The Adjustment Detail sub-tab defaults to showing only Write-Off and Refund adjustment types. Check the Adjustment Type filter and update it to include the types you're looking for.

Did this answer your question?