Finance / Compare approaches

Oilfield service billing: separate performed, accepted and billable work

By Vikasraj YadavPublished Editorially reviewed 13 min read

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.
AI-generated illustration of an oil and gas processing facility with steel columns, pipework and maintenance walkways
Illustration: NextEdge Labs, generated with AI. An illustrative setting, not a client facility.

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 Rate vs Standby with Crew Rate vs Rig Move Rate).
  • Depth-tier or temperature-tier surcharges (> 3,500 meters TVD or > 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 is PERFORMED by the crew and logged on the rig report, but is 0% BILLABLE under 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:

  1. 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.
  2. 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.
  3. 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.
Three-state oilfield service billing separation workflow: Performed, Accepted, and Billable Pipeline separating State 1 (Performed Field Execution), State 2 (Customer Technical Acceptance), and State 3 (Contract Commercial Entitlement) with partial invoicing of undisputed lines and dispute quarantine. Oilfield Service Billing Architecture: Separate Performed, Accepted & Billable States State 1: PERFORMED - 100% of Field Rig Activity - Operating + Standby + NPT - Downhole Tool Serial & BHT - Crew Hours & Consumables Drives: Internal Job Costing, Payroll & Tool Maintenance State 2: ACCEPTED - Operator Company Man Sign - Daily Field Ticket / SES Ref - Line-Level Status Split: * ACCEPTED_BY_OPERATOR * QUERIED_UNDER_DISPUTE Queried Lines Isolated; Never Block Signed Lines State 3: BILLABLE - Contract Authority Rule Map - Operating Rate (100%) - Operator Standby (75%) - Depth/Temp Tier Surcharge - Contractor NPT (0% Rate) Confirmed Against Active Contract Price Book Revision 4. Tax Invoice - Undisputed Accepted Lines - Linked Signed Ticket Bundle First-Pass AP Match & Cash CORE COMMERCIAL PRINCIPLE: NEVER DELETE NON-BILLABLE PERFORMED WORK Zero-rate contractor NPT and unbillable mobilization hours remain 100% recorded in State 1 (PERFORMED) and State 2 (ACCEPTED) so engineering reliability and job-margin accounting see true field execution costs while State 3 sets invoice net value to INR 0.
Figure 1: Three-state oilfield service billing architecture separating Performed execution, Operator-Accepted field tickets, and Contract-Entitled Billable lines.

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 as PERFORMED. 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, and 4.0 hours circulating to clear a plugged bit nozzle), the operator representative can mark Lines 1 and 2 as ACCEPTED_BY_OPERATOR while flagging Line 3 as DISPUTED_TECHNICAL_CAUSE pending 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 on PERFORMED and ACCEPTED sensor max-reading fields.
  • NON_BILLABLE_CONTRACTOR_NPT (0% rate / INR 0 invoice value): Contractor equipment failure or redrill within the contractual zero-rate warranty clause. Shown transparently on the customer service statement at INR 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):

  1. 160.0 hours (66.67%): Active directional drilling and LWD logging (40.0 hours of which occurred in the deeper reservoir section with verified bottom-hole temperature BHT = 162 degC > 150 degC).
    • State 2 (ACCEPTED): 160.0 / 160.0 hours signed on Daily Field Tickets DFT-01 through DFT-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.
  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 hours signed as OPERATOR_STANDBY on DFT-03 and DFT-04.
    • State 3 (BILLABLE): 44.0 hours x INR 30,000 (75% Standby Rate) = INR 1,320,000.
  3. 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 hours signed on DFT-07 with factual code CONTRACTOR_TOOL_NPT.
    • State 3 (BILLABLE): Mapped to NON_BILLABLE_CONTRACTOR_NPT (20.0 hours x INR 0 = INR 0). Internal job costing retains the 20.0 hours of crew/tool cost (INR 360,000 internal cost) for true margin reporting.
  4. 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): Flagged DISPUTED_PENDING_TECHNICAL_REVIEW (16.0 hours).
    • State 3 (BILLABLE): Quarantined from initial invoice batch (Held Value = INR 640,000).
  5. First-Pass Invoice Release:
    • Instead of holding the entire 10-day job or submitting a disputed INR 9,600,000 invoice that gets rejected, the Billing Manager releases Invoice INV-2026-88410 immediately for the 204.0 undisputed billable hours (160.0 Operating + 44.0 Standby plus 20.0 zero-rate NPT disclosed at INR 0), totaling INR 6,720,000 + INR 1,320,000 = INR 8,040,000, achieving 100% first-pass operator SES approval while the 16.0-hour (INR 640,000) technical query is adjudicated separately.
Reconciliation of 240 performed directional drilling hours across Accepted and Billable states Waterfall of 240.0 performed rig hours into 224.0 accepted hours (160h operating + BHT surcharge = INR 6.72M, 44h standby = INR 1.32M, 20h zero-rate NPT = INR 0) and 16.0 disputed hours held for review. Worked Service Billing Reconciliation: 10-Day LWD/Directional Job (240.0 Performed Hours) State 1: PERFORMED (240.0h) 100% Field Execution Logged: - 160.0h Active Drilling (incl. 40.0h @ 162 degC BHT) - 44.0h Waiting on BOP/Cement - 20.0h LWD Battery Trip (NPT) - 16.0h Day-9 Reaming Interval Internal Cost & Reliability: All 240.0h retained for crew pay, tool hours & job margin truth. State 2: ACCEPTED vs QUERIED 224.0h ACCEPTED (93.33%) Signed by Company Man (DFT-01..10): * 160.0h Active Drilling + BHT Log * 44.0h Operator BOP/Cement Standby * 20.0h Contractor Tool NPT Fact -> Released to State 3 Pricing 16.0h QUERIED (6.67%) DFT-09 reaming cause under technical review (INR 640,000 held in queue; does not block undisputed invoice). State 3: BILLABLE (224.0h Accepted) 1. Active Drilling (160.0h @ 40k): INR 6,400,000 2. High-Temp Surcharge (40.0h @ +8k): INR 320,000 (BHT 162 degC > 150 degC) 3. Operator Standby (44.0h @ 30k): INR 1,320,000 (75% Contract Rate) 4. Contractor NPT (20.0h @ 0k): INR 0 (0% Warranty Clause) First-Pass Invoice INV-2026-88410: INR 8,040,000 (100% AP Approved)
Figure 2: Worked reconciliation of 240.0 performed directional drilling hours across Performed, Accepted, and Billable states yielding an undisputed INR 8,040,000 invoice.

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

  1. 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.
  2. 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.
  3. 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.
  4. Attach signed field ticket and sensor evidence to every invoice: Bundle the signed DFT references 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 assessment

References

Sources checked 15 October 2026. Vendor examples retain their stated release scope. Catalogue entries do not replace the full applicable standards.

About the author

Vikasraj Yadav writes about operational records, software and AI automation for NextEdge Labs. The worked examples and all 70 collection diagrams are original editorial illustrations, not client results.

Published 20 October 2026. This guide discusses software and record design; qualified site authorities (Controller, accounts payable/receivable and asset operations lead) determine the requirements for a specific operation — Accrual/allocation evidence, field ticket verification, dispute resolution and cash forecasting.