DTC Finance Dashboard (Finance & Sales KPIs) — Access, P&L Upload, Goals & Definitions
Updated 2026-11-06 by Cera. The dashboard moved from a Claude artifact into Windmill on 2026-10-22, was renamed the DTC Finance Dashboard, and reached production on 2026-11-05 (windmill #350, #376, #379, #382 and #393; Halo 1192060). This page used to describe the Claude artifact and its Friday export of four Halo reports. That process is retired: the Halo numbers now come in on their own, and the QuickBooks P&L is the only thing anyone uploads.
The DTC Finance Dashboard (formerly the DTC Scorecard) is DTC's Finance and Sales KPI dashboard. It shows monthly revenue, sales, won prospects, lost agreements, lost clients and agreement changes against goal. It runs in DTC's Windmill.
Dashboard link: DTC Finance Dashboard. Sign in to Windmill with your DTC Microsoft 365 account. The old Claude artifact and the old scorecard_console address are no longer updated, so update any bookmark.
Who Should Use This:
- Only the finance admins (the Windmill group
finance_admins; Jennifer German today) and Windmill workspace admins can open the dashboard. Anyone else sees a page saying who it's for, and none of the numbers load for them. This changed on 2026-11-05: before then the dashboard was open to everyone at DTC. - The same people upload the P&L, set Sites, change goals and refresh the Halo numbers.
- To be added to
finance_admins, ask a Windmill admin.
When to Use:
- After month end, once the month's P&L is final, upload it so the closed month shows final revenue.
- During the month, upload a month-to-date P&L whenever you want the revenue cards current. A later upload of the same month replaces the earlier one.
- Any time someone asks what a number on the dashboard means or where it comes from.
What the Dashboard Is Used For
The dashboard gives one place to see how DTC is tracking against its monthly goals. It answers three questions:
- How did last month go? The snapshot table shows each goal against actual, with a green or red dot.
- How is this month trending? The month-to-date table shows progress so far and whether each metric is on track.
- How are we trending over time? The scorecard tables run left to right, oldest to newest month. A two-year chart on the Sales tab shows one-time sales month by month.
Sales vs. Finance: Sales is what we sold in Halo. Finance is what we billed, from the QuickBooks P&L. A sale shows up on the Finance tab later, once it's invoiced.
What the Dashboard Shows
The Top Bar
- Finance and Sales switch between the two tabs. On a phone or iPad they sit in a bar at the bottom of the screen.
- Light, Dark or System sets the appearance; System follows your computer. On a phone or iPad it's under ⋯.
- Two data-through dates, one for Halo and one for the P&L, because they update separately.
- Refresh recomputes the Halo numbers on demand. Goals opens the goal editor (see Goals).
Finance Tab
- Key: definitions of each revenue number and the QuickBooks accounts in it.
- Upload P&L (PDF or CSV) and when the P&L was last uploaded. This is on the Finance tab only.
- Last month snapshot and month-to-date tables.
- This month's cards: One-Time Revenue, Recurring Revenue and Total Revenue, each with a progress bar to goal.
- Revenue by month chart: recurring plus one-time revenue, with the goal line.
- Finance scorecard: each metric by month against goal, with the P&L account lines below.
Sales Tab
- Key: definitions of each sales number.
- Last month snapshot and month-to-date tables.
- This month's cards: One-Time Sales, Recurring Revenue Sales and Won Prospects.
- One-time sales by month chart, with the goal line, and a two-year chart of one-time sales. The two-year chart shows each day's numbers as they were reported then, so a later correction in Halo changes today's figures but not that history.
- Sales scorecard: each metric by month against goal, with the hardware and labor breakdown.
- Won prospects list: new clients with signed quotes.
- Retention:
- Lost agreements, listed by client and then by location (the Site on each agreement, or "Site not set"). Each one opens to show its schedule, its lines (item, quantity, unit price, monthly amount), a total that matches its lost monthly amount, and a link to the client in Halo.
- Lost clients, each with Show agreements, which jumps to that client's agreements in the list.
- Agreement changes, as searchable line items. Changes left out because the client is on the lost list are under Show → Left out, where they can still be given a Site.
Reading the Colors and Labels
- Green means the goal was met; red means it was missed. Scorecards only turn a cell red once the month has closed.
- The current month is shaded in the scorecards and marked "to date."
- On track means the metric has reached at least the share of its goal equal to the share of the month that's passed. For example, 9 days into a 31-day month is 29%, so a metric at 29% of goal or more is On track.
- Lost agreements, lost clients and lost recurring revenue have a goal of zero to start, so any loss shows as Missed.
- Recurring revenue bills at the start of the month, so Recurring and Total Revenue read "Goal met" or "On track" early every month. On the Finance tab, One-Time Revenue is the number to watch during the month.
- All dollar amounts are rounded to whole dollars.
Goals (Per Month)
Goals are set in the dashboard. Goals, next to Refresh, sets a goal from a month you choose: months before it keep the goal they had, and every change is recorded with who made it, when, and the old and new values. The goals below are the ones carried over from the old dashboard; the dashboard itself is the current source.
| Metric | Monthly Goal (as carried over) | Source |
|---|---|---|
| One-Time Revenue | $233,000 | QuickBooks P&L |
| Recurring Revenue | $417,000 | QuickBooks P&L |
| Total Revenue | $650,000 | One-Time + Recurring |
| One-Time Sales | $200,000 | Halo |
| Recurring Revenue Sales | $2,403 | Halo |
| Won Prospects | 3 | Halo |
| Lost Agreements | 0 (a month is met at or under it) | Halo |
| Lost Clients | 0 | Halo |
| Lost Recurring Revenue | $0 | Halo |
Hardware, labor, account lines and agreement changes show actuals only.
Definitions
Finance (QuickBooks Desktop P&L, Accrual Basis)
- One-Time Revenue: revenue billed once, for products sold and labor or project work delivered.
- 41000 · Product Resale (HW/SW): 41100 Hardware, 41200 Software
- 42000 · Installations & On Demand: 42100 On Demand, 42200 Install Labor
- 43000 · Projects: 43100 MSP Projects, 43400 Project Cabling
- Recurring Revenue: revenue billed every month on client agreements, plus recurring commissions.
- 44000 · Managed Services – Recurring Rev: 44200 Recurring Service Subscriptions, 44400 3rd Party Cloud Services, 44500 Credit – Managed Services, 44600 Consulting
- 49000 · Commission Earned Revenue: 49200 Telephony Agency Commission, 49400 VOIP Recurring, 49900 Misc. Commission
- Total Revenue: One-Time Revenue + Recurring Revenue.
- Not included: 49910 Returned Check Charges and Other Income (70010 Sales Tax Discount, 70040 Merchant Fee Income). Because of these, Total Revenue can be slightly below the P&L's Total Income.
Sales (HaloPSA)
The dashboard computes these from Halo's invoices, sales orders, quotes, recurring schedules and opportunities as they arrive in DTC's data warehouse, recomputed every hour. It keeps the rules of the four Halo reports it used to read (416, 369, 388 and 387), but it no longer reads those reports, so editing a report in Halo can't change these numbers.
- One-Time Sales: hardware plus labor (service, install and project labor) sold in the month. A sales order's group heading is never counted on top of the lines under it. Report 416 did count two headings, so July 2026 hardware is $412.00 lower than the report showed and October's $1,795.00 lower.
- Recurring Revenue Sales: new monthly recurring services sold for client agreements. This is the added monthly amount.
- Won Prospects: new clients who signed a quote, counted in the month the quote was approved, not the month the opportunity was created.
- Lost Agreements: agreements that were cancelled, counted in the month the agreement ends (Schedule End Date), with the monthly recurring amount lost. A client ending one of two agreements counts once here. Before 2026-11-05 this number was labelled "Lost Clients".
- Lost Clients: clients whose last agreement ends, with no other agreement running past it, counted once in the month that last one ends. A client who keeps another agreement isn't a lost client.
- Lost Recurring Revenue: the monthly recurring amount on lost agreements.
- Agreement Changes: increases and decreases to existing clients' agreements, such as workstations or licenses added or removed, counted in the month the change happened. Clients on the lost list are left out automatically, so a cancellation is only counted once.
- Won prospects, lost agreements, lost clients and agreement changes cover the year to date. The old dashboard showed only August to October for some of them, because the Halo reports had been saved with fixed dates.
Step-by-Step Instructions
Uploading the QuickBooks P&L
- In QuickBooks Desktop, run Profit & Loss Standard, Accrual Basis, for the month (the 1st through today during the month, or the whole month once it's final).
- Save it as a PDF, or export it as CSV. Either works; the dashboard tells which from the file. A CSV with several months loads each month, all or none.
- Open the dashboard, go to the Finance tab and choose Upload P&L (PDF or CSV).
- The dashboard checks the file before saving it: every sub-account adds up to its parent, the revenue lines and 49910 match Total Income, and 70010 and 70040 match Total Other Income. If a check fails, the upload is refused and the message names the account. Nothing is saved, so fix the export and upload again.
- Check that the P&L data-through date in the top bar moved.
Setting a Site
The Halo data lists some multi-site clients (for example, Guardian Dentistry Partners) under one name. Set the Site on a lost agreement or an agreement change in the dashboard; it's kept across refreshes. Agreements whose Site is set in Halo show it already.
Changing a Goal
- Choose Goals next to Refresh.
- Pick the metric, the new goal and the month it starts from, and save.
- Earlier months keep their old goal. The change is logged with your name.
If the Halo Numbers Look Stale
Choose Refresh to recompute them now. If the Halo data-through date doesn't move, tell a Windmill admin: the hourly Halo syncs may have stopped.
Known Limitations
- The P&L is still uploaded by hand. There's no connector for QuickBooks Desktop. As of 2026-11-05 the CSV upload had been checked against files built to QuickBooks' export layout, and a first real QuickBooks CSV export is the confirming test. The PDF path has been in use since 2026-10-22.
- Software sales aren't broken out in Halo's sales data, so One-Time Sales is hardware plus labor only.
- Won prospects needs each client's first Halo ticket, which the dashboard looks up a few at a time. Right after a large backfill the count can lag for a few hours.
- Access: only
finance_adminsand Windmill workspace admins. A viewer-only role for the rest of DTC doesn't exist.
Not covered here: how the dashboard's database, schedules and backups are run. That's in the windmill repo (docs/scorecard-database.md) and on the Windmill Platform Overview.