Start with the decisions the owner makes before noon.
A field-service owner rarely needs another summary of last month. They need to know what is stuck now: leads nobody called, accepted work that never reached the schedule, jobs missing a completion step, invoices aging without an owner, and callbacks that are quietly consuming capacity.
Write those decisions down before choosing charts. For each one, name the person who can act, the record they need to open, and the time window that makes it urgent. If clicking a number cannot lead to a customer, job, estimate, invoice, or assigned task, it probably belongs in a periodic report rather than the daily owner dashboard.
The practical test: At the morning meeting, can the owner point to a line item and say who will do what by when? If the screen only produces a discussion about whether the number is correct, the data layer is not ready.
Write the metric dictionary before the dashboard.
"Open estimate" sounds obvious until sales counts a revised quote, operations excludes anything older than 30 days, and accounting recognizes work only after a deposit. A short metric dictionary prevents a polished dashboard from turning into a new argument.
| Metric | Definition to settle | Useful drill-down |
|---|---|---|
| New lead | First valid inquiry, with duplicate calls and spam excluded | Lead source, received time, assigned owner, response status |
| Open estimate | Latest active estimate version that is not accepted, declined, expired, or closed-lost | Age, value, estimator, next action, customer response |
| Unscheduled work | Accepted work with no confirmed production date | Deposit status, promised window, required crew or equipment |
| Overdue invoice | Invoice balance past the agreed due date, excluding approved disputes | Age, amount, customer, last contact, owner |
| Callback | Return visit caused by an unresolved or repeated issue, not ordinary scope expansion | Job type, technician, reason, cost, resolution |
Store the definition beside the metric, including filters, calculation, source system, refresh schedule, and accountable owner. When a definition changes, date it. Otherwise month-over-month comparisons can shift because the rules changed, not because the business did.
Freshness and reconciliation are product features.
A dashboard should disclose when each source last refreshed. If the job system updates every few minutes but accounting imports once each night, the screen must not present both as equally current. Show a freshness timestamp, the last successful sync, and any records rejected during import.
Do not silently force conflicting records together. Put unmatched customers, duplicate jobs, missing estimate IDs, and impossible dates into a reconciliation queue. Someone should be able to correct the source record and rerun the sync. Quietly dropping bad rows creates the worst kind of confidence: a clean chart built on missing work.
Build the first dashboard around one operating rhythm.
- Observe the current meeting. Capture the spreadsheets, screenshots, text messages, and questions used to assemble the owner update.
- Choose five to eight decisions. Start with the items that change today's calls, schedule, cash collection, or customer recovery.
- Connect the minimum sources. Pull only the records required to answer those decisions. More integrations do not make the first version better.
- Validate totals in parallel. For a defined period, compare the dashboard with the source systems and investigate every meaningful difference.
- Give every exception an owner. A red count without a work queue simply moves the manual follow-up to another screen.
- Review use after launch. Remove metrics nobody acts on. Add a metric only when it supports a named decision.
The finished screen should make the business easier to run even when the owner is away for a day. It should not require the owner to interpret the dashboard for everyone else.