H2B · Timesheet Reconciliation: Working Sketch
GEN·METRICS ×
Working sketch · H2B discussion
H2B Consulting · timesheet reconciliation agent

The agent reads.
The rules decide.
A person signs off.

A system shape for H2B's timesheet-to-payroll process: AI is used only where the mess is (reading five-plus incoming formats, screenshots included), the arithmetic is done by deterministic rules that can be audited line by line, and nothing posts without a person's sign-off. Debi's penny-perfect ledger check stays exactly where it is.

5–6
live formats, from email screenshots to a client's Google Sheet
2×
payroll runs per month: a cycle that never really stops
~60%
of Jess's time goes to moving numbers between formats
½ day
of Debi's, every cycle, plus 1–2 days a month on invoicing
The shape of the system

One pipeline, three kinds of work

Follow the colour: teal is the AI reading and explaining, grey is deterministic rules doing arithmetic, orange is a person deciding. Lime only appears at the end, where verified entries reach the tracker.

  • AI only where the mess is. Its only job is reading 5–6 client-owned formats, screenshots included, into one clean record. H2B cannot standardise inputs it does not control, so the open-ended reading is where the AI goes, and nowhere else.
  • The arithmetic is deterministic. Reconciliation is rules, not a model: same input, same answer, every decision explainable line by line. There is no "the AI decided" anywhere near the money.
  • A person holds the pen. Nothing posts without Jess's sign-off, and Debi's own reconciliation stays hers by design. The system removes the copying so the checking is all that is left, as Glenn's discovery put it; payroll errors reach a person's bank account, and the design starts from that.
TIMESHEETS IN Email screenshot PDF / attachment Email thread Client Google Sheet 5–6 live variants; one client's system exports two views Extraction agent AI OCR + one reader per format unsure values flagged, never guessed normalises Standard record who · period · hours · PTO · sick every value keeps a pointer to its source cell or page Reconciliation engine RULES, NOT AI ✓ duplicates ✓ missing submissions ✓ rate × hours totals ✓ PTO & sick coded right same input, same answer Master tracker Jess's source of truth today read-only compare Exception queue agent explains each one + suggests a fix, linked to source; Jess works only this pile doesn't match Approval gate HUMAN Jess reviews the run and signs it off matches resolved Tracker & invoices one-page client summaries; both payroll platforms fed from reconciled entries writes, only after sign-off The AI never touches the arithmetic. The rules never make judgment calls. Nothing writes to payroll unchecked.
1

Ingest & extract

AI

Timesheets arrive exactly as they do today: hours screenshotted into an email, attachments, hours quoted in the body of a thread, and the one client Google Sheet, which is read in place. A per-format reader lifts the entries out. Anything the reader is not confident about is flagged for a person, never silently guessed.

Technical depth
  • LLM extraction with structured output, validated against a fixed schema on every document; OCR handles the screenshot formats.
  • Confidence thresholds per field: below threshold, the field is marked "needs review" instead of being filled.
  • Every value carries provenance: file, page, cell or image region, and the raw text it was read from.
  • One client's system exports two different views of the same data; both are mapped as first-class formats. A new format is a new reader; the rest of the pipeline is untouched.
AI reads & explains Deterministic rules Human decides Verified output
Timesheets in any format become one standard record; rules compare records against the master tracker; Jess approves what the rules surface. The only write, to the tracker, the client invoice summaries, and the payroll platforms, happens after her sign-off. Click a numbered marker to open that stage; expand the technical depth only if the conversation goes there.
On H2B's stack · how it lands

Already-owned tools, proven in phases

H2B runs on Microsoft 365, so the system rides Power Automate and the tools the team already knows; only the rule engine is new engineering, and no Copilot Studio licence is needed. And because the team sits at L1–L2 on the AI Spectrum, delivery is phased: nothing changes for H2B until the system has proven itself against their own pay cycles.

1 · Ingest & extract
Power Automate + AI step
The Power Automate flows Glenn has started extend to watch the timesheet mailbox; extraction is an AI call inside the flow, with OCR for the screenshot formats and the client Google Sheet read in place.
2 · Normalise
Master tracker, as today
Standard records land in the tracker Jess already keeps; source documents keep filing to Box exactly as now. Day one changes nothing about where things live.
3 · Reconcile
Interconnected sheet · new build
The deterministic engine can start as simple as a new interconnected Google Sheet we build and hook into H2B's systems: normalised records land on one tab, every rule check is a visible formula on the next. If the catalogue outgrows the sheet, it graduates to a small unit-tested component; the architecture doesn't change.
4 · Exception queue
A list with statuses
Each row carries the AI's explanation and suggested fix. Jess works it from the tools she already uses; nothing new to learn.
5 · Approve & post
Approvals in Outlook
Sign-off happens where the team already works, and the audit trail comes free with it.

Two decisions from our call are baked in: no Copilot Studio licence (roughly £160 a month avoided), because the automation is built with Claude talking directly to the Power Automate APIs; and because a three-person business should not need an engineer on staff, the system is designed to be maintained under a light ongoing arrangement rather than handed over and forgotten. One honest pending item: the Power Automate API robustness review is in progress before Monday; if the APIs fall short anywhere, the same architecture holds with the flow doing less and the rule engine doing more.

Discovery · Jess leads

Map every incoming format and its variants; agree what the finished record must contain. That knowledge exists only with Jess.

Build · on the real formats

Extraction and the rule engine configured with Claude against H2B's actual documents, writing into one consistent structure instead of a re-keyed summary.

Parallel run · 1–2 full pay cycles

Old and new side by side, discrepancies counted rather than remembered. The output is proven, not trusted, and the human check at approval stays permanently.

If they ask

The four questions this design answers

"What if the AI misreads a timesheet, screenshots included?"
Low-confidence reads are flagged, not guessed, so a misread screenshot becomes an exception for Jess, not a payroll error. And every number links back to the exact cell, page or image it came from, so checking one takes seconds.
"Can we audit it?"
By design. The rules are deterministic, so any run can be replayed and gives the same answer. Every value has provenance, every exception has a logged resolution, and every posting has a named approver and a timestamp.
"Does this replace Jess?"
No, it gives her week back. Roughly 60% of her time currently goes to converting, filing and re-keying; the system does the moving, she does the judging: exceptions and the final sign-off. Debi's own reconciliation stays hers too; it just stops being an archaeology dig through five formats.
"Why not buy an off-the-shelf timesheet tool?"
Because H2B's variability arrives from outside: the formats belong to the clients, and no tool H2B buys changes what clients send. Off-the-shelf products solve capture by adding one more portal. The hard part is reconciliation against the master tracker, under H2B's rules, and that is exactly what this builds, on the Microsoft stack already paid for. A client who adopts a portal later simply becomes one more, cleaner, input format.