Skip to Content
Retour aux modules
Inventory

Product & Lot Recall Campaigns

Run a product or lot recall end to end: impact analysis on the standard traceability, quarantine, customer notices with acknowledgement, returns, destruction and a closing report for the authorities.

20.0 19.0 18.0 17.0 16.0
Product & Lot Recall Campaigns
Product & Lot Recall Campaigns

Présentation du module

Nalios
Odoo Gold Partner · Belgium

/ Odoo 20 · Inventory

Product & lot recalls, handled end to end

Find every unit of a recalled lot and of the products made with it, block the remaining stock, notify the customers who received it, follow their returns and print the report for the authorities. Built on the standard Odoo traceability.

Impact analysis Downstream lots One-click quarantine Notices & acknowledgement Returns & destruction Closing report Odoo 20 recall email

Recall campaign

One file per recall, from alert to closing

Food producers, cosmetics makers and small manufacturers must be able to withdraw or recall a lot fast and prove it to AFSCA / FAVV or the DGCCRF (RappelConso). A recall campaign keeps everything in one document, with its own reference and chatter.

Lots or a production period

Pick the lots, or the products and a date range: every lot produced or received in that period is added. Start a campaign from the lots list too.

Reason and risk

Hazard (microbiological, allergen, foreign body...), risk level, withdrawal (trade only) or recall (consumers too), authority and its reference.

Draft, in progress, closed

Prepare the campaign, start it, close it when it is done. Every step is logged in the chatter with its date and author.

Who does what

Inventory users run the campaigns. Destroying stock, closing and reopening are for Recall managers (Inventory administrators).

Recall campaign: recalled lot, downstream lots, hazard, risk level and authority reference

Impact analysis

Every unit, wherever it went

One click analyses the recalled lots and the lots made with them, recursively, through the standard traceability. The figures are refreshed after every quarantine, return or destruction.

Produced or received

Quantities produced, received from suppliers or added by inventory adjustment, lot by lot.

Still in stock

Quantity per location, and what is already in quarantine.

Delivered, per customer

Each delivery with its customer, delivery address and reference, and the returns already received.

Used in other products

Consumption in production and the lots made with it: spread made with a recalled hazelnut paste, cookies made with that spread...

Figures of a recall: produced, in quarantine, delivered, sold at the Point of Sale, returned, not recovered

Details

Line by line, with the standard report one click away

Impact details: receipts, consumption, deliveries, returns, stock

Impact details: receipts, consumption, deliveries, returns, stock

The standard Traceability report of a downstream lot

The standard Traceability report of a downstream lot

Containment

Block the stock in one click

Quarantine stock moves everything left of these lots to a Recall quarantine location created in each warehouse, next to (not inside) the stock location, so it can no longer be reserved or delivered.

Reservations released

Pending deliveries that had reserved the lots lose their reservation, and the chatter tells you which ones.

A transfer per warehouse

One validated internal transfer per warehouse, and a quarantine log: date, lot, from, to, quantity, user.

Quarantine log of a recall campaign

Customers

Notify every customer, and know who read it

Each customer who received the lots gets a row: lots and quantities received, returns, and the status of the notice.

Recall notice by email

Notify customers sends the notice to every customer still to notify: products, lots, quantities received, reason and your instructions. The email is kept in the chatter of the customer row.

Acknowledgement link

The customer confirms with one click, and can add a comment (quantities still on hand, already destroyed...). Opening the link alone does not count.

No email? A letter

Print the recall letter, with a signature block, or record a call or a visit by hand.

To notify, notified, acknowledged

Statuses are kept when you analyse again. New customers found later are added as to notify.

Customers of a recall with their status, quantities received and returned

On the customer side

A clear notice, a one-click answer

The email template is yours to edit (wording, signature) and can be chosen per campaign. The instructions are written per campaign.

The recall notice, kept in the chatter

The recall notice, kept in the chatter

The acknowledgement page opened from the email

The acknowledgement page opened from the email

Odoo 20

Built on the Odoo 20 recall email

Odoo 20 can send a short recall email for each delivered move line (Inventory > Moves History > Send email, template Product recall). The app reuses it rather than replacing it.

From the campaign

Standard recall email opens the Odoo composer with that template, on one delivered move line per customer and lot still to notify.

Counted as notified

Whether it is sent from the campaign or from Moves History, the customers of an open campaign who received these deliveries become Notified (Standard recall email), and the campaign logs it.

Or the full notice

Use Notify customers when you want one email per customer with all its lots, your instructions and the acknowledgement link.

The Odoo 20 recall email composer opened from a recall campaign

Returns and destruction

Bring it back, then destroy it

Register what each customer sends back. The figures and the progress of the campaign follow.

Returns into quarantine

The return proposes what the customer still holds, per lot. A validated receipt brings it into the quarantine location of the warehouse it came from.

Credit notes as usual

The return is linked to the delivery and can lower the delivered quantity of the sales order, so you issue the credit note from the order.

Progress

Returned / received per customer, and for the whole campaign.

Destruction

Destroy quarantined stock scraps everything of these lots that is in quarantine, with the standard scrap, and counts it as destroyed.

Register a return: delivered, already returned and returned now, per lot

Closing report

The file for the authorities

A PDF with the identification of the recall, the timeline (detection, authority, quarantine, notices, acknowledgements, returns, destruction, closing), the quantities per lot and the customers with the date and means of notification. Print it at any time; it is final once the campaign is closed.

Identification and timeline

Identification and timeline

Quantities per lot and customers

Quantities per lot and customers

Standard Odoo or this app?

What Odoo already does, what the app adds

Standard OdooLot traceability report (upstream and downstream), the Transfers of a lot (deliveries of the lot and of the lots made with it), returns, internal transfers and scrap. On Odoo 19 and 20, the lot also lists the customers who received it. New in Odoo 20: Inventory > Moves History > Send email sends a short recall email for each selected move line.
Added by this appThe recall campaign itself: lot selection by production date, impact figures per lot and per customer, one-click quarantine, customer notices with acknowledgement link and letter, status per customer, returns into quarantine with progress, destruction and the closing report.
How they work togetherThe impact analysis reads the standard traceability: the production links between lots (written by Manufacturing) and the standard deliveries of the lots. The Traceability button of each lot opens the standard report. Quarantine, returns and destruction are standard transfers and scraps. The Odoo 20 recall email is reused: see below.

Setup

Ready before the alert

1

Track your lots

Inventory settings: enable Lots & Serial Numbers and track the products concerned by lot. With Manufacturing, use lots on components and finished products too.

2

Adapt the notice

Edit the template Recall: notice to customers and the default instructions. Check that your outgoing mail server works.

3

On the day

Inventory > Recalls: create the campaign (or select the lots and use Start a recall campaign), start it, quarantine, notify, follow the returns.

Start a recall campaign from the selected lots

Under the hood

How it works

Moduleslot_recall_campaign (this app), and the free lot_recall_campaign_pos add-on, installed automatically with the Point of Sale: POS sales of the lots are counted, identified POS customers are notified and anonymous counter sales are reported.
DependenciesInventory (stock) only. Community compatible, no Enterprise module needed. Downstream lots are found when your productions link consumed and produced lots (Manufacturing does).
QuarantineOne internal location Recall quarantine per warehouse, created on first use under the warehouse, outside its stock location.
FiguresPer lot, in the unit of each product. Not recovered = sent out to customers - returned. Customers are grouped by company; delivery addresses are listed.
Access rightsRecall User (given to Inventory users) and Recall Manager (given to Inventory administrators). Multi-company: campaigns and their data belong to one company.
LanguagesEnglish and French (also used for fr_BE).

FAQ

Good to know

Does it notify the authority?

No. You notify AFSCA / FAVV or publish on RappelConso as required; the campaign keeps the reference and the closing report gives them the figures and the timeline.

What about consumers?

Choose Recall (consumers too) and adapt the instructions. Sales to unknown consumers cannot be notified one by one: the POS add-on counts them so you can size the public notice.

Products made without a lot?

The trace stops there: a finished product that is not tracked by lot shows as consumed, without downstream lot.

Can I run two recalls on the same lot?

Yes, each campaign has its own customers and statuses. The lot form shows its recall campaigns.

A question? A problem? Talk to the people who built it.

We will get back to you within 8 business hours.

Contact us

Email us directly at

[email protected]

Published by

Nalios — Odoo Gold Partner, Belgium — nalios.be