Logistics
Delivery confirmation to customer portal
Engagement record · Field services · Owner-attested
An operator had ten million dollars of completed work with no invoice against it. The crews had been paid. The customer was waiting to be billed. The revenue existed everywhere except on paper.
Engagement record
Map · Build · Operate · Measure
Map — the ticket-to-purchase-order gap, named and bounded
Build — matching on the operator’s own infrastructure, exceptions to a person
Operate — the finance team keeps final review
Measure — the operator’s next decision: a second contract
Plate I
Every field job produces a sales ticket. Every invoice needs that ticket matched to the purchase order that authorizes it. Every matched invoice then has to enter the customer’s procurement portal, SAP Ariba, in the form the portal accepts. At an oil-and-gas field-services operator, each of those steps was a person, a spreadsheet, and a queue, and the queue had grown to ten million dollars of work that was finished, paid for in labor, and invisible to accounts receivable.
The pattern is not an oil-and-gas pattern. It appears wherever work is done in the field and billed through someone else’s portal.
Illustrative layout. No client data and no measured values appear in this figure.
We built the matching workflow first. Sales tickets are reconciled against purchase orders on the operator’s own infrastructure; pairs that match move into QuickBooks and on to Ariba; anything that does not match is routed to a named person rather than guessed at. The operator’s finance team kept final review over every invoice that left the building. The queue started moving. A significant portion of that backlog has since been billed.
The engagement did not end with the first workflow. The operator signed a second contract: automate the full path, sales ticket to QuickBooks to Ariba, end to end, where the first engagement had automated the match. Further workflows in the same operation are being scoped. That progression is the result we point to. Scope was earned by the first build, not sold ahead of it.
Scope earned, not sold.
An unbilled balance is the operator financing its customer’s payables. At any cost of capital, money that could be in receivables and is not has a carrying cost. The arithmetic below runs on the attested figure and nothing else.
| Cost of capital | Carrying cost per year on $10 million unbilled | Per month |
|---|---|---|
| 6 percent | $600,000 | $50,000 |
| 8 percent | $800,000 | about $67,000 |
| 10 percent | $1,000,000 | about $83,000 |
Illustrative arithmetic on the attested figure at stated rates. Not a client outcome, not a forecast, and not the operator’s cost of capital, which we do not know.
The number a finance team cares about is not the automation. It is the month the queue stops growing.
Delivery confirmation to customer portal
Work order to PO to invoice
Daily ticket to pay application
Rental ticket to customer AP
Same shape. Different nouns.
A $10 million unbilled-work backlog at one field-services operator; a ticket-to-purchase-order matching workflow in operation on operator-hosted infrastructure with human exception review; invoices moving into QuickBooks and SAP Ariba; a second signed contract to automate ticket matching, QuickBooks invoicing, and Ariba submission end to end; further scope in discussion.
The operator’s identity (withheld by choice); a quantified recovery, cycle-time, or receivables figure; the acceptance state of the second build; VeilEngine use; named VE module use; a complete audit trail.
Attested by the owner of the engagement on 2026-08-31. Where a figure is illustrative, the page says so in the same sentence.
Next step
The Opportunity Map ends with a go, reshape, or stop recommendation and an implementation brief you keep.