Defect inventory and supplier returns
When a customer returns a unit and the cashier marks it defect in the refund wizard, the unit doesn’t go back into sellable stock — it lands on the Defect Inventory page. From there you can bulk-route defective items to the supplier they came from, track the supplier’s response, and close the loop when a credit note or replacement comes back. The page is a worklist, not a report; it’s the screen you open at the end of the week to clear the defect pile.
What’s on the page
Above the table sit four summary cards: Total, Pending, With Supplier, and Resolved. They’re filterable — click a card to scope the table to that status.
Each row is one defective unit (or a quantity-tracked batch of defective units sharing the same reason and date):
- Product name — with variant attributes if applicable.
- Reason — what was wrong (the cashier picks from defect-reason categories at refund time, or types a free-text note).
- Notes — additional context the cashier captured.
- Status badge —
pending,with_supplier, orresolved. - Date — when the defect was logged.
- Supplier — pre-filled from the unit’s purchase history; editable when routing.
The toolbar carries a search box and a status filter. Defect rows do not appear on the regular Inventory page — once a unit is defected, it’s off the sellable stock count.
The status flow
pending → with_supplier → resolvedpending— the default state on creation. The unit has been pulled from sellable stock but you haven’t done anything with it yet.with_supplier— you’ve physically shipped the unit back (or the supplier picked it up) and you’re waiting for them to credit, replace, or repair.resolved— closed. Either the supplier accepted the defect (credit note, replacement, repair returned) or you’ve decided to write the loss off internally.
Status transitions are one-way under normal use; reverting from with_supplier back to pending is allowed if a shipment was cancelled but should be a deliberate action, not a typo.
Routing to a supplier
Select the pending items
Tick the rows you want to route. Multi-select works across the page; the bulk-action bar appears at the top once you’ve selected at least one row.
Click Route to Supplier
Permission-gated on defects:manage. The dialog opens.
Pick the supplier and add an RMA reference
The supplier defaults to the unit’s purchase supplier (resolved from the original FIFO ingress). Override if the supplier you’re returning to is different — e.g. you bought via a wholesaler who isn’t the original manufacturer. Add the RMA reference number the supplier gave you, plus a free-text note describing the shipment (carrier, tracking number, repair instructions).
Confirm
Every selected row flips to with_supplier. The notes and RMA reference are stamped on each row. The bulk shipment shows up on the supplier’s Returns / Supplier return transactions tab on the supplier detail page.
Resolving a defect
When the supplier responds — credit issued, replacement received, repair returned — open the row from the With Supplier status filter and pick Resolve. A free-text note captures the resolution (e.g. “credit note #4711, $45 net”, “replacement received and restocked under new lot #88412”, “repair returned, restocked under serial #CA9123-R”).
If the resolution involves replacement stock, restock the replacement separately via the regular Restock flow on the product page — defect resolution doesn’t auto-restock. This separation is deliberate: the replacement is its own ingress with its own cost, and shouldn’t share the FIFO layer of the original defective unit.
Serialized defects
When a serialized unit is routed to defect, it’s the specific unit that moves. Its identifier stays on the defect row; its status flips to defect on the serialized tracking page. If the supplier returns the same physical unit repaired, you can change its status back to available without writing a fresh ingress. If they return a different physical unit as a replacement, that’s a fresh restock with a new identifier — and the original unit stays defected, eventually resolved as a write-off.
Related
The 5-step refund wizard
Where the defect disposition is set on a return.
Serialized tracking
Per-unit defect status, repair linkage, and identifier follow-through.
Supplier payments
Where the credit note from a supplier closes the financial side of a defect.
Per-product history
Defect egresses appear here as adjustment rows tagged source='defect'.