C
The Procurement Codex
The lifecycle, as a system · Free & open
⚙️

Fully autonomous project. The Procurement Codex is built, verified, and published end-to-end without manual authoring. Its core logic — the spine, the layer model, and the platform comparison rubric — is rebuilt and improved on every iteration for continuous method validation. Content is generated programmatically and refined each cycle: treat it as a directional learning aid, verify against primary sources, and send corrections — accuracy and fairness compound with each pass.

Episode 10 · Where the promise meets reality

Goods & Service Receipt

The purchase order was a promise. Receipt is the first moment anyone checks whether the promise was kept. It is also the step most organisations treat as clerical — and then spend the rest of the cycle paying for, because an invoice cannot be matched against a receipt that nobody recorded.

Below: the plain concept → how every major platform handles it → best practice → process mining, AI, orchestration and ownership, stacked until standalone is never enough.

L0 · The Concept

What it is

Receipt is the confirmation that goods arrived or a service was performed, recorded against the purchase order line that committed to them. For goods it is a goods receipt with a quantity, a date and usually a location. For services it is a service entry or milestone confirmation against a rate card or schedule. Either way it creates the second of the three documents that matching in Ep11 depends on.

Why it exists

Because without it the organisation is asked to pay on the supplier word alone. Receipt is what converts a commitment into a liability at the moment value is actually delivered, what makes accruals real rather than estimated, and what gives you a defensible answer when a supplier says the shipment went out and the requester says it never came.

What good looks like

Receipts are entered within hours, not weeks. Warehouse staff scan rather than type. Requesters confirm desktop deliveries from a phone. Service milestones are confirmed by the person who consumed the service, on the schedule the contract defined. Quantity and quality exceptions are recorded as exceptions rather than quietly rounded to make the invoice clear.

L1 · Platform-Native — A vs B vs C

Same rubric for every vendor, 1–5. We state explicitly what each is best and worst at. Toggle platforms to compare.

Platform Best at Watch-out

Scores are directional teaching aids based on typical deployments, not vendor benchmarks. Your mileage varies by configuration, module licensing, scope, and integration maturity.

L2 · Best Practice

Design principles
  • Receive where the work happens — a warehouse needs scanning, a desk needs a phone, a service needs the person who consumed it. One receipt UI for all three guarantees at least two of them go unrecorded.
  • Make the expectation visible — an advance ship notice or a confirmed delivery date turns receipt from data entry into a check. People confirm what they were told to expect far more reliably than they invent it from scratch.
  • Use a real service construct — service entry sheets, milestones or rate-card confirmations exist because services have no box to count. Forcing a quantity of one onto a service PO makes matching meaningless.
  • Record exceptions as exceptions — short deliveries, damage and rejects belong in the receipt with a reason code, not silently adjusted so that the invoice will clear.
  • Set tolerances deliberately — tolerance is a policy decision about the cost of investigation versus the cost of error, and it should differ by category and value, not be one global number.
  • Close the loop to the supplier — a receipt the supplier can see prevents the invoice-before-delivery dispute entirely, and it is the same channel that carried the order in Ep09.
KPIs & failure modes
  • KPIs — receipt lag in days, touchless receipt rate, percentage of invoices blocked for missing receipt, service entry timeliness, returns and rejection rate, receipt-driven match exception rate.
  • Receipt lag — goods arrived three weeks ago and nobody posted it, so the period closed on an estimate and the invoice sits blocked in Ep11.
  • Rubber-stamp receipting — someone posts a full receipt to release payment without checking anything, which is worse than no control because it looks like one.
  • Missing service entry — consultants worked all quarter against a services PO with no milestone construct, so nothing is receipted and the accrual is a guess.
  • Tolerance abuse — tolerances set wide enough that nothing ever fails, quietly absorbing overbilling that would otherwise be caught.
  • Receipt by accounts payable — AP posts the receipt so it can pay the invoice, which collapses three-way match into a one-way match performed by the party under pressure to pay.
  • Unmanaged returns — rejected goods leave the site with no reversal posted, so inventory, commitment and the eventual credit note never reconcile.

The Layer Peeler — watch standalone become a system

Stack layers onto a paper delivery note and watch the architecture — and the outcome metrics — change. This is the whole thesis of the Codex in one control.

Outcome at this stack level
Receipt lag
Touchless receipts
GR-blocked invoices
Service entries on time

L7 · The Synergy Composite

A real best-of-breed receipt architecture is never one product. Here is the composite, and where the value actually lives — in the seams.

flowchart LR
PO[Ep09 purchase order
lines, quantities and dates] --> EXPECT[L2 Expected receipt
from confirmed delivery date] ASN[L5 Advance ship notice
SAP Business Network / EDI] -.what is arriving.-> EXPECT EXPECT --> GOODS[L1 Goods receipt
S4HANA MM / Oracle / D365] EXPECT --> SVC[L1 Service entry
milestone or rate card] MOB[L4 Mobile and scan capture
barcode, photo, desktop confirm] -.who received it.-> GOODS REQ[L6 Requester confirms
desktop and service delivery] -.consumption evidence.-> SVC GOODS --> QC{L2 Quality and tolerance
accept, reject or return} SVC --> QC PM[L3 Process mining
Celonis / Signavio / Apromore] -.receipt lag and rework.-> QC QC --> ACC[L1 Accrual and inventory
posted at the moment of delivery] QC --> INV[Ep11 · Invoice and 3-way Match] ACC -.matching basis.-> INV

Standalone, a receipt module records a number. Wired to Ep09 for the expected quantity, a supplier network for advance ship notices, mobile capture for the people who actually touch the goods, mining for where receipt lag really comes from, and a service-entry construct for everything that has no box, it produces the evidence the rest of the cycle runs on. No single vendor is strongest at warehouse capture, service confirmation and network reach at once — which is why the leverage sits in the seams.

The Stack Builder — compose your own

Pick one from each column. The Codex assembles the composite and calls out where the seams need engineering. Shown here for goods and service receipt; the same engine powers every episode.

Cheat Sheet — Goods & Service Receipt

The 5-second definition

Record that what was ordered actually arrived or was performed, against the PO line that ordered it, at the moment it happens and by the person who saw it.

KPIs that matter

Receipt lag · touchless receipt rate · invoices blocked for missing receipt · service entry timeliness · rejection and return rate.

Scorecard in one line

If accounts payable is posting your receipts, you do not have three-way match — you have a formality.

Platforms in one line

ERP-native engines win on inventory, service entry and accrual accounting; S2P suites win on requester-side desktop confirmation; supplier networks win on advance ship notices.

The layers

L0 paper delivery note → L1 receipt engine → L2 discipline and tolerances → L3 mining → L4 mobile and vision capture → L5 network orchestration → L6 named receipt owners → L7 composite.

The thesis

Standalone is never enough. Receipt only becomes evidence when expectation, capture, exception handling and ownership are wired into it.

Scenario Check

Question /