Start from stock.lot traceability: open the lot, use Traceability smart button on moves, and run upstream supplier receipts plus downstream deliveries and manufacturing orders. Export affected partners from stock.move.line history, quarantine remaining quants, and document returns with reverse pickings linked to the same lot for audit evidence.
Steps
- Inventory → Products → Lots/Serial Numbers: locate the recalled stock.lot by name or supplier reference.
- Open the lot form → Traceability report (stock.traceability.report wizard) for upstream and downstream moves.
- List all stock.picking deliveries and mrp.production consuming the lot via move line search on lot_id.
- Create an internal transfer to a quarantine stock.location; block reservation from pickable zones.
- Issue return pickings (incoming from customers) with the same lot_id on move lines.
- Notify sales partners using res.partner lists exported from traced deliveries.
- Attach recall bulletin and investigation notes to the lot chatter and related quality.alert if used.
Common mistakes
- Searching pickings by product only without filtering lot_id.
- Scrapping quarantined stock before trace report is archived.
- Renaming lots after issue, breaking trace links.
- Ignoring subcontracting moves in traceability.
- Failing to lock lot with a reason on quality holds.
Odoo version notes
Traceability reporting ships in Community and Enterprise 16–18 via stock models. Enterprise Quality adds quality.alert workflows but trace still flows through stock.move.line. For FSMA or pharma, pair Odoo trace with documented SOPs; optional GAMP modules may extend logs. Upgrade tests should re-run a mock recall in staging.
When to bring in help
If the fix touches custom modules, regulated traceability, or production outages, a focused rescue sprint beats months of trial and error. See our Odoo service.
See our industry practice