Inventory app for Odoo
Quality Control & Inspections
Quality control points, inspection templates and tolerances that grade a reading automatically and block validation while a mandatory inspection is pending or failed.

Overview
Quality Control & Inspections.
Bring quality control to Odoo Community. Control points decide when an inspection is created on receipts, deliveries, internal transfers, manufacturing orders and work orders. Inspection templates define the tests, stored tolerances grade each measurement automatically, and a pending or failed inspection stops the transfer or manufacturing order from completing.
New to Odoo Inventory? Read our practical guide to how it works
How it works
Built around what you actually do.
Every screen below is the module running in Odoo, not a mockup.
01
Control points that create inspections on receipts, deliveries, internal transfers, manufacturing orders, work orders or on demand
- Match on operation type, product, product category including child categories, or partner, with optional effective dates
- Eleven test types: pass/fail, numeric measure, text, selection, yes/no, date, date and time, instruction acknowledgement, picture, signature and file attachment
- Tolerances grade a reading automatically: outside minimum or maximum fails, inside the norm but outside the warning band passes with a warning
- The operator records the reading; the system records the verdict
- Sampling by every unit, a percentage, or one every N units, with minimum and maximum clamps

02
The sampling decision is written onto the inspection in words and never recomputed afterwards
- Blocking validation: a pending or failed mandatory inspection stops the transfer or manufacturing order and hands the user the inspection
- Readings taken in another unit are converted before grading, or refused when the two units share no reference
- A recorded zero is a reading, not a blank, and is stored as explicit state
- Inspections are snapshots: every value is copied from the template at creation, so revising a template cannot change what a past inspection says
- Duplicate generation prevented by a database unique index, not by application checks

03
Closed inspections are locked; only a manager can reopen one, and the reason is recorded
- Printable inspection certificate, plus pivot, graph, calendar and kanban analysis
- Quality teams, four permission levels, and full multi-company separation
- Manufacturing support installs itself automatically when Manufacturing is present

Every screen
The whole module, screen by screen.
The captures the walkthrough above did not use, in the order you meet them in the product.








What it does
Quality Control & Inspections gives Odoo Community the quality layer it does not ship with. You define control points that say when an inspection should exist: on a receipt from a particular vendor, on every unit of a particular product, on a product category, on a manufacturing order, or on demand. When the document is validated, the inspections are created, and a mandatory one that is pending or failed stops the operation and hands the user the record to deal with.
The inspection itself is built from a template. Each test has a type, and a measured test carries a minimum, a maximum and an optional warning band. The operator records what they read; the system decides whether that reading passed, passed with a warning, or failed. A reading of zero is treated as a reading, not as a blank, because zero defects is an answer.
Every value an inspection needs is copied onto it when it is created, and the template revision is stamped alongside. Revising a template changes what happens next, never what a past inspection says was measured.
Who it's for
Manufacturers, distributors, food and beverage producers, and any business running Odoo Community that needs incoming goods checked, finished goods verified, and a record of who inspected what against which specification. It suits teams who want the measurement to decide the outcome rather than an operator ticking a box, and who need a transfer to be genuinely blocked while a required check is outstanding.
This module is a quality control tool. It is not certified, validated or audited against ISO, FDA, GMP or 21 CFR Part 11, and nothing in it should be described as providing compliance with any of them.
Questions
About Quality Control & Inspections.
Does quality control work on Odoo Community, or do I need Enterprise?
This module is built for Community and depends only on Community apps: Inventory, Products, Units of Measure and Discuss. It installs and runs on Enterprise too.
Can an inspection actually stop a transfer from being validated?
Yes, for receipts, deliveries, internal transfers, manufacturing orders and work orders. Set a control point to Blocking and validation refuses while a mandatory inspection is pending or failed, opening the inspection so the user can deal with it.
Does it gate every stock movement in the database?
No, and it does not claim to. Point of Sale, inventory adjustments and scrap call Odoo's internal completion routine directly, and some of those paths discard errors, so a check placed there would be silently dropped. Transfers and manufacturing are gated; those three are not.
Who decides whether a measurement passed?
The tolerance does. You store a minimum, a maximum and an optional warning band on the test. A reading outside the minimum or maximum fails, a reading inside the norm but outside the warning band passes with a warning, and nobody types the verdict.
What happens to old inspections if I edit a template?
Nothing. Every value an inspection needs is copied onto it when it is created and the template revision is recorded alongside. Past inspections keep the tolerances and wording that were in force when the work was done.
How does sampling work?
Choose every unit, a percentage, or one every N units, with optional minimum and maximum sample sizes. The resulting decision is written onto the inspection as a sentence, so the record says what was inspected rather than leaving it to be recalculated later.
What if a reading is taken in a different unit from the specification?
It is converted before grading when the two units share a reference, so grams are compared correctly against a specification in kilograms. When they share no reference, such as grams against a count of units, the reading is refused with an error naming both units rather than run through a conversion that returns a plausible wrong number.
Can warehouse staff clear an inspection without full quality access?
Yes. An operator can open and complete the inspection holding up their own transfer or manufacturing order without being made a quality manager. Recording a result is separated from configuring what gets inspected, and only the upper permission levels can change control points, templates and teams.
Is this validated for ISO, FDA, GMP or 21 CFR Part 11?
No. It is a quality control tool, not a certified compliance package. Whether your process meets a standard depends on your process, your validation work and your auditor.
On the Odoo Store
Get Quality Control & Inspections on the Odoo Store.
Pick your Odoo version and install it in a click, with free updates and real support behind it.
Request early accessReady to make Odoo work the way your business does?
Book a free callCODEerts is a team of certified Odoo partners and full-stack engineers. We implement, customise and support Odoo ERP, then build the software around it.