OdooWiki OCA HUB

Quality Control OCA

quality_control_oca folder_open OCA/manufacture open_in_new
Quality Control License: AGPL-3

This module provides a generic infrastructure for quality tests. The idea is that it can be later reused for doing quality inspections on production lots or any other area of the company.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Create quality control tests made of questions, and record inspections that check products against those tests. Inspections can be started manually or generated automatically from triggers set on products, product templates or product categories.

This module adds a generic quality control infrastructure to Odoo, built on top of the product module.

  • You define tests (qc.test) grouped in test categories, each test containing questions. A question is either qualitative (a list of possible answers, at least one marked as correct) or quantitative (a minimum and maximum value with a unit of measure).
  • You record inspections (qc.inspection) with a number, a planned date, a reference object, a quantity and a responsible user. Each inspection gets lines copied from the chosen test; you fill in the answers and Odoo computes whether each line and the whole inspection succeeded.
  • Inspections follow a workflow: Draft, Ready, Waiting supervisor approval, Quality success, Quality failed, Canceled. Buttons let you mark as todo, confirm, approve (managers only), cancel or reset to draft. Confirming requires an answer for every qualitative question and a unit of measure for quantitative ones.
  • Triggers (qc.trigger) can be configured on products, product templates and product categories, with a responsible user, optional partners and a timing (before, after or plan ahead). Matching triggers automatically create inspections, which are flagged as auto-generated and cannot be deleted.
  • A wizard lets you set or change the test on a draft inspection and refill its lines.

Everything is available under a Quality Control menu with Inspections, Tests and Configuration sections, and quality control blocks also appear on product and product category forms.

Depends on

product

Menus it adds

InspectionsInspection linesQuality ControlInspectionsTestsConfigurationTest categoriesTestsTriggers
Models and fields (15)
  • qc.test · new modelname, active, category, company_id, test_lines (Questions), fill_correct_values (Pre-fill with correct values)
  • qc.trigger · new modelname, active, company_id (Company), partner_selectable (Selectable by partner)
  • qc.inspection · new modelqty (Quantity), date (Plan Date), name (Inspection number), test, user (Responsible), state, success, date_done (Completion Date), object_id (Reference), company_id (Company), product_id, auto_generated (Auto-generated), external_notes, internal_notes (Internal notes), inspection_lines
  • product.product · extends an existing modelqc_triggers (Quality control triggers)
  • qc.trigger.line · new modeltest, user (Responsible), timing, trigger, partners
  • product.category · extends an existing modelqc_triggers (Quality control triggers)
  • product.template · extends an existing modelqc_triggers (Quality control triggers)
  • qc.test.category · new modelname, active, child_ids (Child categories), parent_id (Parent category), complete_name (Full name)
  • qc.test.question · new modelname, test, type, notes, uom_id (Uom), sequence, max_value (Max), min_value (Min), ql_values (Qualitative values)
  • qc.inspection.line · new modelname (Question), notes, uom_id (UoM), success (Success?), max_value (Max), min_value (Min), test_line (Test question), product_id, test_uom_id (Test UoM), valid_values (Valid values), inspection_id (Inspection), question_type, qualitative_value (Qualitative value), test_uom_category (Test UoM Reference), possible_ql_values (Answers), quantitative_value (Quantitative value)
  • qc.inspection.set.test · new modeltest
  • qc.test.question.value · new modelok (Correct answer?), name, test_line (Test question)
  • qc.trigger.product_line · new modelproduct
  • qc.trigger.product_category_line · new modelproduct_category
  • qc.trigger.product_template_line · new modelproduct_template

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 7 confirmed, 2 with no information of 9 versions.

Sources · Odoo 13.0

Confirmed on 2026-11-03 in branch 13.0 of OCA/manufacture.

terminal Installation and usage

OCA documentation · Odoo 19.0
  • Question: The thing to be checked. We have two types of questions:
  • Qualitative: The result is a description, color, yes, no...
  • Quantitative: The result must be within a range.
  • Possible values: The values chosen in qualitative questions.
  • Test: The set of questions to be used in inspections.
  • Once these values are set, we define the inspection.

We have a generic test that can be applied to any model: shipments, invoices or product, or a test related, making it specific to a particular product and that eg apply whenever food is sold or when creating a batch.

Once these parameters are set, we can just pass the test. We create a new inspection, selecting a relationship with the model (sale, stock move...), and pressing "Select test" button to choose the test to pass. Then, you must fill the lines depending on the chosen test.

The complete inspection workflow is:

> Draft -\> Confirmed -\> Success > > -\> Failure (Pending approval) -\> Approved

No verified information in OCA: Installation, Usage.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.