Back to Portfolio Engagement Case Study

$40,000 found in 60 days.

The client: an $8M wholesale food distributor. 19 employees, 92 vendors, about 400 supplier invoices a month, and a growing suspicion that some were being paid twice. They were right.

The life of an invoice, before

  1. An invoice arrives in the shared AP inbox. Or a personal inbox. Or on paper with a delivery.
  2. The office manager forwards it to herself to deal with later. AP is one of her six jobs.
  3. It gets typed into the accounting software when there is time. There is no arrival log.
  4. The spreadsheet tracker gets updated for roughly half of the invoices.
  5. A duplicate arrives with a late notice. Nobody can prove the original was entered.
  6. It gets paid again, because paying twice feels safer than a vendor hold.
  7. Credits and shortage claims live in email threads. Most expire unclaimed.
  8. Early-pay discount windows pass unnoticed. 14 vendors offer standing terms.
  9. Month-end: the bookkeeper reconciles against statements and finds mystery payments.
  10. The owner spends a weekend with the binder, the inbox, and the spreadsheet, and still cannot say what is outstanding.

WHAT THAT COSTS, MEASURED

400supplier invoices a month, across 92 vendors
3+arrival points: shared inbox, personal inboxes, paper
12 hrsa week of invoice archaeology for the office manager
0tracker of record. The spreadsheet covers about half

EXHIBIT 01 · CURRENT-STATE FLOW

Current-state invoice flow swimlane: seven lanes from vendor to owner, with failure points labeled FROM THE ENGAGEMENT EXHIBITOpen full exhibit →

One invoice, seven lanes, five failure points. The full document adds the leak categories and the cost panel.

Not an accounting problem. An arrival-capture problem.

The ledger was fine. The path to the ledger was not. Work arrived in three places, got tracked in half of one, and every question about status started an investigation.

The instinct was to hire an AP clerk. A clerk types faster. Nothing about arrival capture, duplicate flags, or expiry windows changes.

The fix: one capture point, one tracker of record, one weekly cadence. Automation for capture, matching, reminders, and reporting. Judgment, every pay and dispute decision, stays human.

Four parts, built in two weeks, live in week three

Nothing speculative and nothing replaced that works. The accounting software stays as the ledger. Everything else gets one path.

PART 01 · THE CAPTURE SERVICE

Full system design →

Every invoice gets logged the day it arrives

A small custom service, built code-first: it watches the AP inbox, logs every arrival the same day, runs the duplicate check at entry, fires aging and discount-window alerts, and generates the owner's Monday one-pager. Built as one deployable service because AI-assisted development ships it in days, and code is easier to deploy, version, and test. Clients who want a visual tool they can self-serve get the same design on n8n instead.

Wk 1-2build and shadow mode, tested against real invoices
Wk 3live: the tracker becomes the record; duplicates stop at the gate
2 rulesduplicate flags: exact vendor + invoice number, fuzzy amount within 10 days
3 alertsaging, discount window at 3 business days, credit expiry at 7

PART 02 · THE EXTRACTION AGENT

Full system design →

An AI agent drafts. A human approves. Every time.

Invoice extraction, human approval

TriggerA new invoice logged by the capture service.
ActionThe agent reads the PDF and drafts the entry: vendor, amount, PO, due date, discount window.
GuardrailNothing posts unreviewed. Drafts only, always.
Human roleThe office manager approves or corrects every draft. Under 15 minutes a day.
Failure modeA misread field on a low-quality scan.
RollbackManual entry. The draft is corrected and the pattern noted.

No AI vendor emails. No autonomous payments. The agent handles reading; people handle money.

PART 03 · THE TRACKER OF RECORD

Full system design →

One answer to "what is outstanding"

Eight statuses, a named owner per invoice, discount windows and credit expiries as first-class fields. Illustrative rows:

InvoiceVendorAmountStatusOwnerNext action
INV-2287Produce vendor B$2,340Flagged duplicateOffice managerVerify against prior payment; void if confirmed
INV-2301Dry-goods vendor E$3,120Window closingBookkeeperPay inside the 2% window; closes in 3 business days
INV-2264Packaging vendor C$3,150Awaiting creditOffice managerShortage claim filed; expiry alert set
INV-2295Freight carrier A$1,210DisputedOffice managerRate-sheet mismatch; corrected invoice requested
INV-2310Facilities vendor F$480EnteredBookkeeperScheduled net-30

PART 04 · THE OPERATING CADENCE

Full system design →

Twenty minutes on Tuesday, one page on Monday

  1. New flags. Every duplicate and mismatch flag gets a decision.
  2. Aging. Oldest unpaid first; owner confirms next action.
  3. Disputes and claims. Each one has an expiry date and an owner.
  4. Discount windows. What closes this week gets scheduled.
  5. Owner position. The Monday one-pager: outstanding, flagged, captured.

The owner stopped reconciling on weekends in week three. The one-pager replaced the binder.

The 60-day catch log

From day one, every catch was logged: date, category, vendor, amount, mechanism, resolution. The log is the ROI record.

$17,140duplicate payments identified and recovered or credited
$11,860expiring vendor credits and shortage claims pursued
$6,240early-pay discounts captured once windows became visible
$4,760double-billed freight and rate errors caught at entry

Weeks 1-2 shadow mode. Week 3 live, and the backlog sweep peaks. Cumulative lands on $40,000 in week 9.

WeekCaughtCumulativeWhat happened
1$1,180$1,180Build and shadow mode; first entry flags
2$2,660$3,840Shadow mode; backlog sweep begins
3$7,940$11,780Live. Duplicate backlog peak
4$6,720$18,500Credit and claim backlog worked
5$6,180$24,680Backlog tail; first full discount cycle
6$4,340$29,020Steady state emerging
7$4,120$33,140Discounts plus entry catches
8$3,660$36,800Entry catches; two disputes resolved
9$3,200$40,000Steady run-rate

Representative catches: a $2,340 duplicate found in the backlog sweep, a $3,150 shortage claim rescued a week before expiry, a $1,210 rate-sheet mismatch flagged at entry. Open the full catch log →

The same five questions, 60 days apart

MetricBeforeAfter
Invoices with known statusUnknown; spreadsheet covered about half100% logged same day
Duplicate paymentsRecurring, paid to be safeZero paid since week 3
Credits and discountsExpiring silently in threadsTracked with windows; $700-900 a month captured
Office manager archaeology12 hours a weekAbout 3 hours of review and approvals
Owner reconciliation weekendsOne per monthNone. A one-page Monday readout
Found in 60 daysInvisible$40,000

Your version of this leak exists. It is just invisible.

Builds like this follow a diagnostic. Send 3 to 5 recent examples where money or work slipped through, and I'll tell you whether the audit is the right fit. dan@diazovate.com

Book the Audit Starts at $2,500, scoped on the intro call.