Birds-eye view

EXECUTIVE PRACTICE ROLL-UP · CALDER & FINCH CPAS · SNAPSHOT SUN 28 JUN 2026 · PERIOD 2026-06

3 need a decision
Executive practice roll-upComputed from CLOSES · CLIENTS · USERS · REVIEWS · FLAGS · RECONCILIATIONS · ACTIVITY

Section 1 — Client portfolio

SECTION 1Client portfolioEvery client the firm keeps books forDerivableFrom: Client.status · Connection.provider
Total clients
38
Active
35
Onboarding
2
DRY RUN
Paused
1
Offboarded
0
QuickBooks Online
31
82%
Xero
7
18%
Cash / accrual
NOT ON CLIENT — FEATURE-MAP A6

Section 2 — Team strength

SECTION 2Team strengthComposition by role, and who may actually sign offDerivableFrom: User.role · User.credential · User.status
Total staff
9
Active
8
Invited
1
NEVER SIGNED IN
Admin
1
Partner
3
Reviewer
2
Staff
3
May sign off
4
CREDENTIALLED

Section 3 — Reviewer portfolio

SECTION 3Reviewer portfolioThe gate every close passes through — no file ships without a sign-offDerivableFrom: Review.reviewer · Review.status · Close.deliveredAt
ReviewerAssignedSigned offPendingChanges req.On timeMin / closeWorkloadStatus
JPJordan ParkerPartner · CPA · 9 yrs161330100%42%Active
MRMaya RuizReviewer · CPA · 6 yrs14121198%37%Active
ECEllen CalderPartner · CPA · 21 yrs5500100%13%Active
MFMarcus FinchPartner · CPA · 18 yrs3210100%8%Active
TATom AlvarezStaff · no credential00000%Cannot sign

Min / close is empty on every row, and that is the finding. `Review` has no timing fields, so the one number that says whether Bursar’s economics work — whether a reviewer’s minutes per close fall as the engine learns — is not captured anywhere. A reviewer whose time per close stays flat is a services business with a software price.

Section 4 — Pipeline intelligence

SECTION 4Pipeline intelligenceWhere the roster sits across the six stages of the closeLiveFrom: Close.stage · Close.status · Transaction · Flag
StageCloses hereTxnsRoster past thisAvg age (d)Blocked
IngestTransactions and documents flow in0100%0Healthy
CodeEvery line categorised to an account21,28495%1.20Healthy
ChaseMissing receipts and statements requested392%4.11Blocked
ReconcileBooks proven against the bank statement482%2.00Watch
ReviewA credentialled reviewer verifies and signs568%0.80Watch
DeliverPackage shipped on the firm’s letterhead2463%0Healthy
Firm total → closes
38
Transactions coded
12,840
Delivered
63%
Blocked
1

Adjacent work this table grows to hold

Year-end workpapersE2
Trial balance + supporting schedules for the tax preparer
1099 preparationE1
Per-box thresholds, W-9 status, January deadline
Catch-up / cleanupE3
Does not fit (clientId, period) today
Sales-tax support
Coding only — filing stays with the firm

Section 5 — Revenue & billing

SECTION 5Revenue & billingWhat the firm is owed and what it has collectedGapWould need: nothing — Firm.plan is a tier, not a ledger · feature-map billing
Billed this period
NO INVOICE MODEL
Collected
NO RECEIPT MODEL
Outstanding
NO INVOICE MODEL
Realisation rate
NEEDS BILLED VS COLLECTED
Revenue per client
NEEDS A RATE ON FIRM OR CLIENT
Plan tier
Growth
FIRM.PLAN — THE ONE REAL FIELD
Why this section is dashes and not zeroes
Bursar does not track invoices, rates or receipts yet, so it cannot tell you what you billed. Showing 0 would read as “you billed nothing this month”, which is a different and much worse statement. Every figure here is therefore absent rather than zero, and the note under each says what is missing.

Section 6 — SLA clock & connection expiry

SECTION 6SLA clock & connection expiryWhat is due, what has slipped, and what is about to break silentlyDerivableFrom: Close.slaDueAt · Flag.severity · DocumentRequest · Connection
Due today
2
Due tomorrow
3
Due this week
9
Past SLA
0
Blocker flags
1
Documents parked
4
CHASE GAVE UP
Statements outstanding
6
GATES RECONCILE
Re-auth due ≤30d
3
NEEDS THE CLIENT’S MFA

Re-authorisation queue — the chase that needs the client, not the firm

ClientWhat lapsesInIf it lapses
Pier 9 SeafoodBank feed authorisationChase · open banking2d agoFeed already stale — no new lines since 26 JunBroken
Lakeside FitnessBank feed authorisationWells Fargo · open banking9dCoding stops when it lapsesExpiring
Northside Vet ClinicQuickBooks refresh tokenIntuit · 100-day idle21dRe-consent needed; 5-year hard cap applies tooExpiring

This table is the analogue of the source dashboard’s DSC expiring column, and it is the most under-served problem in the category. QuickBooks refresh tokens die after 100 idle days with a five-year hard ceiling, and open-banking authorisation lapses roughly every 90 days — and re-authorising needs the client’s credentials and MFA device, not the firm’s and not ours. It fails silently, so the first symptom is a close that will not reconcile. Every document-chase product on the market ignores it.

Section 7 — Client risk

SECTION 7Client riskDerived from signals we actually hold — not a score anyone typed inDerivableFrom: Flag · Reconciliation.varianceCents · DocumentRequest.parkedAt · Connection.status
Routine
31
Watch
4
Action required
2
Critical
1
Mean score
0.9
OF 10
Worst score
7.4
PIER 9 SEAFOOD

What the score is built from

×3.0Open blocker flagFlag.severity = BLOCKER
×2.5Past the 48-hour SLAdeliveredAt > slaDueAt
×2.0Reconciliation not tied outvarianceCents ≠ 0
×2.0Connection stale or erroredConnection.status
×1.5Document parkedDocumentRequest.parkedAt
×1.0Nudge cap spentnudgeCount ≥ policy

Clients above routine

ClientScoreBandWhat drives it
Pier 9 Seafood7.4CriticalBlocker flag · statement outstanding day 6 · bank feed lapsed
Lakeside Fitness3.1Action requiredAwaiting sign-off · feed expires in 9 days
Northside Vet Clinic2.8Action requiredAwaiting sign-off · token expires in 21 days
Birch Street Dental1.4WatchOne receipt parked (23/24 documents)

The weights are published on purpose. The source dashboard has a CLIENT_RISK_ENGINE column whose number arrives with no derivation, and an unexplained risk score is one a partner cannot act on — they can only agree or disagree with it. Every factor here maps to a column we already store.

Section 8 — Executive indicators

SECTION 8Executive indicatorsThe eight numbers a partner should be able to read in one glanceDerivableFrom: Close · Review · Transaction · Activity
Delivered on time
24 / 24
100%
Mean days to close
1.9
TARGET 2.0
Closes in flight
14
Clients per reviewer
9.5
38 ÷ 4
Transactions coded
12,840
THIS PERIOD
Corrections applied
184
1.4% OF LINES
Automation rate
NOT COMPUTED — THE INSTRUMENT WE LACK
Reviewer min / close
NOT CAPTURED — REVIEW HAS NO TIMING

The last two cells are the ones to watch. Automation rate and reviewer minutes per close are not features — they are the instruments that decide whether the unit economics hold, and both are missing. If a “90% automated” product is really 60% automated, the gap is human hours that scale linearly with customers, and margin inverts silently while growth makes it worse. That is the documented failure mode of the two best-funded companies in this category.

Section 9 — Integrity watch

SECTION 9Integrity watchA delivered close is only true until someone edits the periodGapWould need: no post-delivery re-check exists · feature-map B7 · B9 · B10
CheckHow it is detectedState
Prior-year Retained Earnings movedSnapshot at delivery, diff each periodNot implemented — feature-map B7Not built
Reconciliation was forcedMemo/Description = “Reconcile Adjustment”Not implemented — feature-map B9Not built
Reconciliation abandoned, not pluggedUnreconciled period on a bank accountNot implemented — the more common caseNot built
Period never locked after deliveryBursar does not record a period lock yetNot modelledNot modelled

This section has no counterpart in the source dashboard; it exists because a delivered close can be falsified afterwards and nothing currently notices. QuickBooks rolls net income into Retained Earnings as a computed, non-posting figure — it has no register and is recalculated on every report run — so editing a transaction in a closed year moves it with no journal entry to explain it. Snapshotting prior-year Retained Earnings at delivery and diffing it each period catches the whole class in a single comparison.

LiveMeasured from your book right nowDerivableBursar records this, but is not yet reporting itGapNot tracked yet. Shown as unavailable, never as zero

Nine sections, one screen, no pagination — the density is the design. Adapted from an executive practice-management dashboard for an Indian CA firm; its structure transferred, none of its content did. Every service line, currency, role and fiscal year in the original is India-specific, and the mapping onto Bursar’s domain is documented in src/data/birdsEye.ts.