Implementation Engagement · System Design

One path for every invoice, and a human approval before anything posts

The system design behind the invoice-tracking engagement: a four-part named stack, the approval loop at the center, the tracker of record, a worked queue, the weekly cadence, and the exact scope boundary.

Invoices arrive in three or more places today. The system gives them one path and one gate.

Every arriving invoice is logged the same day. An AI agent drafts the entry. The office manager approves or corrects every draft before it posts. The tracker becomes the single answer to "what is outstanding." The accounting software stays exactly where it is.

400
supplier invoices in an average month, 350-450 range, across 92 active vendors
3+
arrival points today: shared inbox, personal inboxes, paper with deliveries. The system funnels all of them.
8
statuses. Every invoice holds exactly one at all times, with a named owner.

Two weeks to build and shadow. Live in week three.

The system runs in shadow mode alongside the current process for two weeks. Flags fire, drafts queue, nothing changes in production until the numbers hold. Cutover happens at week three.

Weeks 1-2
build and shadow: capture live, drafts flowing, flags tested against real invoices
Week 3
live: the tracker becomes the record; duplicates stop at the gate
<15 min/day
average office manager approval loop across all agent drafts

Four parts. Nothing speculative, nothing replaced that works.

Built code-first: AI-assisted development ships a service like this in days, and code is easier to deploy, version, and test than a no-code chain. Clients who want a visual tool they can self-serve get the same design on n8n instead.

1 · Automation backbone

Custom capture service

One small deployable service. Watches the AP inbox, logs every arriving invoice into the tracker the same day, runs the duplicate check at entry, fires aging and window alerts, and generates the owner's Monday one-pager.

2 · Built and supervised

AI extraction agent

Reads incoming invoice PDFs and drafts the tracker entry: vendor, amount, PO, due date, discount window. It drafts. It never posts unreviewed. A human approves every entry, every time.

3 · System of record

Database-backed tracker

Status, owner, due date, discount window, dispute field, and a credit/claim log with expiry dates. Operated through a simple interface the team already understands.

4 · Untouched

Existing accounting software

Stays as the ledger of record. The system feeds it and never replaces it. No migration, no retraining, no new ledger risk.

The path every invoice takes, with the human gate in the middle

Automation handles capture, matching, reminders, and reporting. Judgment stays human. The approval node is not a formality; it is the reason the agent can run at all.

Automation AI draft Human guardrail System of record
Source

AP inbox

Every arrival point funnels here: shared inbox, forwarded personal mail, scanned paper.

Capture service

Logged same day

Every invoice gets a tracker row the day it arrives. No exceptions, no backlog.

Extraction agent

Entry drafted

Vendor, amount, PO, due date, discount window. Drafted, never posted.

Human guardrail

Office manager approval

Approves or corrects every draft. Decides every duplicate flag. Nothing posts unreviewed. Under 15 minutes a day, total.

Tracker of record

Status set, owner named

One row per invoice. One status. One owner. Windows and expiries tracked.

Existing ledger

Accounting software

Fed by the tracker. Untouched as the ledger of record.

Duplicate flags, at entry Exact match on vendor + invoice number. Fuzzy flag on vendor + amount within a 10-day window. Flags go to the office manager. A human decides, always.
Aging alerts Fires when an invoice passes its due date and nobody has acted. The oldest items surface first.
Discount-window alerts Fires when a discount window closes in 3 business days. 14 vendors carry standing 1-2% terms.
Credit-expiry alerts Fires when a credit or shortage claim expires in 7 days. Claims stop dying in email threads.

Eleven fields, eight statuses, one owner per row

The schema is deliberately small. Every field either answers "what is outstanding" or feeds an alert. Nothing on this list is decorative.

VendorOne canonical name per vendor. Feeds both duplicate rules.
Invoice numberExact-match key for the duplicate check at entry.
AmountFuzzy-match key. Checked against PO and rate sheet at entry.
POLinks the invoice to what was actually ordered.
Arrival dateSet the day the invoice arrives. Proves same-day logging.
Due dateDrives the aging alert once it passes.
Discount windowDrives the 3-business-day closing alert.
StatusExactly one of the eight below, at all times.
OwnerOffice manager or bookkeeper. Named on every row.
Dispute fieldWhat is contested, with whom, and the last contact.
Credit/claim logEvery credit and shortage claim, each with an expiry date.
LoggedArrived and captured same day. Draft awaiting approval.
EnteredDraft approved. Posted to the tracker and fed to the ledger.
Flagged duplicateMatched an existing invoice. Human decision pending.
DisputedAmount, rate, or delivery contested with the vendor.
Awaiting creditCredit or claim promised. Expiry date on the clock.
ScheduledPayment date set, inside any discount window.
PaidPayment issued and recorded in the ledger.
ClosedReconciled at month-end. No open action.

Six rows from a live morning in the tracker

This is what the office manager sees when she opens the queue. Flags at the top, windows next, on-track rows below. Every row already has an owner and a next action.

VendorInvoiceAmountStatusOwnerWindow / dueNext action
Freight carrier AFC-20335$1,875.00 Flagged duplicateOffice manager Fuzzy flag: same vendor and amount as an invoice 8 days earlier Review the flag. Confirm duplicate or clear it. Nothing pays until she decides.
Dry-goods vendor EDG-1187$2,960.00 ScheduledBookkeeper 2% window closes in 3 business days Pay inside the window. The closing alert has already fired.
Packaging vendor CPK-5520$3,150.00 DisputedOffice manager Shortage claim open; expiry alert set 7 days out Vendor call logged in the dispute field. Awaiting the credit memo.
Facilities vendor FFS-0207$980.00 LoggedOffice manager Arrived today; entered same day Approve or correct the agent draft.
Produce vendor BPB-8841$4,212.50 EnteredBookkeeper Due in 18 days None. On track. Will move to Scheduled at the Tuesday review.
Produce vendor DPD-3316$1,690.00 PaidBookkeeper Paid on terms Closes at month-end reconciliation.

Illustrative rows. Vendor names are generic by design and amounts are texture, not totals.

Two touchpoints a week. That is the whole ceremony.

Monday: the owner's one-pager

  • Generated by the capture service, delivered every Monday.
  • One page: outstanding total, flags open, disputes and claims, windows closing this week.
  • The owner reads it. No reconciliation weekend required to produce it.

Tuesday: the 20-minute AP review

  • New duplicate flags: confirm or clear each one.
  • Aging: anything past due gets a next action and a date.
  • Disputes and claims: check expiry clocks, log vendor contact.
  • Discount windows: confirm this week's scheduled payments land inside them.
  • Owner position: agree what the owner needs to decide, if anything.

Automation does the watching. People do the deciding.

What stays human

  • Every pay, dispute, and claim decision.
  • Approval of every agent draft, before anything posts.
  • Every duplicate-flag ruling.
  • Every vendor conversation.

What is automated

  • Capture: same-day logging of every arrival.
  • Matching: exact and fuzzy duplicate checks at entry.
  • Reminders: aging, discount-window, and credit-expiry alerts.
  • Reporting: the Monday one-pager, assembled from the tracker.

What this engagement is, and what it is not

The boundary is part of the design. The system earns trust by refusing to do the things that would make it dangerous.

Included

  • The four-part stack, built and deployed: capture service, extraction agent, tracker of record, ledger feed.
  • Duplicate rules, all four alert types, and the Monday one-pager.
  • Two weeks of shadow running before cutover.
  • Team walkthrough and a written runbook at handoff.

Not included

  • No ERP or accounting-software replacement. The ledger stays.
  • No autonomous payments. The system never moves money.
  • No AI-written vendor emails. People talk to vendors.

Client inputs

  • Access to the shared AP inbox.
  • Vendor list with payment terms and discount windows.
  • Freight rate sheets and PO records for entry checks.
  • Office manager time during the shadow weeks to approve drafts.

Definition of done

  • 100% of arriving invoices logged same day, held for two consecutive weeks.
  • Office manager approves all drafts in under 15 minutes a day.
  • Zero unreviewed postings. Not one entry reaches the tracker without a human approval.

Pricing: Scoped per engagement.