Summary
Northwind Supply Co. is a fictional 220-person distributor of industrial and janitorial supplies, three warehouses.
- Workflow
- Supplier invoices, from arrival in the AP inbox to an approved vendor bill in NetSuite
- In scope
- PO and non-PO supplier invoices, credit notes, approvals and exceptions
- Out of scope
- Payment runs, employee expenses, accounts receivable
- Period
- Weeks 1–2, with three months of inbox and NetSuite history
- Method
- Six interviews (AP lead, two AP clerks, controller, two buyers), 60 invoices timed end to end, and a prototype run on 400 past invoices
Findings
- 1
About 52% of invoices can run from inbox to approval request without an AP clerk touching them. 31% need a short review of highlighted fields. 17% stay with people as exceptions.
- 2
In the base case, AP and approver time falls from about 368 to about 95 hours a month, a gross saving of about $12,200 a month before running costs.
- 3
The largest single cause of exceptions is a process gap: about 1 in 10 PO invoices arrives before the item receipt is recorded. Fixing that is cheaper than automating around it.
- 4
Duplicate checks today search by invoice number only. Three duplicate payments in the last 12 months got through this way. Stronger checks are part of the build.
Recommendation
Proceed to a pilot, starting with PO-backed invoices from the 50 highest-volume suppliers (61% of volume). Widen to non-PO invoices only after the pilot meets the thresholds in section 07.
Current-state workflow map
Every step from the invoice arriving to the payment run, as it works today. Minutes are average touch time per invoice from the timed sample.
| # | Step | Owner | System | Min / invoice | Errors and exceptions |
|---|---|---|---|---|---|
| 01 | Receive and sort email | AP clerk | Outlook shared inbox | 0.8 | About 9% of emails are statements, reminders or PO confirmations. Some PDFs hold several invoices. |
| 02 | Save PDF to shared drive | AP clerk | SharePoint folder | 0.4 | File names vary by clerk, so finding a source document later takes a search. |
| 03 | Key header and line items | AP clerk | NetSuite | 2.6 | Line items keyed by hand for PO invoices. Most rework traces back to this step. |
| 04 | Check for duplicates | AP clerk | NetSuite saved search | 0.4 | Searches by invoice number only, so “INV-0042” and “42” are not caught. |
| 05 | Match to PO and receipt | AP clerk | NetSuite | 1.8 | About 1 in 10 PO invoices arrives before the item receipt is recorded. |
| 06 | Code non-PO invoices | AP clerk | NetSuite, coding sheet | 0.7 | About 3 minutes each for the 22% of invoices without a PO, averaged across all invoices here. |
| 07 | Request approval | AP clerk | Email, Slack | 0.6 | Approver looked up in a spreadsheet matrix. Reminders sent by hand. |
| 08 | Chase and resolve exceptions | AP clerk, buyers | Email, Slack | 1.3 | 23% of invoices. Usually three or more messages per exception. |
| 09 | Approve | Budget owner, controller | Email, NetSuite | 0.6 | Approvers open NetSuite to see the PO. Email approvals are re-entered by AP. |
| 10 | Payment run | Controller | NetSuite, bank portal | Out of scope | Out of scope. Stays as it is today. |
| Total touch time per invoice | 9.2 | AP team 8.6 min, approvers 0.6 min | |||
Scroll sideways to see every column.
Fictional sample data
Measured baseline
Measured from three months of inbox and NetSuite history and a timed sample of 60 invoices. This is the number every later estimate is compared against.
- invoices / month
- 2,400
- 78% with a PO, 22% without
- minutes per invoice
- 9.2
- Average of 60 timed invoices, all steps
- hours / month
- 368
- AP team 344 h, approvers 24 h
- exception rate
- 23%
- Invoices needing a person to resolve something
- days, median cycle time
- 6.5
- Arrival to approval, business days; 90th percentile 15
- rework rate
- 1.8%
- Bills corrected, voided or re-entered after posting
Fictional sample data
How invoices arrive
- AP shared inbox (PDF)71%
- Supplier portals18%
- Paper, scanned7%
- EDI4%
Exceptions by type
| Exception | Share | Per month |
|---|---|---|
| Item receipt not yet recorded | 8% | 192 |
| Price variance against PO | 6% | 144 |
| Missing or wrong PO number | 4% | 96 |
| Unreadable or poor scan | 2% | 48 |
| Supplier not in vendor master | 1.5% | 36 |
| Suspected duplicate | 1% | 24 |
| Bank details differ from vendor master | 0.5% | 12 |
| All exceptions | 23% | 552 |
Scroll sideways to see every column.
- About 640 active suppliers. The top 50 send 61% of invoices.
- Four AP clerks and an AP lead. Invoice work takes about 60% of the clerks' time.
- Late-payment fees average about $1,100 a month. Tracked separately and not counted in the estimate.
- Three duplicate payments in the last 12 months, all recovered after supplier statements were reconciled.
Where automation fits
Each step tagged by what does the work after automation. The split comes from a prototype run on 400 past invoices, not from a general benchmark.
- Straight-through
52%1,248 / month
Matched, validated and sent for approval with no AP touch.
- Assisted
31%744 / month
A clerk checks the highlighted fields, about 1.5 minutes each.
- Manual
17%408 / month
Exceptions resolved by a person, about 6 minutes each with the context prepared.
Fictional sample data
| # | Step | Handled by | After automation |
|---|---|---|---|
| 01 | Receive and sort email | Model | Classifies each attachment as invoice, credit note, statement or other, and splits multi-invoice PDFs. |
| 02 | Save PDF to shared drive | Rules | The source PDF is attached to the NetSuite bill automatically, with a consistent name. |
| 03 | Key header and line items | Model | Extracts header and line fields with a confidence score per field. Low-confidence fields go to review. |
| 04 | Check for duplicates | Rules | Checks supplier plus normalized invoice number, and supplier plus amount plus date within 30 days. |
| 05 | Match to PO and receipt | RulesModel | Rules check amounts within tolerance. A model maps supplier item descriptions to PO lines. Waiting invoices are re-checked when the receipt is recorded. |
| 06 | Code non-PO invoices | ModelPerson | Suggests GL code and cost center from that supplier’s past invoices. The approver confirms or corrects. |
| 07 | Request approval | Rules | The approval matrix is encoded by amount, cost center and supplier category. Requests and reminders go out in Slack. |
| 08 | Chase and resolve exceptions | Person | Each exception arrives with the reason, the documents and a suggested owner. |
| 09 | Approve | Person | Approvers decide in Slack, with the invoice, PO and match result in one message. |
| 10 | Payment run | Person | Unchanged. Payment release stays in the existing run with its own approvals. |
Scroll sideways to see every column.
What stays with people
Decisions that carry financial or fraud risk stay with named people. The system prepares the information and records the decision.
- Person
Approving invoices
Every approval follows the delegation of authority matrix. The system never approves an invoice.
- Person
Bank-detail changes
A named controller verifies any change with the supplier through a known contact, outside the email thread.
- Person
Price and quantity disputes
Buyers resolve variances with suppliers. The system shows ordered, received and invoiced figures side by side.
- Person
New suppliers
Procurement onboards them. The system passes on the supplier details it extracted.
- Person
Releasing payments
The payment run, and who can release it, stays as it is today.
- Person
Changing the rules
Tolerances, thresholds and the approval matrix are changed only by the controller, and every change is logged.
Risks and controls
What could go wrong once this workflow is automated, and the control that addresses it. Controls are tested before the pilot, not added after.
Duplicate payment
Duplicate checks on normalized invoice number, on supplier, amount and date within 30 days, and on the file itself. Posting is idempotent, so a retry cannot create a second bill.
Owner: AP lead
Bank-detail change fraud
Remittance details on every invoice are compared with the vendor master. A mismatch holds the invoice and alerts the named controller. The system can never edit vendor records.
Owner: Controller
Segregation of duties
The person who raised a PO cannot approve the invoice against it. Nobody can approve payment to a supplier whose details they changed. Enforced in rules and checked in the test set.
Owner: Controller
Wrong value posted without review
Review thresholds set from errors measured on the test set. Critical fields are always validated against the PO and vendor master. 2% of auto-processed invoices are sampled each week.
Owner: AP lead
Instructions hidden in inbound email
Email and attachments are treated as untrusted input. The model returns structured fields only, and every action is limited by the integration role, outside the model.
Owner: Scenox
Accuracy drifts as suppliers change layouts
The test set is re-run monthly and after every change. An alert fires when the review rate or error rate rises above the agreed level.
Owner: Scenox
System unavailable
Invoices queue in the inbox and nothing is lost. AP can process by hand in the meantime, exactly as today.
Owner: Scenox, AP lead
Success metrics and sign-off
Agreed with the controller before the build starts. The pilot is judged against these numbers and nothing else.
| Metric | Baseline | Threshold to go live | Measured by |
|---|---|---|---|
| Wrong critical-field values reaching NetSuite unreviewed | Not measured | 0 in test set; ≤ 1 per 1,000 in shadow run | Invoice-by-invoice comparison |
| Critical-field accuracy before review | — | ≥ 98% per field | 400-invoice test set |
| Straight-through rate, pilot scope | 0% | ≥ 45% | Shadow run, 2 weeks |
| Review time per assisted invoice | — | ≤ 2 min median | Console timings |
| Known duplicates caught | Search by number only | 25 of 25 | Past duplicates in test set |
| Bank-detail changes applied automatically | — | 0, always | Hard control, tested |
| Median cycle time, arrival to approval | 6.5 days | ≤ 3 days | NetSuite timestamps |
| Rework rate | 1.8% | ≤ 0.8% | Corrected or voided bills |
Scroll sideways to see every column.
Fictional sample data
Sign-off
The controller signs off go-live when every threshold is met in the shadow run. If one is missed, we fix the cause and run one more week of shadow mode, or stop and report why.
Proposed system
One system around the tools Northwind already uses. No new software for the AP team to learn beyond the exception queue.
- 01Rules
Intake
Shared inbox and portal exports
- 02Model
Read
Classify, split, extract fields
- 03Rules
Check
Validate, de-duplicate, match
- 04Person
Approve
Request and decision in Slack
- 05Rules
Post
Vendor bill in NetSuite
Anything that fails a check goes to the exception queue with its reason, then rejoins the flow once a person resolves it. Every step is written to the audit log.
Integrations and access
AP shared inbox
Microsoft 365Reads new mail and attachments; files processed mail into a folder.
- Access
- AP mailbox only, through an application access policy
- Cannot
- Send email or open other mailboxes
NetSuite
SuiteTalk RESTReads vendors, POs and item receipts; creates vendor bills as pending approval, with the PDF attached; records each approver’s decision.
- Access
- Custom integration role, token-based authentication
- Cannot
- Edit vendor records or bank details, create payments, approve bills
Slack
Bot userSends approval requests and reminders to approvers; posts exception alerts to #ap-exceptions.
- Access
- Direct messages to approvers and two channels
- Cannot
- Read other channels
Operator console
ScenoxException queue, audit log of every step, weekly report against the metrics in section 07.
- Access
- Northwind single sign-on, AP and finance roles
- Cannot
- Change rules without a logged controller approval
Build plan by week
The same stages as every engagement: pilot in weeks 3–6, production by weeks 6–10. See how we work for what happens in each stage.
Audit
Weeks 1–2
Design
Weeks 2–3
Build
Weeks 3–5
Shadow run
Weeks 5–6
First go-live
Weeks 6–8
Widen
Weeks 8–10
Weeks 1–2
Audit
- Interviews, timing and data pull
- Prototype on 400 past invoices
- This report
Output: Signed-off report and fixed price
Weeks 2–3
Design
- NetSuite sandbox and inbox access
- Approval matrix encoded and reviewed
- Test set labeled by AP
Output: System design and test plan
Weeks 3–5
Build
- Intake, extraction and validation
- Matching, coding and Slack approvals
- Scored on the test set after each change
Output: Test-set results against section 07
Weeks 5–6
Shadow run
- All live invoices processed in parallel
- Daily comparison with AP’s own work
- Go or no-go review with the controller
Output: Pilot results and sign-off
Weeks 6–8
First go-live
- PO invoices from the top 50 suppliers
- Weekly sample review of processed invoices
Output: Live on 61% of volume
Weeks 8–10
Widen
- Remaining PO invoices, then non-PO
- Review thresholds lowered only where the data supports it
Output: Full scope in production
Estimate and method
The full arithmetic, so your finance team can check every line. Human review, oversight and running costs are counted. The method is the one in our ROI guide.
Inputs
- Monthly volume
- 2,400 invoices
- Touch time today
- 9.2 min per invoice
- Loaded hourly cost
- $42
- Rework rate today
- 1.8%
- Cost per rework
- $30
- Approver time
- 24 h / month, unchanged
Fictional sample data
Today, per month
| Line | Calculation | Amount |
|---|---|---|
| Labor | 2,400 × 9.2 min ÷ 60 = 368 h × $42 | $15,456 |
| Rework | 2,400 × 1.8% ≈ 43 × $30 | $1,290 |
| Baseline monthly cost | $16,746 | |
Scroll sideways to see every column.
After automation, per month
| Time that remains | Calculation | Hours |
|---|---|---|
| Assisted review | 744 × 1.5 min ÷ 60 | 18.6 h |
| Manual exceptions | 408 × 6 min ÷ 60 | 40.8 h |
| Oversight | Queue, sample checks, rule changes | 12 h |
| Approvers | Kept the same as today | 24 h |
| Remaining hours | 95.4 h | |
Scroll sideways to see every column.
| Line | Calculation | Amount |
|---|---|---|
| Labor | 95.4 h × $42 | $4,007 |
| Rework | 2,400 × 0.8% ≈ 19 × $30 | $570 |
| Remaining monthly cost | $4,577 | |
Scroll sideways to see every column.
Build and running costs
Build
$X
Fixed price quoted here in your report. Covers design, build, pilot and staged rollout.
Running
$Y / month
Quoted here in your report. Model usage, hosting, monitoring and maintenance.
Left blank in this example. Your report states both as fixed figures.
Result, base case
- Gross monthly saving
- $12,169
- $16,746 − $4,577
- Net monthly saving
- $12,169 − $Y
- After running cost
- First-year gross saving
- $135,076
- 40% in month 1, 70% in month 2, full from month 3
- Hours freed
- ≈ 273 h / month
- 368 h − 95.4 h
Payback month = first month where
cumulative gross saving − (months × $Y) ≥ $X
First-year ROI = ($135,076 − $X − 12 × $Y) ÷ ($X + 12 × $Y)
Pays back in year one if $X + 12 × $Y ≤ $135,076Low, base and high cases
| Case | Straight / assisted / manual | Rework | Hours left | Gross saving / month |
|---|---|---|---|---|
| Low | 40 / 35 / 25 % | 1.2% | 117 h | $10,962 |
| Base | 52 / 31 / 17 % | 0.8% | 95.4 h | $12,169 |
| High | 60 / 28 / 12 % | 0.6% | 81.6 h | $12,899 |
Scroll sideways to see every column.
Fictional sample data
- Freed hours are counted as cash only to the extent they change spending. Northwind plans a fifth AP hire next year as volume grows; avoiding that hire is the cash case. The rest is capacity.
- Late-fee reductions, early-payment discounts and shorter cycle time are real but tracked separately, outside these numbers.
- The split comes from the prototype run on 400 past invoices. The pilot replaces it with measured live figures before full rollout.
Open questions
Decisions the report cannot make for Northwind. Each has an owner and is closed before the build starts.
- Q1
Will Northwind allow fully matched PO invoices under a set amount to be approved by a written rule?
Not assumed in the estimate. If yes, approver time falls further.
Owner: Controller
- Q2
Who is the named controller for bank-detail verification, and who is the backup?
Required before go-live.
Owner: Controller
- Q3
Can buyers record item receipts within two business days of delivery?
This is the largest exception type and a process fix, not an automation fix.
Owner: Operations director
- Q4
Is a price tolerance of 2% or $50, whichever is lower, acceptable to procurement?
Sets how many invoices match without a buyer.
Owner: Procurement
- Q5
Which of the three supplier portals can send invoices by email or API?
Decides whether portal invoices are in the first go-live.
Owner: AP lead
- Q6
Is the planned fifth AP hire still in next year’s budget?
Decides how much of the saving is cash.
Owner: CFO
- Q7
How long must invoice images and logs be kept?
Sets retention in the build.
Owner: Controller
