MRP / Subcontracting MRP

Subcontracting MRP - Audit Trail, Scrap Handling & Reversals

Tolerances, scrap, variance handling, and reversal policies for subcontracting and toll manufacturing.

Audit Trail, Scrap Handling & Reversals

Subcontracting operations are exposed to yield fluctuations, quality failures, shipping damage, and billing disputes. The domain must capture tolerances, scrap, and variances explicitly, and it must support controlled reversals without allowing silent record deletion.


1. Tolerances, Scrap & Variance Handling

Every BOM defines a planned input quantity. The domain compares actual backflushed consumption and accepted output against this plan, applying configurable tolerance bands.

Variance Categories

Variance TypeDefinitionHandling
Yield LossThe expected difference between theoretical output and planned output due to normal process inefficiency.Built into the BOM conversion ratio and absorbed into standard finished-goods cost.
Excess ConsumptionActual component usage above the planned BOM quantity, including tolerance.Recorded as a consumption variance; may be charged to the subcontractor per agreement or absorbed as an operational loss.
Scrap / BreakageComponents or finished output damaged, lost, or destroyed during processing.Documented with reason codes; physical scrap may be returned, destroyed, or converted to a recovery value.
Output ShortfallFinished output below the expected yield for a given component dispatch.Investigated as capacity, quality, or theft issue; may trigger claim, debit note, or order amendment.
Rate VarianceInvoiced tolling rate differs from the service PO rate.Tracked in procurement discrepancy workflow and posted to a purchase price variance account if approved.

Tolerance Bands

AttributeTypical ControlAction When Exceeded
Quantity Variance±2% of planned component usageRequires authorized variance recording before GRN confirmation.
Yield Variance±3% of planned finished outputTriggers quality or operations investigation.
Price Variance±1% of service PO rateRoutes vendor bill to discrepancy workflow.
Quality Rejection RatePer sampling plan (e.g., AQL)Blocks acceptance and initiates return or scrap workflow.

Variance Ledger

All variances are recorded explicitly in an immutable variance ledger. Each entry includes:

  • Reference to the SCO, GRN, component lot, and finished lot.
  • Planned vs. actual quantity or cost.
  • Reason code and authorization.
  • Subcontractor accountability flag (principal responsibility vs. subcontractor claim).

Variance entries feed into supplier scorecards, cost-center reports, and inventory valuation adjustments without altering the original SCO commitment.


2. Scrap Reporting & Accountability

Scrap can occur at multiple points in the subcontracting lifecycle. The domain requires explicit documentation for every scrap event.

Scrap Points

Main Warehouse
  └── Dispatch Damage (pre-arrival at subcontractor)
Subcontractor Virtual Location
  └── Process Scrap (during conversion)
  └── Breakage / Contamination
Receiving / Quarantine
  └── Inspection Reject (finished output)
Scrap PointAccountabilityTypical Disposition
Dispatch DamageCarrier or principalClaim against carrier; write-off or return.
Process ScrapSubcontractor (if contractually liable) or principalDebit note, replacement, or cost absorption.
Inspection RejectSubcontractorReturn to vendor, rework, or scrap with debit note.

Scrap Recording Rules

  • Scrap must be linked to an SCO, a component lot, and a finished lot where applicable.
  • Scrap quantities are deducted from the subcontractor virtual location or receiving stock, never deleted.
  • Scrap value is calculated from the component cost and any recoverable salvage value.
  • Subcontractor-liable scrap may generate a claim record that feeds into procurement’s debit note workflow.

3. Reversal Policies

The domain prohibits direct deletion of confirmed SCOs, transfer notes, or GRNs. All corrections are performed through compensating transactions that preserve the audit trail.

Reversal Document Types

Reversal ScenarioReversal DocumentEffect
Incorrect component dispatchComponent Return NoteMoves components from subcontractor virtual location back to the principal’s warehouse or to scrap.
Defective finished goods returnSubcontractor Return NoteReturns accepted finished goods from quarantine/sellable stock to the subcontractor virtual location or to a disposal location.
Incorrect GRN quantityGRN Reversal / Credit NoteReverses finished receipt and re-instates backflushed component quantities in the subcontractor virtual location.
Incorrect backflushingBackflushing AdjustmentRecords a compensating component movement to correct over- or under-consumption.
Cancelled SCOSCO Cancellation with component returnReverses all pending component balances and closes the order.

Reversal Validation Rules

RuleRationale
A reversal must reference the original document and line.Preserves traceability and prevents orphaned adjustments.
Reversed finished goods must not already be sold or consumed.Prevents cascading inventory and cost distortions.
Reversed component quantities must not exceed available virtual location balance.Enforces the Non-Negative Custody Rule.
Reversals require authorization when value or quantity exceeds a threshold.Maintains segregation of duties and audit control.
Reversal events are emitted downstream so FMS and Procurement can reverse capitalization and commitments.Keeps all bounded contexts synchronized.

Compensating Transaction Pattern

Instead of deleting a GRN, the domain issues a compensating GRN Reversal:

  • Decrease finished goods stock by the reversed quantity.
  • Increase component balances in the subcontractor virtual location by the corresponding backflushed quantity.
  • Reverse the capitalized material and service costs in FMS through a dedicated reversal journal.
  • Emit SubcontractProductionReversed for downstream consumers to update their own records.

4. Audit Trail Requirements

Every document and event in the Subcontracting domain is auditable. The audit trail captures:

  • Actor Identity: The user, service, or external system that triggered the action.
  • Timestamp: The exact date and time of the action, stored in the system time zone and UTC.
  • Before / After State: Key field values before and after the transition.
  • Reason Code: A mandatory classification for reversals, variances, and manual overrides.
  • Document Lineage: Polymorphic references linking SCOs, transfer notes, GRNs, reversals, and related procurement and accounting documents.

Audit Reports

ReportPurpose
SCO Lifecycle ReportTrace every SCO from creation to closure, including approvals, dispatches, receipts, and variances.
Subcontractor Custody ReconciliationCompare system balances at subcontractor virtual locations against subcontractor-provided statements.
Backflushing AuditVerify that every finished receipt has a matching component consumption entry.
Variance AnalysisSummarize yield, scrap, and rate variances by subcontractor, SKU, and period.
Reversal RegisterList all compensating transactions with original document references and authorization details.

5. Periodic Reconciliation

The principal must reconcile subcontractor virtual locations on a scheduled basis:

  • Cycle Counts: Physical counts of components and finished goods at the subcontractor site.
  • Statement Matching: Comparison of subcontractor-provided production and inventory reports against system records.
  • Claim Management: Tracking unresolved scrap claims, debit notes, and replacement commitments.
  • Obsolescence Review: Identification of components that have been at a subcontractor location beyond a defined aging threshold.

Discrepancies discovered during reconciliation are recorded as variance entries and resolved through authorized adjustments, returns, or SCO amendments.

Our Premium Sponsors

Obelaw is proudly open-source. Continued development, bug fixes, and community support are made possible by the generosity of our sponsors.

Sponsor Obelaw