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 Type | Definition | Handling |
|---|---|---|
| Yield Loss | The 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 Consumption | Actual 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 / Breakage | Components 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 Shortfall | Finished 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 Variance | Invoiced 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
| Attribute | Typical Control | Action When Exceeded |
|---|---|---|
| Quantity Variance | ±2% of planned component usage | Requires authorized variance recording before GRN confirmation. |
| Yield Variance | ±3% of planned finished output | Triggers quality or operations investigation. |
| Price Variance | ±1% of service PO rate | Routes vendor bill to discrepancy workflow. |
| Quality Rejection Rate | Per 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 Point | Accountability | Typical Disposition |
|---|---|---|
| Dispatch Damage | Carrier or principal | Claim against carrier; write-off or return. |
| Process Scrap | Subcontractor (if contractually liable) or principal | Debit note, replacement, or cost absorption. |
| Inspection Reject | Subcontractor | Return 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 Scenario | Reversal Document | Effect |
|---|---|---|
| Incorrect component dispatch | Component Return Note | Moves components from subcontractor virtual location back to the principal’s warehouse or to scrap. |
| Defective finished goods return | Subcontractor Return Note | Returns accepted finished goods from quarantine/sellable stock to the subcontractor virtual location or to a disposal location. |
| Incorrect GRN quantity | GRN Reversal / Credit Note | Reverses finished receipt and re-instates backflushed component quantities in the subcontractor virtual location. |
| Incorrect backflushing | Backflushing Adjustment | Records a compensating component movement to correct over- or under-consumption. |
| Cancelled SCO | SCO Cancellation with component return | Reverses all pending component balances and closes the order. |
Reversal Validation Rules
| Rule | Rationale |
|---|---|
| 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
SubcontractProductionReversedfor 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
| Report | Purpose |
|---|---|
| SCO Lifecycle Report | Trace every SCO from creation to closure, including approvals, dispatches, receipts, and variances. |
| Subcontractor Custody Reconciliation | Compare system balances at subcontractor virtual locations against subcontractor-provided statements. |
| Backflushing Audit | Verify that every finished receipt has a matching component consumption entry. |
| Variance Analysis | Summarize yield, scrap, and rate variances by subcontractor, SKU, and period. |
| Reversal Register | List 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.