Blog · Procurement and supply chain · Procurement
Procure-to-pay analytics measures elapsed time and exceptions from approved orders through payment. Build a supplier and business-unit comparison from dated exports, with spreadsheet formulas and a reconciliation.
Procure to pay analytics measures where approved purchases wait between ordering, receiving, invoice handling and payment. Calculate the stages separately before comparing suppliers or business units. A single end-to-end average tells you how long the process took, but it cannot tell you which handoff needs attention.
For a US distributor, a case might be a purchase-order line with one final receipt and one final payment. Bring the order register, receiving log, invoice register and payment export. Preserve the order-line identifier across the files, and attach supplier and business unit from an agreed reference list.
This is a process-performance view. The purchase-order, invoice and paid-spend reconciliation owns the separate question of which document basis produces a spend total. For sourcing and contract stages before the approved order, use source-to-pay analytics.
Choose one approved-order cohort and a reporting cutoff. Keep completed cases in the cycle-time calculation and unfinished cases in an open queue. Publish both populations together, because excluding unfinished work without showing it can make a congested process look fast.
Use calendar days here, with the approval date excluded by ordinary date subtraction. The invoice timestamp is when accounts payable receives the invoice, rather than the date printed on it.
End-to-end days = Final payment date − Approved order date
Stage days = Later stage date − Earlier stage date
Case exception rate = Completed cases with an exception / Completed cases
The distinction between invoice receipt and acceptance matters. For federal purchasing, FAR 32.905 bases payment on a proper invoice and satisfactory contract performance and describes supporting receiving documentation. That is a federal process requirement, not a universal commercial payment deadline, but it illustrates why separate timestamps belong in the file.
Orders can legitimately receive invoices before goods arrive. Preserve that sequence and investigate what it means; do not silently replace negative stage intervals with zero. If those cases are common, show receipt and invoice processing as parallel clocks instead of presenting every interval as waiting time.
These illustrative cases were approved and paid during January 2026. Columns A through H contain the source fields below; enter dates as spreadsheet dates. An exception flag of one means the case had at least one recorded exception, regardless of how many exception events occurred.
| Case | Supplier | Unit | Approved | Received | Invoice received | Paid | Exception flag |
|---|---|---|---|---|---|---|---|
| P1 | Apex | East | January 1, 2026 | January 3, 2026 | January 4, 2026 | January 14, 2026 | 0 |
| P2 | Apex | East | January 2, 2026 | January 8, 2026 | January 9, 2026 | January 29, 2026 | 1 |
| P3 | Beacon | West | January 3, 2026 | January 5, 2026 | January 8, 2026 | January 18, 2026 | 1 |
| P4 | Beacon | West | January 4, 2026 | January 7, 2026 | January 8, 2026 | January 18, 2026 | 0 |
In I2, J2, K2 and L2 respectively, enter these formulas and fill down through row 5:
=E2-D2
=F2-E2
=G2-F2
=G2-D2
| Case | Approval to receipt days | Receipt to invoice days | Invoice to payment days | Total days |
|---|---|---|---|---|
| P1 | 2 | 1 | 10 | 13 |
| P2 | 6 | 1 | 20 | 27 |
| P3 | 2 | 3 | 10 | 15 |
| P4 | 3 | 1 | 10 | 14 |
| Sum | 13 | 6 | 50 | 69 |
| Mean per case | 3.25 | 1.50 | 12.50 | 17.25 |
Put a supplier name in N2. Calculate its completed-case count, average total days and exception rate with these formulas:
=COUNTIFS($B$2:$B$5,N2,$G$2:$G$5,">0")
=SUMIFS($L$2:$L$5,$B$2:$B$5,N2)/COUNTIFS($B$2:$B$5,N2,$G$2:$G$5,">0")
=SUMIFS($H$2:$H$5,$B$2:$B$5,N2)/COUNTIFS($B$2:$B$5,N2,$G$2:$G$5,">0")
SUMIFS adds matching values, while COUNTIFS counts rows meeting all criteria. These formulas use only the validated completed-case extract. Covirage is not affiliated with Microsoft.
Apex averages 20.00 days; Beacon averages 14.50 days. Each has one exception across two cases, or 50.0%. Because each supplier belongs to a different unit here, this example cannot separate supplier effects from unit effects. A larger comparison needs suppliers appearing across units or a clear qualification about the overlap.
The stage sums must reconcile: 13 + 6 + 50 = 69 case-days. Dividing each sum by the same four cases gives 3.25 + 1.50 + 12.50 = 17.25 days. A spreadsheet check should return zero:
=SUM(I2:K5)-SUM(L2:L5)
Also compare the completed-case count with the source register and check that each case appears once. Report means to two decimals and percentages to one decimal, using unrounded values in calculations.
An additional order approved January 5, 2026 and still unpaid at the January 31, 2026 cutoff has an open age of 26 days. Show it in the unfinished queue rather than assigning it a payment duration of zero.
Bring a sample of your own approved-order, receipt, invoice and payment files; Covirage maps the columns, and its tools compute and check stage times and exception comparisons. The external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring your files.
See Covirage for procurement teams for the supporting business context.
Use the approved order date, the defined goods receipt date, the date accounts payable received the invoice and the final payment date. Record what each timestamp means. An invoice's printed date and the date it reaches accounts payable answer different questions.
Not necessarily. A longer invoice-to-payment interval can reflect agreed supplier terms, a dispute or an internal processing delay. Compare elapsed time with due dates and exception reasons before assigning responsibility or trying to shorten the interval.
Choose a consistent case boundary, such as an order line that is fully received and paid. Keep partial cases in a separate open queue. Do not combine the first receipt date on one order with the final receipt date on another without labeling the difference.