Manufacturing / Finance

Match subcontract processing bills to the right quantity and operation

By Vikasraj YadavPublished 10 min read

For finance, costing and accounts teams · Compare approaches

TL;DR — what you’ll learn

  • Reconcile subcontract job-work invoices against both the contracted billing basis (e.g., gross dispatched weight, net received weight, or accepted good pieces) and the physical challan material balance before approving payment.
  • Never allow an accounts-payable clerk to pay a per-kilogram heat-treatment or galvanising invoice on raw outbound dispatch weight when the contract specifies accepted post-process net weight or inspected good pieces (M007).
  • Separate three distinct financial streams on every subcontract reconciliation worksheet: (1) undisputed processing service charges, (2) pre-authorised extra operations (such as shot-blasting or straightening), and (3) disputed rework or abnormal material loss held for commercial review (M044).
  • Keep physical material custody open until every dispatched kilogram or piece is accounted for across good returns, rejected returns, recoverable scrap, and agreed process loss (M006).
Glass-partitioned manufacturing inspection room with a stainless-steel workbench, digital caliper, handheld barcode scanners, divided parts tote with machined metal components and dual monitors overlooking a CNC machine shop floor.

Illustrative manufacturing inspection room and machine shop floor; not a client facility.

Why three-way matching breaks on subcontract processing invoices

In forging, metal fabrication, heat treatment, electroplating, and surface-coating plants, raw or semi-finished components are sent to external job-work processors under an outward material challan and returned days later with a processing service invoice. Standard ERP three-way matching (PO price × Goods Receipt quantity) fails routinely on subcontract bills because four different quantities exist on the same job-work lot:

  1. Outward dispatched quantity/weight (Challan_Out): The gross weight or piece count shipped from your stores to the processor (for example, 200 rough forgings weighing 2,460.0 kg including forging flash and scale).
  2. Gross returned quantity/weight (Gate_Receipt_In): The physical weight or piece count received back at your weighbridge after heat treatment and shot-blasting (for example, 198 forgings weighing 2,415.4 kg after scale loss, with 2 pieces missing or scrapped at the vendor).
  3. Quality-accepted good quantity/weight (Accepted_Good_Qty): The net quantity that passes incoming hardness and crack inspection (M007) on the first pass (for example, 185 good forgings weighing 2,257.0 kg, while 13 pieces require re-tempering due to low hardness).
  4. Re-processed or reworked quantity (Rework_Cycle_Qty): The 13 under-hardened pieces sent back for re-tempering—which the vendor sometimes bills a second time if AP does not link the rework challan to the original quality rejection.

Direct answer: To pay subcontract processors accurately without leaking margin or losing stock custody, your AP matching workflow must bind each subcontract purchase order line to an explicit Billing Basis Rule (Per_Accepted_Good_Piece, Per_Accepted_Net_Kg, or Per_Dispatched_Input_Kg_With_Cap), verify the physical challan mass balance (S02, M006), deduct vendor-caused rework cycles (M007), and route any abnormal material shortage or unapproved extra-operation surcharge to the Subcontract Buyer before posting the invoice (S18).

As documented in ERPNext subcontracting workflows, a subcontracting cycle tracks raw material transfers to the supplier warehouse separately from service receipts and material consumption. Meanwhile, Microsoft Dynamics 365 accounts payable invoice matching enforces price and quantity matching tolerances against product receipts. For Indian operations, CBIC Circular No. 38/12/2018-GST on job work procedures provides historical regulatory context on challan tracking and return timelines under GST; because tax circulars and filing rules (such as ITC-04 and e-waybill rules) are periodically amended, always verify current statutory GST compliance and tax-invoice/debit-note rules with your qualified tax advisor.

Subcontract Job-Work Invoice Reconciliation and Material-Balance Gate

Follow the workflow below, or open its complete text version.

Read-only reporting workflow: Receive Subcontractor Service Invoice + Return Challan Refe...; Reconcile Physical Material Balance: Dispatched vs Good + R...; Hold Unreconciled Shortage Quantity & Escalate to Subcontra...; Look Up Contracted Billing Basis (Accepted Piece vs Accepte...; Filter Out Vendor-Responsible Rework Cycles & Unapproved Ex...; Compute Verified Payable Service Amount = Eligible Qty/Weig...; Approve & Post Undisputed AP Service Invoice; Split Invoice: Release Undisputed Portion / Hold Disputed D....
Original illustrative reporting workflow by NextEdge Labs. It prepares evidence; it does not authorize operational or financial decisions.
Read the complete workflow as text
  1. Receive Subcontractor Service Invoice + Return Challan Refe... → Reconcile Physical Material Balance: Dispatched vs Good + R...
  2. Reconcile Physical Material Balance: Dispatched vs Good + R... → Hold Unreconciled Shortage Quantity & Escalate to Subcontra...
  3. Hold Unreconciled Shortage Quantity & Escalate to Subcontra... → Look Up Contracted Billing Basis (Accepted Piece vs Accepte...
  4. Look Up Contracted Billing Basis (Accepted Piece vs Accepte... → Filter Out Vendor-Responsible Rework Cycles & Unapproved Ex...
  5. Filter Out Vendor-Responsible Rework Cycles & Unapproved Ex... → Compute Verified Payable Service Amount = Eligible Qty/Weig...
  6. Compute Verified Payable Service Amount = Eligible Qty/Weig... → Approve & Post Undisputed AP Service Invoice
  7. Approve & Post Undisputed AP Service Invoice → Split Invoice: Release Undisputed Portion / Hold Disputed D...

Worked example: heat-treatment and shot-blasting bill with dispatch-vs-accepted weight variance

The following scenario, challan numbers, forging weights, processing rates, and invoice lines are explicitly illustrative and use assumed values to demonstrate quantity/weight basis reconciliation and AP variance partitioning.

Suppose a closed-die forging plant dispatches Lot FG-LOT-908 consisting of 200 alloy-steel gear blanks (Part GB-450) to external processor HT-VEND-12 on Outward Job-Work Challan JWC-2026-1405 against Subcontract Purchase Order SPO-2026-312.

1. Contract terms on SPO-2026-312

  • Operation 10 (OP-HT: Quench & Temper Heat Treatment): Contract rate = ₹18.00 per kg of quality-accepted net returned weight (Basis: Accepted_Net_Kg), with an allowed non-recoverable scale/oxidation loss allowance of up to 1.00% of dispatched weight.
  • Operation 20 (OP-SB: Shot-Blasting): Contract rate = ₹12.00 per quality-accepted piece (Basis: Accepted_Good_Pieces).
  • Pre-approved extra operation (OP-STR: Hydraulic Press Straightening on shafts exceeding runout): Authorised via written engineering/buyer amendment AMD-312-A on a maximum of 30 pieces at ₹25.00 per piece (₹750.00 ceiling).
  • Rework & abnormal scrap policy: Re-tempering of pieces failing hardness spec (280–320 HBW) is at the subcontractor's expense (₹0.00 service charge). Irreparable vendor-scrapped pieces above 0 pieces are held for commercial replacement/debit review (M044, standard forging blank cost = ₹650.00 per piece).

2. Physical weight and piece reconciliation across Challan JWC-2026-1405

  • Outward dispatch (JWC-2026-1405):
    • 200 pieces at 12.30 kg/piece gross weight = 2,460.0 kg dispatched.
  • Inward return & incoming metallurgical inspection (GRN-JW-881 & INS-JW-409):
    • Accepted first-pass good pieces (Accepted_Good): 185 pieces at 12.20 kg/piece net post-scale weight = 2,257.0 kg.
    • Rejected for low hardness (Sent_For_Vendor_Rework): 13 pieces at 12.20 kg/piece = 158.6 kg (later re-tempered and accepted on Rework Challan JWC-2026-1405-R1, bringing total eventually accepted pieces to 185 + 13 = 198 pieces weighing 2,257.0 + 158.6 = 2,415.6 kg).
    • Cracked during improper quench at vendor (Vendor_Damaged_Scrap): 2 pieces returned as cracked scrap weighing 24.4 kg.
    • Physical scale / furnace oxidation weight loss (Process_Scale_Loss): 2,460.0 kg (dispatched) minus (2,257.0 kg + 158.6 kg + 24.4 kg) = 2,460.0 minus 2,440.0 = 20.0 kg (20.0 ÷ 2,460.0 = 0.813%, which is within the 1.00% scale allowance).
    • Piece count conservation check: 185 (first-pass good) + 13 (reworked good) + 2 (cracked vendor scrap) = 200 pieces dispatched.

3. Reconciling the subcontractor's submitted invoice (INV-HT-7741) against verified entitlement

When HT-VEND-12 submits Invoice INV-HT-7741 for ₹50,955.00 (before GST), AP runs the four-line reconciliation bridge:

Scroll horizontally to see all columns.

Invoice line Operation / charge description Vendor billed basis & calculation (INV-HT-7741) Vendor billed amount (₹) Contract-verified basis & calculation (SPO-2026-312) Verified payable amount (₹) Variance (₹) & disposition reason
Line 1 OP-HT Quench & Temper Billed on 2,460.0 kg gross outward dispatch weight + 158.6 kg rework re-run = 2,618.6 kg × ₹18.00/kg ₹47,134.80 (rounded by vendor to ₹47,135.00) 198 total accepted pieces (185 + 13) net weight = 2,415.6 kg × ₹18.00/kg (rework cycle free; excludes 24.4 kg cracked & 20.0 kg scale) ₹43,480.80 −₹3,654.20 disallowed (₹2,854.80 double-billed rework weight + ₹799.20 scale/cracked weight + ₹0.20 rounding)
Line 2 OP-SB Shot-Blasting Billed on 200 dispatched pieces × ₹12.00/pc ₹2,400.00 198 accepted pieces × ₹12.00/pc (excludes 2 cracked scrap pieces) ₹2,376.00 −₹24.00 disallowed (2 cracked pieces × ₹12.00/pc)
Line 3 OP-STR Press Straightening Billed on 42 pieces × ₹25.00/pc ₹1,050.00 Authorised cap on AMD-312-A = 30 pieces × ₹25.00/pc (12 extra pieces unapproved) ₹750.00 −₹300.00 held (12 unapproved pieces × ₹25.00/pc routed to Buyer)
Line 4 Fuel / furnace surcharge Uncontracted ad-hoc surcharge ₹370.00 Not in SPO-2026-312 ₹0.00 −₹370.00 rejected (uncontracted fee)
Total Service invoice reconciliation Submitted invoice total ₹50,955.00 Verified contract entitlement ₹46,606.80 −₹4,348.20 total invoice overcharge blocked

Check every arithmetic component of the variance:

  1. Line 1 (OP-HT weight variance breakdown):
    • Disallowed rework second-pass billing: 158.6 kg × ₹18.00/kg = ₹2,854.80.
    • Disallowed billing on 20.0 kg furnace scale loss + 24.4 kg cracked scrap (44.4 kg total non-good weight): 44.4 kg × ₹18.00/kg = ₹799.20.
    • Exact Line 1 check: ₹43,480.80 (verified) + ₹2,854.80 (rework) + ₹799.20 (scale + cracked) + ₹0.20 (vendor rounding) = ₹47,135.00.
  2. Total service invoice check: ₹43,480.80 + ₹2,376.00 + ₹750.00 + ₹0.00 = ₹46,606.80 verified payable vs ₹50,955.00 billed (₹50,955.00 minus ₹46,606.80 = ₹4,348.20 overcharge).
  3. Separate commercial material claim for the 2 cracked forgings (CLM-JW-1405):
    • In addition to blocking the ₹4,348.20 service overcharge, the 2 cracked gear blanks (2 × ₹650.00 = ₹1,300.00 raw forging value) remain open on Material Exception Record MEX-1405.
    • Under the approval boundary rule (M044), AP does not blindly auto-deduct ₹1,300.00 from the ₹46,606.80 service bill without commercial sign-off; instead, AP holds payment of the disputed portion or links the buyer-approved debit note (DN-2026-091 = ₹1,300.00) once Supplier Quality and the Subcontract Buyer confirm vendor quench liability.

Governance matrix: who owns each subcontract exception

Scroll horizontally to see all columns.

Exception type Accountable owner System hold behaviour Resolution path
Challan quantity / weight imbalance (Unexplained_Shortage) Subcontract Buyer & Stores Lead Blocks final closure of the outward challan (M006) and holds corresponding invoice lines Physical recount, supplemental return challan, or formal shortage debit note (M044).
Billing basis mismatch (Dispatched_Kg vs Accepted_Kg) Accounts Payable (S18) Calculates payable strictly from the PO's configured Billing_Basis_Field Vendor issues revised invoice or credit note matching the contracted basis.
Vendor-caused rework re-billing Supplier Quality & AP Flags any return challan linked to an NCR rework loop (M007) at ₹0.00 processing rate Only buyer-approved engineering changes (Customer/Plant-Caused Rework) can carry a positive rework PO rate.
Unapproved extra operation or surcharge Subcontract Buyer & Production Lead Places the extra line in Pending_Commercial_Amendment Buyer either approves a formal PO amendment after verifying technical necessity or rejects the line.

Acceptance criteria for subcontract invoice reconciliation

  1. Dual-unit challan preservation (TEST-M066-01): Every subcontract receipt records both piece count and measured weight alongside Accepted_Good, Rework_Required, Returned_Scrap, and Process_Loss buckets so Dispatched = Good + Rework + Scrap + Loss.
  2. Contract basis enforcement (TEST-M066-02): When a subcontract PO specifies Basis = Accepted_Net_Kg or Accepted_Good_Pieces, the AP matching engine computes payable entitlement from inspected good receipts rather than raw outward dispatch weight.
  3. Rework double-billing block (TEST-M066-03): Return receipts linked to a vendor-fault rework challan increment physical stock custody recovery without generating a second payable service accrual.
  4. Separated service variance vs material loss liability (TEST-M066-04): Disputed material scrap liability (M044) is tracked as an explicit commercial claim record rather than silently altering the unit service rate or closing an unbalanced material challan.

Synthesis and next actions

Matching subcontract processing bills requires connecting three records that most plants keep in separate silos: the contracted rate basis on the PO, the physical weight/piece balance on the challan, and the incoming quality disposition on the return lot.

  1. Add an explicit Billing_Basis_Code to every subcontract PO line: Specify on the purchase order whether the processor is paid per Dispatched_Input_Kg, Returned_Net_Kg, or Accepted_Good_Piece, along with the maximum allowable process-loss percentage (S02, S18).
  2. Record both pieces and weight at outward dispatch, inward gate receipt, and quality acceptance: Ensure weighbridge and inspection screens capture net post-process weight on Accepted_Good lots separately from rejected or scrapped returns (M006, M007).
  3. Tag rework return challans to the originating NCR: Configure the ERP so parts sent back to the vendor to rectify a processing defect are tracked for material custody without creating a duplicate billable service receipt.
  4. Reconcile open challan ageing and tax timelines monthly: Review open job-work challans with Stores, Procurement, and Finance each month to verify physical stock reconciliation and compliance with current GST job-work return rules (S21).

Compare this workflow with your current setup

Share the step that takes the most manual work, the systems involved and the exceptions your team handles. That gives us a concrete starting point for comparing approaches.

START A CONVERSATION

Let’s talk about your next build.

Prepare your brief below, then review and send it in your email app to sales@nextlabsonline.com.

SELECTED INDUSTRYManufacturing

Article: Match subcontract processing bills to the right quantity and operation · Finance

THE FIRST CONVERSATION

Your product idea, AI opportunity or automation challenge—and a useful first milestone.

All fields are required.

A few sentences about the problem, your users and timing are enough.

We’ll use your details to respond to your enquiry. Please don’t include patient records, passwords or confidential information. Privacy Policy · Website Terms.

Sources and further reading

Sources checked 15 October 2026. Worked examples and workflow diagrams are original illustrations, not reported client results.

About the author

Vikasraj Yadav writes about operational decisions, software and automation for NextEdge Labs.

Topics: job work invoice reconciliation · subcontract processing charges · subcontract cost calculation