Turn an Excel report into a dashboard you can trust
To turn an Excel report into a dashboard you can trust, give every figure a written definition before you design a single chart. List the jobs the workbook does each week. Define each metric with its source columns, filters and time grain. Clear out rows that get counted twice. Check one total by hand. Then decide how next week's figures arrive.
That last decision matters most. An uploaded workbook gives the dashboard a snapshot of the file. The figures stay current only through the route you choose and test.
The sample report in this guide
Every business, name and figure here is sample data invented for this guide. Redwood Tutoring is a made-up company with two centers, in Oakland and Berkeley, California. Each Monday, operations lead Daniel Kim updates redwood-weekly.xlsx. He then emails a PDF of its Summary tab to the owner, Olivia Bennett, and both center managers.
Its visible tabs are Bookings, with one row per session, then Invoices, Clients, Leads, Pivot and Summary. Summary holds the formatted totals and two charts. A seventh tab, Old Rates, is hidden.
What the weekly Excel report really does
Name the five jobs the report quietly does. Only some of them go away.
| Job | In Daniel's workbook | On the dashboard |
|---|---|---|
| Collect | Pastes exports from the booking and invoicing tools | Still needed: a re-import, or records typed into the app |
| Clean up | Deletes test bookings and fixes client names by hand | Written rules, plus a look at rows that break them |
| Calculate | Pivot tables and SUMIFS formulas | Metrics defined once and checked against the workbook |
| Format | Colored cells and a chart tab | Screens you describe in Studio |
| Send | A PDF attached to a Monday email | A link people open when they need it |
A dashboard can take over calculating, formatting and sending. Collecting and cleaning up stay. If nobody owns next Monday's import, the dashboard stops at the week you uploaded.
Define every metric before you build
Many arguments about a report turn out to be about definitions. Is revenue counted by invoice date or session date? Does a canceled session count as a booking? Settle each question in writing, one row per metric.
| Metric | Source columns | Rows included | Calculation | Time grain | Owner |
|---|---|---|---|---|---|
| New bookings | Bookings: Booking ID, Created, Status | Status is not Canceled or Test | Count of Booking ID | Week, Monday to Sunday, by Created | Daniel Kim |
| Revenue | Invoices: Invoice ID, Date, Status, Amount | Sent or Paid; credit notes subtract | Sum of Amount in USD | Week by invoice date | Priya Shah |
| Active clients | Bookings: Client ID, Session date | At least one session in the last 28 days | Distinct Client IDs | As of the report date | Daniel Kim |
| Leads by source | Leads: Lead ID, Email, Source, Received | One lead per email address | Count per Source | Week by Received | Olivia Bennett |
The owner is the person you ask when a figure looks off. Priya Shah, the bookkeeper, owns revenue because her accounts use invoice dates. Daniel's pivot grouped revenue by session date, so the two never quite agreed.
Put each definition on screen, too. A short line under a tile, such as "Sent and paid invoices, minus credits, Monday to Sunday", answers many questions before anyone asks.

Stock illustration, not an Exepad screen. Each figure in a column like the one beside this chart needs its own row in the definition table.
Workbook traps: pivots, hidden sheets and double counting
Look for each of these in a copy of the workbook. Each one changes a total without an error.
- Subtotal rows. A bold "Week total" row under each week of Invoices doubles revenue if it arrives as an invoice. Delete these rows, or name them in your brief.
- Formatting used as status. Canceled sessions are struck through rather than marked. Strike-through is not data, so add a Status value.
- Stale pivots. The Pivot tab shows whatever it held at its last refresh. Take your expected answers from the rows, never from the pivot.
- Hidden sheets. Old Rates feeds a VLOOKUP on Invoices. Unhide every sheet and decide whether each holds records, a lookup or nothing current.
- Week start. The pivot's weeks run Sunday to Saturday, but the booking tool's report starts on Monday. Choose one and write it down.
- Numbers and dates stored as text. Amounts pasted from an export can arrive as text, often with a hidden space. They look like numbers, but SUMIFS skips them. Text dates sort "10/2/2026" before "9/28/2026".
- Typed-over formulas. A 42 typed over a Summary formula, say to match a figure from a phone call, never updates again. Turn on Show Formulas and look for plain numbers where formulas belong.
Check one number by hand
Before you trust the dashboard, work out revenue yourself from ten invoice rows. Redwood's sample rows:
| Invoice | Date | Client | Center | Status | Amount |
|---|---|---|---|---|---|
| INV-2201 | Mon 9/14/2026 | Grace Okafor | Oakland | Paid | $240 |
| INV-2202 | Mon 9/14/2026 | Lucas Moreau | Berkeley | Sent | $180 |
| INV-2203 | Tue 9/15/2026 | Aisha Rahman | Oakland | Paid | $360 |
| INV-2204 | Tue 9/15/2026 | Test Family | Oakland | Test | $1 |
| INV-2205 | Wed 9/16/2026 | Mateo Silva | Berkeley | Void | $180 |
| INV-2206 | Thu 9/17/2026 | Hannah Weber | Berkeley | Paid | $300 |
| INV-2207 | Thu 9/17/2026 | Grace Okafor | Oakland | Credit | -$60 |
| INV-2208 | Fri 9/18/2026 | Kenji Watanabe | Berkeley | Sent | $240 |
| INV-2209 | Sat 9/19/2026 | Sofia Rossi | Oakland | Paid | $120 |
| INV-2210 | Sun 9/20/2026 | Lucas Moreau | Berkeley | Paid | $180 |
Under the definition, revenue for the week of September 14 is $1,560 across both centers and $900 for Berkeley. Set the same week and the Berkeley filter on the dashboard. A wrong answer usually points to its cause:
| The dashboard shows | Likely cause |
|---|---|
| $1,560 and $900 | It matches the definition |
| $1,380 and $720 | Weeks start on Sunday, so INV-2210 moved to the next week |
| $1,741 for both centers | Test and void rows are counted |
| $1,680 for both centers | The credit note was added, not subtracted |
Then test the update route. Mark INV-2208 as Void in the workbook and bring the change in the way you plan to each week. Berkeley should drop to $660, and the week should still hold ten invoices.

Stock illustration, not an Exepad screen. Two colleagues go over a chart together; take each metric's owner through the hand-checked total in the same way.
How the numbers stay current
Uploading redwood-weekly.xlsx gives the dashboard a snapshot of that file. Editing the workbook next week does not change it. Pick one of three routes and write it into the brief:
- Replace the file each week. Re-import the whole workbook on purpose. Say in the brief that rows match on Invoice ID and Booking ID, then count the invoices and confirm none appears twice.
- Add only the new week. Import that week's rows alone. Afterwards, confirm that last week's revenue did not change.
- Enter the data in the app. Once the app's database holds the records, Priya enters invoices there and the workbook becomes an archive.
Whichever route you pick, show the source period and the import date on screen: "Figures through Sunday, September 20. Imported Monday by Daniel Kim." Without that line, nobody can tell a stale week from the current one.
If the center managers still expect a Monday message, apps can send email and run tasks on a schedule you set. A scheduled email reports only what has been imported, so set it to run after Daniel's import. Send the first few to yourself.
Summary for everyone, detail for a few
Redwood's invoice rows carry family names and amounts. The center managers need totals, not those rows. Set that up with the access you describe for each collection:
- Olivia and Priya open every invoice.
- Each center manager sees summary figures for their own center.
- People who are not signed in see nothing.
Filters can leak detail. Narrowing Berkeley revenue to one family and one week can reveal what that family paid. Sign in as a test Berkeley manager and try it. Then paste the link to an Oakland invoice and confirm it does not open. Finally, sign out and confirm the dashboard shows no figures.
Four patterns that start as Excel reports
The same method fits most recurring reports, each with its own trap:
- Sales pipeline. Deals by stage and value. When the Stage column is overwritten each week, "deals won this week" needs a date for each stage change.
- Operations. Open jobs or orders and how long each has waited. You need a created date and a closed date, because a Done checkbox cannot show age.
- Finance summary. Monthly income and costs. Decide whether you count by invoice date or payment date, and say so on the tile.
- Marketing sources. Leads by channel. Someone who arrives through two channels is one lead, so match on email before counting.
Where a model helps
An app can use a language model to draft a note on a change: "Berkeley revenue rose on two more paid invoices." A model may help explain a trend, but the displayed metric should follow a defined calculation. Keep the note apart from the figure, label it as a draft, and trace each claim in it back to the invoice rows. Model usage is metered separately.
Write the brief
Put the definition table and your decisions into a brief. Redwood's sample:
A weekly dashboard for a tutoring company with two centers. Show new bookings, revenue, active clients and leads by source, as defined in the table below. Weeks run Monday to Sunday. Under the totals, show the source period and the import date.
Olivia Bennett and Priya Shah see every invoice. Each center manager signs in and sees totals for their own center only. Every Monday, Daniel re-imports the workbook, matching rows on Invoice ID and Booking ID.
This dashboard stores records and signs people in, so it is an app with data: any plan builds and previews it, and putting it live needs a paid plan, so compare the plans first. Then upload the workbook with your brief on the Excel to Dashboard page, which passes both into Studio. Rerun the ten-row check on the first version before anyone else opens it.
Related guides
- A workbook people work in, not a report: how to turn an Excel spreadsheet into an app.
- Figures that arrive as an export: a dashboard from a CSV export, and why CSV exports cause trouble.
- A monthly deck of charts: PowerPoint report to dashboard.


