Wireline and pressure services · Midland, TX
One system feeding five operator portals for a Permian services company
A Permian wireline company re-keyed every ticket into whichever platform each operator mandated. The portals were not the problem.
Representative engagement. This describes work of a type we build, with figures modeled rather than measured at a named client. We would rather tell you that than invent a customer you cannot phone.
Outcome Measured after go-live
- 11 → 3 days
- Work performed to invoice submitted
- Median across all operators, measured 90 days after go-live.
- 7.0% → 3.1%
- Tickets disputed or short-paid
- Measured against the prior twelve months.
- $540k
- Annualized recovery
- Recovered billing, released carrying cost and returned admin hours.
The situation
A wireline and pressure services company working the Permian for nine different operators. Around 740 tickets a month, averaging $4,280.
Five of those nine operators mandated a different e-invoicing platform. Two took email. Two still wanted paper. The company had, in effect, nine billing processes, and a two-person billing team holding all of them together by hand.
What the audit week found
The client’s own theory was that they needed to be better at OpenInvoice. That was not the problem.
Being on an operator’s platform does not give you a system. OpenInvoice serves the operator’s accounts payable process. It does not price a ticket against your own rate schedule, it does not follow you to the next operator, and it does not tell you anything about the tickets that never made it to a platform. The company was a participant in five systems and had none of its own.
Everything was keyed at least twice. Once from paper into their accounting system, then again into whichever portal that operator required. Some tickets were keyed three times.
Operator-side automation was making things worse, not better. As operators adopted automated reconciliation, rate discrepancies that a busy AP clerk used to miss were now caught every single time. Their dispute rate had risen as their customers modernized, which is a genuinely counterintuitive dynamic and the most useful thing we found all week.
Nobody had the date the work was performed anywhere the system could reach, only the date the ticket was entered. The eleven-day billing lag had to be reconstructed by hand from fifty tickets. Most companies cannot see this number, which is why most companies think their billing is faster than it is.
What we built
One internal system of record. Tickets captured in the field, extracted, validated, and approved in one place, regardless of which operator the work was for.
MSA rate validation before submission. Every line checked against the rate schedule governing that operator, plus the authorization requirements in the contract. Anything out of tolerance is held for review on their side of the fence rather than caught on the operator’s.
Submission adapters per destination. The same approved ticket is formatted and submitted to OpenInvoice, to Cortex, or by email, depending on the customer. Adding an operator is configuration rather than a new process.
Submission window tracking. Several of their MSAs carried a 90-day window after which the right to bill lapses entirely. Nobody had been watching it. The system now flags anything approaching the limit.
What happened
Billing lag went from 11 days to 3. Disputes fell from 7.0% to 3.1% of ticket value, almost entirely through rate discrepancies being caught before submission rather than after.
The submission window tracking caught $84k of work in the first two months that was inside 30 days of lapsing. That was not in the business case and nobody had asked for it.
What went wrong
One crew’s handwriting broke the extraction. Overall accuracy was strong, but tickets from one crew came back materially worse. No amount of tuning fixed it, because the tickets were genuinely ambiguous. That crew moved to digital capture first, and it turned out to be a management conversation rather than a software problem.
Cortex integration took three weeks longer than quoted. We absorbed it, because we quoted it. Portal integrations vary enormously in quality and we were optimistic about one we had not worked with before. We now scope unfamiliar portals with a wider range and say why.
The billing team got quieter, not faster, for the first month. They had spent years being the people who held the process together, and a system that did it for them was not immediately welcome. That resolved, but it was real and we should have handled the introduction better.
What it cost
| Workflow Audit | $7,500, one week |
| Build | $72,000, six weeks, fixed price |
| Care and feeding | $6,000 a month |
| Cloud and model usage | Paid directly by the client, roughly $280 a month |
What it was built with
- React Native field app, offline-first
- Postgres on the client’s Azure tenant
- Claude for handwriting extraction and rate matching
- OpenInvoice, Cortex and email submission paths