Finance orchestrator · PM artifact · illustrative, synthetic ledger

Product requirements — Finance orchestrator

Audience: the engineer who will take the demo to a read-only pilot, and the finance lead who will run it. Purpose: what the product must do, for whom, and what it must never do — precise enough to test against. Status: in development; every figure in this document is illustrative and computed from a synthetic ledger (seed 20260925). Decisions are logged in decision-log.md; the engineering detail is in engineering-spec.md.

1. The problem

A hundred-person chip company has two honest money surfaces — the patent programme's ledger, where every counsel dollar names its matter, and the Ops Desk, where every request has an owner and a ceiling — and no third surface that reads them. Payroll, supplier bills, corporate cards, the web store and one restricted award live in five exports. Nobody can answer, for an arbitrary number, where did this come from, and nobody is sure nothing has paid itself.

The finance lead's words for the job: "I want to be able to point at any number and see the rows, and I want to know that nothing moved unless a person moved it."

2. Who it is for

PersonaRoleWhat they needWhat they may do
Yuki (finance lead)Owns the books and the close, with the founders in the loopEvery number with provenance; a close that reads from the rows; refusals that holdApprove and release, accept matches, approve reclasses, close a period
Dana (Founders-office associate)Keys invoices and works the Bills deskA queue with the watcher's findings on the row; a drawer that shows the evidenceApprove invoices she did not enter; accept matches; change vendor bank details (verified)
Priya (department head)Spends a budgetHer department against the phased budget; POs and reimbursements to approveApprove POs and reimbursements
Leila (award PM)Runs the restricted awardEvery award line judged by the award's rules; reclass proposals to approve with the finance leadApprove reclasses; release restricted funds (with the finance lead)
Founders (in the loop)ReadRunway, burn, the open flagsNothing — read-only
External accountant (advisory)VerifiesThe audit chain and the rows behind any figureNothing — read-only

3. Goals

  1. Provenance on every number. Every tile, chart and total names the rule and the rows behind it, and the rows open.
  2. Findings, never actions. Watchers raise findings with evidence and attributions, and draft changes; a named person's approval is the only thing that changes state.
  3. Two sources read to the cent. The Patents ledger and the Ops Desk are carried unchanged; one test each holds their totals.
  4. A close that reads from the rows. Task status is computed, never stored; readiness is a weighted sum with the weights on screen.
  5. Refusals that hold. Segregation of duties, unverified bank details, read-only roles, individual pay and statutory dates are refused with the reason.

4. Non-goals — what AI is not used for

Releasing payments · changing vendor bank details · closing periods · releasing restricted funds · posting journals · writing back to Ops or Patents · statutory tax or filing dates · individual payroll analytics. These are not settings; they are the contract every watcher returns under, and each has a test.

5. Functional requirements

5.1 Ledger

5.2 Screens (nine, under /finance)

ScreenMust showDeep link
OverviewSeven tiles with a where-from drawer each; spend by month, category, department, vendor, project; budget vs actual; period states; ask the books?as=
LedgerEvery line, windowed; filters on class, period, department, group, project, fund, source, entity; search; source chips that open Patents or the Ops Desk?q= &period= &department= &source= &cls=
Bills deskEvery invoice with status, PO, three-way match, signals, findings; a drawer with lines, PO, bank-detail history, findings with attributions and evidence; Approve and Release with the segregation-of-duties check first`?id= &status= &try=approve
Tie-outBank, card and Stripe payouts; three passes with confidence; auto / suggested / exception; accept and reject on suggestions?tab= &filter= &id=
FundsUtilisation by category, burn vs period of performance, every award line with its verdict and rule, reclass proposals, payroll aggregate?fund= &verdict=
CloseTen tasks with owner, dependency, BD+n due date, computed status and evidence; readiness with components; accrual drafts?asof=
HealthVendor, department and chart-of-accounts scores 0–100 with inputs and earned weights; recommendations—
AuditEvery event, sequence-numbered and hash-chained; Verify; a tamper simulation—
WatchersThe contract, the trust ladder, each watcher's queue, last run, drafts, rows read, hash check; the eval per rule with n; acceptance with n—

5.3 Watchers

5.4 Trust ladder

5.5 Audit

6. Quality bars

Strict TypeScript, no any · WCAG 2.2 AA (keyboard reachable, Escape closes drawers, charts carry text tables) · responsive at 360 px · no network call from any Finance screen · every figure labelled Illustrative — synthetic ledger · deterministic: the seed's fingerprint is pinned by test.

7. Success measures (pilot, PLANNED)

MeasureHow countedThreshold agreed before build
Precision per rule on the first real monthA finance lead labels the month; the harness scores≥ 0.90 per rule, or the rule retires to advisory
Findings without evidence reaching a screenCount from the dropped-uncitable counter0
Actions taken by an watcherCount from the audit trail (role = watcher, what ≠ run)0 — any breach stops the pilot
Wrong-amount matches proposedTie-out summary0
Finance lead opens the queueAudit trailEvery week; two missed weeks end the pilot

On the synthetic ledger today: 47 of 47 planted irregularities raised, 0 of 179 hard negatives, 0 wrong-amount matches, 5 of 5 runs with the hash unchanged, acceptance n = 0.

8. Open questions

  1. Which export formats the accounting system, the card issuer and the payroll provider can hand over read-only (D-19, pending).
  2. Whether the award's sponsor requires a specific allowability rule set beyond the five modelled.
  3. Whether the Wiki's demo sign-in is enough for the pilot's external accountant persona, or a separate read-only credential is needed.