Skip to main content
Version: v1.0.0(int)

W100: Dispose inventory

Records the permanent removal of materials (write-off, damage, scrap, miscount-down). Triggered from the Materials Inventory page, "Dispose". Distinct from Adjust (W099) so reporting can separate loss from positive corrections.

Steps

  1. Validate the material and location. Confirm both exist.

  2. Write the DISPOSE ledger entry. Call MaterialsInventory.recordDisposal({ materialId, locationId, quantity, eventDate, notes }). quantity is positive (per the L1 quantity > 0 invariant); the DISPOSE event type encodes "outflow", so the summary query subtracts it from on-hand. ref is null.

Returns

The ledger entry.

Business rules

  • Disposal is distinct from adjustment. Same effect on on-hand, but the DISPOSE event type lets reporting separate scrap and loss from positive corrections.
  • No stock guard. The workflow does not block disposals that would take on-hand below zero; the notes field is the audit trail.

Errors

  • NotFoundError. The material or location was not found.