EBR Dashboard — Data Entry Guide

How to fill in the source Excel workbook so each account renders correctly on the dashboard — what goes in which column, which values the app recognizes, and how to fix the most common rendering issues.

Covers dashboard v4.02

Quick answers

How do I make my Delivery / Growth pill green?
In Slide2_Financials, set Delivery Status (and/or Growth Status) to On Track or Green — spelling is not case-sensitive, so "on track", "ON TRACK" or "green" all work. For amber use Monitor / Amber, for red use At Risk / Red. Leaving the cell blank, or typing anything else (e.g. a typo), shows a gray pill rather than defaulting to green.
Where do I explain a revenue loss?
Put the numbers in Revenue Loss by Leaves / Revenue Loss by Other Factors in Slide2_Financials — those drive the loss chart. To add a written explanation that shows under Loss Breakdown on the Revenue Loss slide, enter it in the Revenue Loss Summary column for that account/month. If that column or text is missing, the section simply doesn't render — nothing breaks.
Why doesn't Backfill Loss show up on the Revenue Loss slide?
That's intentional. Backfill Loss is a running, cumulative-to-date figure (it locks in once a role is filled and keeps showing in every later month), not a per-month number like Leaves/Other — so it doesn't fit a month-by-month breakdown and was removed from that slide to avoid showing misleading numbers. You'll still find it on the Executive Summary (totals bar and per-account card) and on the single-account header — see Open Positions / Backfill Loss.
Where does the note on the Executive Summary account card come from?
The Delivery Summary column in Slide2_Financials, for that account's latest month. If Delivery Summary is blank, it falls back to the Notes column instead.
Why is my account missing from the "⭐ Top" view?
Set Top to Yes in Slide2_Financials for that account (not case-sensitive). Switch the toolbar toggle to "All" to see every account regardless of this flag.
Do I need to re-type Revenue Projected every month?
No — enter it once for the month it changes and leave later months' cells blank; the dashboard carries the last known value forward automatically. Just don't leave placeholder text like "TBD – fill in" in a cell you mean to be read as real data — any value containing the word fill is treated as not-yet-provided.
CSAT looks wrong / shows the wrong number of stars.
CSAT is scored out of 5 for May 2026 and earlier, and out of 4 from June 2026 onward — the scale is picked automatically from that row's Month, so historical rows never need to change. See Satisfaction for details.
How do I show a Headwind/Tailwind Description as bullet points?
Same as Markdown: put each bullet on its own line starting with - or * inside the Description cell (Alt+Enter in Excel for a new line within the cell). Lines with the prefix become bullets; any line without it stays plain lead-in text — on both the dashboard slide and the exported PPTX. A cell with no - /* lines renders as plain text, exactly as before. See Headwinds & Tailwinds.

General rules that apply everywhere

Month format

Every sheet that has a Month column must use the exact text form Mon YYYY — e.g. Apr 2026. This is what the app uses to match rows across sheets and to filter by the month dropdown.

  • Apr 2026
  • Apr 26 (2-digit year won't match)
  • ❌ a date-typed cell that displays as 4/1/2026 — Excel serial numbers are auto-converted only if the cell was left as a raw number; a real Excel date value can still cause mismatches. Format the Month column as Text to be safe.

Account names

The exact same account name string must be used across every sheet (Slide2_Financials, Slide3_Hiring, Slide4_Opportunities, Slide5_Satisfaction, Slide6_HeadwindsTW). Matching is case-sensitive and exact, so "Acme Corp" and "Acme corp" will be treated as two different accounts.

Percentages

Margin Actual % and Margin Projected % must be entered as a decimal fraction, not a whole number — 0.35 for 35%, not 35. A value of 35 would be read as 3,500%.

Currency fields

Dollar columns (Revenue Actual ($), Revenue Projected ($), Expected Annual Value ($), etc.) accept either a plain number or a formatted string like $120,000 — the app strips out the $ and commas automatically. Leaving Revenue Actual ($) blank or 0 for a past month makes that month look like there's no data, so always fill it in once actuals are known.

Required sheets

The workbook needs all five sheets present, even if some are mostly empty: Slide2_Financials, Slide3_Hiring, Slide4_Opportunities, Slide5_Satisfaction, Slide6_HeadwindsTW.

Financial Targets, Executive Summary & Revenue LossSheet: Slide2_Financials — one row per Account + Month

This single sheet feeds the Executive Summary, Financial Targets and Revenue Loss slides. One row = one account's numbers for one month.

ColumnAccepted valuesWhere it shows up
AccountAccount name (must match other sheets exactly)Everywhere
MonthMon YYYY, e.g. Apr 2026Everywhere
TopYes / No (not case-sensitive)Controls whether the account appears under the "⭐ Top" filter
Revenue Actual ($)Number or $-formatted stringExecutive Summary, Financial Targets chart, revenue totals
Revenue Projected ($)Number; leave blank to carry forward last entered valueFinancial Targets chart (dashed line), delta vs. target
Margin Actual %Decimal, e.g. 0.32Executive Summary, Financial Targets margin chart
Margin Projected %Decimal, e.g. 0.30; leave blank to carry forwardFinancial Targets margin chart
Billable HC / Non-Billable HCWhole numberExecutive Summary headcount strip
Total HCWhole numberTotal headcount total, and denominator for average-leaves-per-resource on the Revenue Loss slide
Revenue Loss by LeavesDollar amountRevenue Loss slide chart + totals ("🏖️ Leaves")
Revenue Loss by Other FactorsDollar amountRevenue Loss slide chart + totals ("⚠️ Other")
Total LeavesWhole number (count of leave days/instances)"Total Leaves" and "Avg per Resource" metric on the Revenue Loss slide
Revenue Loss SummaryFree text"Revenue Loss Summary" block under Loss Breakdown on the Revenue Loss slide. Optional — hidden entirely if blank or the column doesn't exist
Delivery StatusOn Track / Green, Monitor / Amber, At Risk / Red — any case. Blank or anything else → gray"Delivery" pill on the Executive Summary card
Growth StatusSame accepted values as Delivery Status"Growth" pill on the Executive Summary card
Delivery SummaryFree text (multi-line OK)Note text on the Executive Summary account card. Falls back to Notes if blank
NotesFree textFallback for the Executive Summary note if Delivery Summary is blank
Delivery/Growth pill colors — the pill itself always shows the word "Delivery" or "Growth"; the color is what encodes status. Matching is case-insensitive and accepts either the status word or its color name: On TrackGreen, At RiskRed, MonitorAmber.

Open Positions / Backfill LossSheet: Slide3_Hiring — one row per requisition

Feeds the "🔍 Backfill" / "Open Backfills" / "Avg Age" / "Backfill Loss" figures on the Executive Summary (totals bar, per-account card, and the single-account header) — deliberately not the Revenue Loss slide, since Backfill Loss is a cumulative, point-in-time figure rather than a per-month one and doesn't fit that slide's monthly breakdown. Three dates drive this, each with a distinct job — read the notes below, this is the one area of the sheet where getting the right date in the right column really matters.

ColumnAccepted valuesNotes
AccountMust match Slide2_Financials exactly
StatusOpen or ClosedBackup signal only — see below. The date columns are what actually drive the numbers whenever they're present
Created DateDD-Mon-YY, e.g. 20-Mar-26The date this seat became vacant. Drives Open Backfills and Avg Age only. 2-digit year here, unlike the Mon YYYY rule used elsewhere
Planned Fill DateDD-Mon-YY, same formatThe date you committed to / expected to fill this role by. Drives Backfill Loss ($) only — see below
Actual Fill DateDD-Mon-YY, same format. Leave blank while still vacantThe real date the seat was filled. Caps both the open/aging calculation and the loss calculation once entered. (Legacy header Filled Date is still read if this column isn't present)
Rate Card ($/hour)NumberUsed with working days to estimate $ loss
How "Open Backfills" and "Avg Age" work: measured from Created Date — total time the seat has been vacant. A role counts as still open, as of whatever month you're viewing, based on Actual Fill Date — not Status. Once Actual Fill Date is entered, the role stops counting as open from that date forward, even if nobody ever flips Status to Closed. If Actual Fill Date is still blank, the role counts as open for as long as Status says Open.
How "Backfill Loss ($)" works — this changed: Loss no longer measures the whole vacancy. It measures the cost of missing your commitment, so it only starts accruing from Planned Fill Date onward:
  • Filled on or before Planned Fill Date$0 loss for that role. Normal hiring time isn't a loss.
  • Filled after Planned Fill Date → loss = only the overrun, from Planned Fill Date to Actual Fill Date.
  • Still open and past Planned Fill Date → loss keeps growing month over month, and — like before — locks in and keeps showing in every later month once the role is eventually filled, rather than disappearing.
  • Still open but not yet at Planned Fill Date$0, even though it already counts toward Open Backfills/Avg Age. Not overdue yet.
  • No Planned Fill Date entered at all → $0 loss, regardless of how long the role has actually been open. There's no commitment to have missed, so nothing is counted as lost. If you want Backfill Loss to reflect a role, you must fill in Planned Fill Date.
Rows marked Closed with no Actual Fill Date are treated as cancelled/withdrawn requisitions — a role that was never actually filled by a hire. Those never count toward Open Backfills, Avg Age, or Backfill Loss, for any month.
A note on the Created Date name: despite the label, this isn't "when the row was typed into the sheet" — it's the date the seat became vacant, the reference point Open Backfills/Avg Age measure from. The column can't be renamed without touching every DL's existing workbook, so just keep in mind what it's actually used for.

OpportunitiesSheet: Slide4_Opportunities — one row per opportunity

ColumnAccepted valuesNotes
AccountMust match Slide2_Financials exactly
MonthMon YYYY (e.g. Aug 2026) or an Excel dateRequired — this is what the month filter matches against. A row only appears when its own Month equals the selected month
Opportunity NameFree text
Expected Annual Value ($)Number or $-formatted stringExcluded from the Annual Pipeline $ / Opportunities # totals once Sales Stage = Closed
Sales StageOne of: Prospecting, Shortlisting, Proposal, Verbal Commit, SOW, ClosedControls the stage badge color. Closed opportunities are excluded from pipeline totals but still shown as a row for the month recorded in their own Month column — then drop out of the table in every later month. They also count toward "Growth YTD" regardless of month
ProbabilityHigh, Medium, or Low (exact case)Drives the probability badge and the totals-bar counts
Creation DateDD-Mon-YY (e.g. 20-Mar-26) or an Excel dateUsed to compute "Age" in the table; falls back to Age (Days) if blank
Age (Days)Whole numberOnly used if Creation Date is blank
OwnerFree text
NotesFree text
Marking a deal Closed: set Sales Stage to Closed on the row whose Month is the month it actually closed — don't re-enter it in later months. It'll show as a win on the Opportunities slide for that one month (with a green Closed badge), then stop appearing from the following month onward. The deal's value keeps counting toward "Growth YTD" on the Executive Summary indefinitely, independent of Month.

Satisfaction — ENPS, CSAT, AttritionSheet: Slide5_Satisfaction — one row per Account + Month

ColumnAccepted valuesNotes
AccountMust match Slide2_Financials exactly
MonthMon YYYYDetermines which CSAT scale applies (see below)
ENPSNumber, 1–5Rendered as smileys. Legacy header ENPS (1-5) is still read if ENPS isn't present
CSATNumber — 1–5 scale for May 2026 and earlier, 1–4 scale from June 2026 onwardRendered as stars, labeled (/5) or (/4) automatically based on the row's own Month. Legacy header CSAT (1-5) is still read if CSAT isn't present
Attrition % (Ann.)Whole number percent, e.g. 5 for 5%Green ≤5%, Amber ≤15%, Red >15%
ENPS Note / CSAT Note / Attrition NoteFree textOptional supporting note shown under each metric
Nothing changes for past months. The 1-4 CSAT scale only applies to rows whose Month is June 2026 or later — every row already entered for May 2026 and earlier keeps scoring out of 5 automatically. You don't need to edit anything already submitted.

Headwinds & TailwindsSheet: Slide6_HeadwindsTW — one row per item

ColumnAccepted valuesNotes
AccountMust match Slide2_Financials exactly
MonthMon YYYY
TypeHeadwind or Tailwind (exact case)Any other value won't appear in either column
TitleShort free textBold line of the item
DescriptionFree text; lines starting with - or * become bulletsOptional supporting detail. Same convention as a Markdown list.
Bulleted descriptions: a Description cell with no - /* line renders as a plain paragraph, same as before. To get bullets, start each point's line with - (a hyphen and a space) — just like a Markdown list. Use Alt+Enter in Excel to start a new line within the same cell (not a new row). Lines without the prefix stay plain lead-in text. For example, entering:
Lost 2 senior engineers in March - Backfill still open for both roles - Client escalated pricing concerns
renders as:
Lost 2 senior engineers in March
  • Backfill still open for both roles
  • Client escalated pricing concerns
This applies on both the dashboard view and the exported PPTX.

If something isn't showing up

  1. Check Month is exactly Mon YYYY (e.g. Apr 2026) on every sheet — this is the #1 cause of "my data disappeared."
  2. Check the Account spelling matches character-for-character across every sheet.
  3. Check Margin Actual % / Margin Projected % are decimals (0.35), not whole numbers.
  4. Check Revenue Actual ($) isn't blank or 0 for a month that already happened.
  5. Use the 🩺 Diagnose button in the dashboard's Settings menu — it inspects your loaded file against these exact rules and explains in plain language what's wrong with your current filter selection.

↑ Back to top