Oilfield service billing: separate performed, accepted and billable work
For Oilfield service company or turnaround contractor
TL;DR — what you’ll learn
- In oilfield services—directional drilling, wireline logging, coiled tubing, and cementing—recording an activity on a daily field ticket (`PERFORMED`) does not mean the operator's well-site representative has certified completion (`ACCEPTED`), nor does it mean the contract entitles the contractor to invoice every hour at the operating rate (`BILLABLE`).
- Collapsing performed, accepted, and billable states into a single ERP billing trigger generates systematic invoice rejections, unbilled revenue leakage on standby and lost-in-hole clauses, and credit-note churn.
- A disciplined oilfield service billing architecture maintains three distinct ledger states for every field line item: **State 1: Performed Field Execution** (internal cost & tool utilization truth), **State 2: Operator-Accepted Field Ticket / SES** (technical completion truth), and **State 3: Contract-Entitled Billable Line** (commercial pricing, tier-rate, and zero-rate NPT truth).
- The Billing Manager prepares the pre-invoice schedule, the Contract Authority confirms commercial rate entitlement (operating vs standby vs zero-rate NPT), and any customer acceptance dispute freezes only the contested line in a tracked dispute queue while undisputed lines proceed to invoicing.

Topics: oilfield service billing, oilfield ticket to invoice, standby charge evidence, service contract billing
Why oilfield service invoices get rejected by operator AP teams
Oilfield service contracts—governed by complex master service agreements, call-off rate tables in SAP S/4HANA Billing and Revenue Innovation Management / SD, and public-sector E&P contracting rules such as the Oil India Procurement Manuals—rarely price services as simple flat-rate unit items. A single 7-day directional drilling and Measurement-While-Drilling (MWD) call-out involves:
- Daily equipment rental and crew base rates (
Operating RatevsStandby with Crew RatevsRig Move Rate). - Depth-tier or temperature-tier surcharges (
> 3,500 meters TVDor> 150 degC bottom-hole temperature). - Contractual Non-Productive Time (
NPT) zero-rate thresholds (for example, if an MWD pulsar fails downhole, the time spent tripping out of the hole to replace the tool isPERFORMEDby the crew and logged on the rig report, but is0% BILLABLEunder the contract's downhole tool failure clause, and may even trigger a rig-time back-charge credit).
When an oilfield service company's ERP system maps raw field-ticket hours (PERFORMED) directly into customer invoice generation (BILLABLE), three chronic commercial failures occur:
- Premature Invoicing of Unaccepted Field Tickets: The billing clerk generates a tax invoice on the 30th of the month for all 7 days of directional drilling because the field engineer uploaded the daily logs. Because the operator's Company Man (Well Site Representative) only signed days 1 through 5 (
ACCEPTED) and queried a 9-hour circulating interval on day 6 (PENDING_ACCEPTANCE), the operator's Accounts Payable gateway rejects the entire 7-day invoice, delaying cash collection on the undisputed 5 days by 45+ days. - Invoicing Contractor-Caused NPT or Rework at Operating Rates: The field engineer logs 14 hours of tool redressing and redrilling after a downhole battery pack failure. If those 14 performed hours are not separated by a commercial entitlement check into
NON_BILLABLE_CONTRACTOR_NPT, the customer disputes the invoice and escalates a contract compliance audit. - Revenue Leakage on Legitimate Operator-Caused Standby andSurcharges: Conversely, when field engineers fail to log high-temperature tool exposure hours or operator-caused waiting-on-cement (
WOC) hours (PERFORMED), or when the billing engine lacks the contract tier lookup, legitimate high-temperature surcharges go unbilled.
Takeaway: Never delete non-billable NPT hours from field logs to make an invoice match; retain 100% of performed hours in State 1 and apply contractual zero-rate or standby multipliers in State 3.
Defining the three state transitions in oilfield service billing
State 1: PERFORMED (Operational and Costing Truth)
Every hour the service crew and downhole tool string spend mobilized to the rig, every meter drilled or logged, and every consumable expended is captured in PERFORMED status.
- Purpose: Feeds internal equipment run-hour registers (for downhole MWD/LWD maintenance intervals), technician time allocation (see Oilfield timesheets: keep job costing separate from payroll approval), and true job-cost margin analysis.
- Completeness Rule: Even if a downhole motor fails and causes 16 hours of contractor-responsible Non-Productive Time (
NPT), those 16 hours must be recorded asPERFORMED. Hiding performed NPT hours to "clean up the ticket" corrupts tool-reliability MTBF calculations and conceals field cost overruns.
State 2: ACCEPTED (Customer Technical Attestation Truth)
At the end of each 24-hour rig reporting cycle (or job stage), the field engineer presents the structured Daily Field Ticket (DFT) to the Operator's Well Site Representative (Company Man) for physical or digital signature.
- Line-Item Granularity: If a daily ticket contains three distinct operational intervals (
14.0 hours rotary drilling,6.0 hours waiting on operator mud conditioning, and4.0 hours circulating to clear a plugged bit nozzle), the operator representative can mark Lines 1 and 2 asACCEPTED_BY_OPERATORwhile flagging Line 3 asDISPUTED_TECHNICAL_CAUSEpending directional log review. - Partial Release Rule: Splitting acceptance at the line-item level allows the undisputed 20.0 hours to advance immediately to billing without waiting three weeks for the 4.0-hour nozzle-plugging investigation to conclude.
State 3: BILLABLE (Contractual Commercial Entitlement Truth)
Once a line item is ACCEPTED (or for unbilled revenue accrual evaluation), the Billing Manager and Contract Authority evaluate the line against the active contract rate schedule (Price Book):
BILLABLE_FULL_OPERATING_RATE(100%): Active downhole drilling, logging, or pumping within contract specifications.BILLABLE_REDUCED_STANDBY_RATE(e.g.,75%of base rate): Crew and tools on rig waiting on operator casing run, cement cure, or weather.BILLABLE_TIER_SURCHARGE: Automatic addition of contractually defined high-temperature (> 150 degC) or sour-gas (H2S > 100 ppm) tool dressing fees based onPERFORMEDandACCEPTEDsensor max-reading fields.NON_BILLABLE_CONTRACTOR_NPT(0%rate /INR 0invoice value): Contractor equipment failure or redrill within the contractual zero-rate warranty clause. Shown transparently on the customer service statement atINR 0.00(or excluded per contract invoicing format) while retaining full internal job cost.
Illustrative example (hypothetical scenario): 10-day directional drilling & LWD job (240.0 hours)
Illustrative scenario notice: All site volumes, defect counts, error rates, engineering hours, and INR (
₹) figures below are hypothetical scenario assumptions constructed to demonstrate the control math and workflow gating. Any time or cost reductions represent modeled process/capacity estimates under these assumptions, not achieved client benchmark savings or guaranteed cash realization.
Consider a 10-day (240.0-hour) offshore directional drilling and Logging-While-Drilling (LWD) service call-out under Contract CTR-DD-2026-09, where:
- Contract Operating Rate:
INR 40,000 per hour(INR 960,000 per 24h day) - Contract Operator-Standby Rate (
75%):INR 30,000 per hour - High-Temperature LWD Surcharge (
BHT > 150 degC):+ INR 8,000 per circulating hour - Contractor Downhole Tool Failure (
NPT):INR 0 per hour(0%billable)
Across the 240.0 performed hours logged in State 1 (PERFORMED):
- 160.0 hours (
66.67%): Active directional drilling and LWD logging (40.0 hoursof which occurred in the deeper reservoir section with verified bottom-hole temperatureBHT = 162 degC > 150 degC).- State 2 (
ACCEPTED):160.0 / 160.0 hourssigned on Daily Field TicketsDFT-01throughDFT-10. - State 3 (
BILLABLE):- Base Operating Charge:
160.0 hours x INR 40,000 = INR 6,400,000 - High-Temp Surcharge (
40.0 hours > 150 degC):40.0 hours x INR 8,000 = INR 320,000 - Subtotal Active Drilling:
INR 6,720,000.
- Base Operating Charge:
- State 2 (
- 44.0 hours (
18.33%): Crew and tools on rig floor waiting on operator blow-out preventer (BOP) testing and casing cement cure.- State 2 (
ACCEPTED):44.0 / 44.0 hourssigned asOPERATOR_STANDBYonDFT-03andDFT-04. - State 3 (
BILLABLE):44.0 hours x INR 30,000 (75% Standby Rate) =INR 1,320,000.
- State 2 (
- 20.0 hours (
8.33%): Tripping out of hole and replacing a failed LWD resistivity battery pack (Contractor Equipment NPT).- State 2 (
ACCEPTED):20.0 hourssigned onDFT-07with factual codeCONTRACTOR_TOOL_NPT. - State 3 (
BILLABLE): Mapped toNON_BILLABLE_CONTRACTOR_NPT(20.0 hours x INR 0 =INR 0). Internal job costing retains the20.0 hoursof crew/tool cost (INR 360,000internal cost) for true margin reporting.
- State 2 (
- 16.0 hours (
6.67%): Slow penetration rate and reaming interval on Day 9 (DFT-09) where the Operator Company Man disputed whether the delay was caused by formation chert nodules (Billable Operating Rate = INR 640,000) or worn directional motor bearings (Zero-Rate NPT = INR 0).- State 2 (
ACCEPTED): FlaggedDISPUTED_PENDING_TECHNICAL_REVIEW(16.0 hours). - State 3 (
BILLABLE): Quarantined from initial invoice batch (Held Value = INR 640,000).
- State 2 (
- First-Pass Invoice Release:
- Instead of holding the entire 10-day job or submitting a disputed
INR 9,600,000invoice that gets rejected, the Billing Manager releases InvoiceINV-2026-88410immediately for the 204.0 undisputed billable hours (160.0 Operating + 44.0 Standbyplus20.0 zero-rate NPTdisclosed atINR 0), totalingINR 6,720,000 + INR 1,320,000 = INR 8,040,000, achieving100%first-pass operator SES approval while the16.0-hour(INR 640,000) technical query is adjudicated separately.
- Instead of holding the entire 10-day job or submitting a disputed
Takeaway: Isolating the 16.0-hour technical query and pricing the 20.0-hour contractor NPT at INR 0 allows immediate collection of INR 8,040,000 without invoice rejection or loss of internal cost records.
Technical implementation: three-state service billing line schema
{
"service_billing_package_id": "SBP-O058-202610-0114",
"contract_id": "CTR-DD-2026-09",
"price_book_revision": "PB-REV-2026-V2",
"well_id": "WELL-OFFSHORE-KGD-09",
"summary_reconciliation": {
"total_performed_hours": 240.0,
"total_operator_accepted_hours": 224.0,
"total_queried_disputed_hours": 16.0,
"net_billable_hours_positive_rate": 204.0,
"accepted_zero_rate_npt_hours": 20.0,
"released_invoice_amount_inr": 8040000.0,
"quarantined_disputed_amount_inr": 640000.0
},
"service_lines": [
{
"line_id": "DFT-06-L1",
"state_1_performed": {
"performed_hours": 24.0,
"activity_code": "DIRECTIONAL_DRILLING_CIRCULATING",
"max_bht_recorded_degc": 162.0,
"tool_serial_id": "LWD-RES-8821"
},
"state_2_acceptance": {
"acceptance_status": "ACCEPTED_BY_OPERATOR",
"signed_dft_id": "DFT-20261016-06",
"operator_rep_id": "COMP-MAN-441"
},
"state_3_billable_entitlement": {
"entitlement_status": "BILLABLE_OPERATING_PLUS_TIER_SURCHARGE",
"base_rate_inr_per_hr": 40000.0,
"surcharge_clause": "CLAUSE_8.4_BHT_ABOVE_150C",
"surcharge_rate_inr_per_hr": 8000.0,
"net_line_billable_inr": 1152000.0,
"approved_by_contract_authority": "CTR-AUTH-03"
}
},
{
"line_id": "DFT-07-L2",
"state_1_performed": {
"performed_hours": 20.0,
"activity_code": "TRIP_FOR_FAILED_LWD_BATTERY",
"max_bht_recorded_degc": 141.0,
"tool_serial_id": "LWD-RES-8821"
},
"state_2_acceptance": {
"acceptance_status": "ACCEPTED_BY_OPERATOR",
"signed_dft_id": "DFT-20261017-07",
"operator_rep_id": "COMP-MAN-441"
},
"state_3_billable_entitlement": {
"entitlement_status": "NON_BILLABLE_CONTRACTOR_NPT",
"base_rate_inr_per_hr": 0.0,
"surcharge_clause": "CLAUSE_12.1_TOOL_FAILURE_ZERO_RATE",
"surcharge_rate_inr_per_hr": 0.0,
"net_line_billable_inr": 0.0,
"approved_by_contract_authority": "CTR-AUTH-03"
}
}
]
}
Acceptance tests and operational readiness thresholds
Scroll horizontally to see all columns.
| Test ID | Validation Dimension | Verification Method | Pass / Fail Threshold |
|---|---|---|---|
ACT-O058-01 |
Block unaccepted lines from invoice release | Attempt to generate a customer tax invoice containing lines with acceptance_status != ACCEPTED_BY_OPERATOR |
100% of unaccepted/queried lines blocked from invoice generation and routed to dispute resolution queue |
ACT-O058-02 |
Preservation of non-billable performed NPT | Audit state_1_performed hours when state_3_billable_entitlement is set to NON_BILLABLE_CONTRACTOR_NPT |
0 performed hours deleted from internal job-cost or equipment run-hour registers |
ACT-O058-03 |
Contract rate & tier surcharge verification | Test field logs with max_bht_recorded_degc > 150.0 and OPERATOR_STANDBY codes against the active contract price book |
100% apply exact contract standby multipliers (75%) and BHT tier surcharges (+INR 8,000/hr) |
ACT-O058-04 |
Partial invoicing of undisputed lines | Flag 1 line on a 10-day service ticket bundle as DISPUTED_PENDING_TECHNICAL_REVIEW |
Undisputed accepted lines (93.3%) release to invoicing cleanly without holding the entire job package |
Summary and next actions
- Enforce a three-state data model (
PERFORMED,ACCEPTED,BILLABLE): Never overwrite or delete field execution logs (PERFORMED) to make an invoice balance; apply customer sign-off (ACCEPTED) and contractual pricing (BILLABLE) as separate downstream states. - Enable line-level acceptance splitting on Daily Field Tickets: Allow operator well-site representatives to sign off on undisputed operational intervals while isolating specific contested hours into a technical review queue.
- Automate contractual rate-tier and NPT entitlement lookups: Configure the billing engine to map accepted field parameters (operating vs standby mode, depth/temperature tiers, and contractor tool failure codes) directly to active contract clauses.
- Attach signed field ticket and sensor evidence to every invoice: Bundle the signed
DFTreferences and downhole sensor max-reading certificates with the ERP billing document to eliminate operator AP verification delays.
Assess your oilfield service billing controls
Map the record states, evidence links, exception routing and review owners for oilfield service billing. Technical and regulatory sign-off stays with the site authority.
Prepare a focused assessmentReferences
Sources checked 15 October 2026. Vendor examples retain their stated release scope. Catalogue entries do not replace the full applicable standards.

