Skip to Content

Odoo for FMCG Quality Control and Product Recall

June 10, 2026 by
Odoo for FMCG Quality Control and Product Recall
Pearl Solutions

When a quality problem reaches a consumer, the first question is always: how many products are affected and where are they? For an FMCG company without lot traceability, the honest answer is usually "we don't know" which means the recall must cover every unit of that SKU in the market, across all production runs, regardless of whether they were actually affected.

A blanket recall is not just expensive. For a mid-size FMCG brand, recalling a full production month of product can mean pulling tens of thousands of units from hundreds of retail locations, issuing full replacement stock, and absorbing the cost of write-offs all because there is no way to isolate the specific affected batch.

Lot traceability eliminates this exposure. With a complete lot-to-customer record, a recall can target only the specific lots involved often representing 2–5% of the volume that a blanket recall would cover.

This post covers how Odoo implements quality control and lot traceability for FMCG companies, and what a selective recall actually looks like when the data exists to support it.

How Quality Control Works in Odoo for FMCG

Odoo's quality module operates on a concept called Quality Control Points (QCPs). A QCP is a defined inspection step triggered at a specific moment in a specific operation. For FMCG manufacturing, typical QCPs are:

Control PointTriggerTypical Checks
Incoming Raw MaterialGoods receipt — before put awayCOA verification, moisture, microbiological test result
In-Process — Critical Control PointManufacturing order — mid-production stepTemperature, pH, Brix, weight per unit
In-Process — Packaging LineManufacturing order — packaging stepSeal integrity, fill weight, label correctness
Finished Goods ReleaseManufacturing order — before goods receipt to warehouseOrganoleptic check, packaging integrity, weight per carton
Pre Dispatch InspectionDelivery order — before loadingLot verification, expiry date confirmation, carton condition

Each QCP is configured with the check type (manual entry, pass/fail, numerical range), the responsible team, and the action on failure: block, warn, or notify. A failed incoming raw material check sets the lot to quarantine. A failed finished goods release check blocks the manufacturing order from closing until the failure is reviewed and dispositioned.

Quality Alerts and Corrective Action

When a QCP check fails, Odoo generates a Quality Alert a structured record containing:

The specific lot and product involved

The check that failed and the value recorded

The team and individual responsible for investigation

Root cause analysis fields (optional for ISO compliant operations)

Corrective action and deadline

Resolution status

Quality Alerts form an auditable corrective action register. For companies pursuing ISO 22000 (food safety management) or PSQCA certification, this register is a required document and Odoo generates it automatically from normal production operations.

Lot Traceability Upstream and Downstream

Traceability in Odoo is bidirectional. From any lot, you can navigate in both directions:

Upstream Traceability: Finished Goods -> Raw Materials

Starting from a finished goods lot say, Lot FG-2026-04-441 of cream biscuits Odoo can show:

Which manufacturing order produced this lot

Which raw material lots were consumed in that manufacturing order (e.g., Lot RM-FLOUR-087, Lot RM-SUGAR-031, Lot RM-OIL-019)

Which supplier supplied each of those raw material lots

What QC results were recorded for each raw material lot at receiving

What in-process QC results were recorded during the production run

This answers the question: A consumer reported a problem with this specific lot was it a raw material issue, a process issue, or a packaging issue?

Downstream Traceability: Finished Goods ->  Customers

Starting from the same finished goods lot, Odoo can show:

Which delivery orders included this lot

Which customers received product from this lot

What quantity each customer received

What quantity remains in your own warehouse from this lot

Whether any returns have already been received from this lot

This answers the question: If we need to recall this lot, who do we contact, how many units are in the market, and how many do we still hold?

Traceability in practice selective recall: A distributor in Lahore reports that three consumers found a foreign object (plastic fragment) in your bottled sauce. The lot number is FG-SAUCE-2026-03-118. Odoo shows: this lot was produced in one manufacturing order on 18 March 2026, using specific ingredient lots. Three distributors received product from this lot a total of 840 bottles. Your warehouse still holds 120 bottles. The remaining 720 bottles are in three distributor warehouses across two cities. Odoo generates the list of affected customers, quantities, and their contact details. A selective recall covering only 720 bottles not 15,000 bottles from the full March production.

The Cross Contamination Scenario Tracing a Supplier Issue Forward

A more complex traceability scenario is the forward trace starting from a supplier notification rather than a consumer complaint.

Your palm oil supplier notifies you that Lot SUPP-OIL-2026-02-044 has been found to contain elevated levels of contaminants. You need to identify all finished goods produced using this lot.

In Odoo: search for all manufacturing orders that consumed Lot SUPP-OIL-2026-02-044. The result shows four production batches across three SKUs. The finished goods lots produced from those batches are identified. Downstream traceability shows which customers received product from each of those finished goods lots spanning potentially hundreds of delivery orders.

Without Odoo, this investigation would require cross-referencing production logs (if they exist) with shipping records (if they are complete) to reconstruct which batches of which products might have used the affected oil lot. The result would be a range of product codes and an approximate date range insufficient for a targeted recall, forcing a broad product withdrawal.

Quarantine and Hold Management

When a lot is under investigation, Odoo's quarantine function moves it to a designated stock location (Quality Hold) that is excluded from available stock for dispatch or production. The lot remains physically in the warehouse but cannot be consumed, picked, or shipped until the hold is released by an authorized user.

The quarantine record shows: who placed the hold, when, what the reason was, and when it was resolved (or destroyed). This is the document trail that regulators request in a quality audit.

PSQCA Compliance and Documentation

For FMCG manufacturers in Pakistan, the Pakistan Standards and Quality Control Authority (PSQCA) sets mandatory quality standards for a range of consumer goods categories food products, personal care, cleaning products. PSQCA certification requires demonstrable quality control procedures and documentation.

Odoo's quality module generates the following documentation that supports PSQCA compliance:

  • Inspection records: Every quality check with the result, inspector, and date timestamped and unalterable
  • Corrective action log: All Quality Alerts with root cause, corrective action, and closure date
  • Lot traceability report: Complete chain from raw material to finished goods dispatch for any lot
  • Non conformance register: All failed inspections, dispositions, and write offs
  • Supplier quality history: Acceptance/rejection records by supplier and raw material lot

For companies targeting export markets particularly food products to Gulf countries or Europe similar documentation requirements apply under HACCP, ISO 22000, or importer-specific audit requirements. Odoo's quality records are exportable to PDF and Excel for audit submission.

Shelf Life Management and Proactive Write Off Prevention

Product write-offs due to expiry are a controllable cost but only if there is visibility into which lots are approaching expiry before it is too late to move them.

Odoo's expiry management works on three dates per lot:

Best Before Date: The consumer facing date printed on the pack

Removal Date: The date after which the lot should not be dispatched (e.g., 30 days before Best Before, to ensure retailer has adequate shelf time)

Alert Date: The date when Odoo sends an internal notification to the warehouse manager (e.g., 60 days before Best Before)

The Removal Date is enforced at dispatch: Odoo will not allow a lot past its removal date to be picked for a delivery order. This prevents the quality failure scenario where a warehouse operative manually picks an expiring lot to clear space and a retailer subsequently receives stock with inadequate shelf life.

Reducing write-offs proactively: When Odoo's alert fires 60 days before expiry, there is still time to act. The stock can be offered to distributors at a discount as a clearance scheme, redirected to an institutional or wholesale channel with lower shelf life requirements, or included in a buy more get free promotion to accelerate sell through. Write-off prevention is only possible with advance warning which requires the system to know the expiry date of every lot in the warehouse.

Supplier Quality Management

Quality problems in FMCG manufacturing often originate with suppliers an ingredient lot that was below specification, packaging material with a defective seal pattern, a flavouring batch with off-notes. Managing supplier quality requires a record of every raw material lot's inspection results and the ability to track acceptance rates over time.

In Odoo, incoming quality checks are linked to the purchase order and the supplier. Over time, the quality history per supplier shows:

Acceptance rate: what percentage of lots from this supplier passed incoming QC

Non-conformance history: which lots failed, what the failure was, and whether a claim was raised

Response to claims: did the supplier replace or credit the rejected material

This data supports supplier qualification decisions replacing a supplier with a consistently high rejection rate, renegotiating terms, or requiring pre shipment certificates for high risk ingredients.

Integrating Quality with Production Planning

Quality holds have a direct impact on production capacity if 20% of a raw material lot is in quarantine, the production plan must account for the reduced available quantity. Odoo's manufacturing module reads available stock excluding quarantine, so the production planner sees the correct usable quantity without manually adjusting for held material.

When a held lot is released after investigation, it appears immediately in available stock for the next production scheduling cycle no manual adjustment required.

When Quality Documentation Becomes a Commercial Asset

For FMCG companies supplying modern trade chains (hypermarkets, supermarkets) in Pakistan, quality documentation is increasingly a trading condition. Retailers require suppliers to demonstrate quality management capability as a condition of shelf listing and, particularly, for private label production contracts.

A supplier who can produce a lot traceability report in 30 seconds showing the complete raw material chain for any product on the retailer's shelf has a meaningful competitive advantage over a supplier who would need three days to reconstruct the same information from paper records.

For FMCG manufacturers aiming at export or premium retail channels, the quality documentation capability of Odoo is not just an operational tool it is a commercial qualification.

Share this post

Our latest content

Check out what's new in our company !

Your Dynamic Snippet will be displayed here... This message is displayed because you did not provide both a filter and a template to use.
Tags
Archive