How Claude processed a full year of commission statements — thousands of transactions, hundreds of accounts, exact-cent conservation.
Insurance agencies receive commission statements from multiple carriers monthly. Each carrier uses different formats, different name spellings, different account identifiers. Reconciling who earned what requires matching every transaction to the correct client account — across thousands of rows where the same person might appear under different names.
Without a system, reconciliation means opening each carrier statement, manually searching for each name, deciding which account it belongs to, and adding it to a spreadsheet. Repeat for every row, every month, every carrier.
A structured pipeline that processes every transaction through safe, auditable stages. Each stage has a clear input, a clear output, and a clear failure condition.
Load raw commission ledger. Parse currency, normalize names, assign transaction IDs. Store money as integer cents — no floating point.
Match each transaction to an account using safe layers only: exact canonical name, approved alias, unique policy anchor. No fuzzy matching. No "first match wins."
Anything that can't be safely allocated goes to a controlled admin bucket with a reason code — not a discard pile. Every dollar is accounted for.
Conservation test: Allocated + Admin + Unallocated must equal Total Ledger, in exact cents. If the math doesn't balance, the run fails.
Generate account-level summaries, outlier flags, exception queues for human review. The human reviews names, not rows.
The business rules that couldn't be violated. These were defined before any code was written and remained immutable throughout the reconciliation process.
These rules are the delegation paperwork. They answer Mollick's six questions before the AI writes a single line of code.
The allocation engine uses a strict hierarchy of matching methods. Each layer is deterministic and collision-free. If a transaction doesn't match at any layer, it's triaged — never guessed.
Transaction name matches the canonical account name exactly after normalization. Case-insensitive, whitespace-trimmed, punctuation-standardized.
Highest confidenceA human-approved mapping from a name variant to an account. Must be collision-free — an alias can't point to two accounts.
Human-verifiedPolicy number uniquely maps to one account based on prior high-confidence matches. One policy, one account, always.
Structural matchUnmatched transactions go to controlled admin buckets, each with a reason code:
The pipeline's first pass allocated 89% of all commission dollars using safe matching alone. The remaining 11% went to admin buckets with reason codes. Resolving those required reviewing insured name groups — not individual transaction rows.
See how resolving unknown insured name groups moves the allocation rate. Each group may contain multiple transactions — resolve one name, allocate many rows.
The jump from 89% to 99% required reviewing ~30 insured name groups, not ~470 individual transactions. That's Mollick's "cheaper evaluation" lever in action.
Every part of this project maps back to Mollick's framework. The commission reconciliation isn't a separate thing — it's the same delegation principles applied to a different domain.
| Mollick's Lever | What We Built | Effect |
|---|---|---|
| Better Instructions | Eight locked rules + controlled admin buckets | AI knew its authority limits before writing a single line of code |
| Better Evaluation | Conservation test: PASS/FAIL in exact cents | System proves correctness or stops — no manual spot-checks |
| Cheaper Evaluation | Review ~30 name groups, not ~470 rows | Human reviews names sorted by dollar impact, not spreadsheet rows |
The system doesn't replace judgment — it concentrates it where it matters most. Days of row-by-row work become structured AI sessions with an audit trail and exact-cent conservation.