HADOOPT
TECHNOLOGIES
Schedule a Tech Consultation
Home
Services
Odoo ERP implementation Rollout, custom modules, migration and support. Web application development SaaS products, portals and internal platforms. Mobile application development Offline-first field apps and customer apps. AI development & automation LLM assistants, document processing, forecasting. Odoo version upgrades ↗ Move to a newer release, scoped and priced on its own site.
Products
OrgExp ↗ Budget, CAPEX and OPEX management.
Blog About Contact Schedule a Tech Consultation
Blog / Odoo 19: Complete Guide for Businesses
Odoo 19 6 min read

Quality control and maintenance in Odoo 19

Quality control points, checks and alerts, plus preventive and corrective maintenance on equipment and work centres in Odoo 19.

· ERP practice 22 Sep 2026

In Odoo 19, Quality is an Enterprise app that attaches control points to receipts, deliveries and manufacturing, creates checks that operators pass or fail, and raises alerts for problems that need a fix. Maintenance is a Community app for equipment records and corrective or preventive maintenance requests. Start with a handful of control points on the operations where defects actually cost you, and with recurring preventive requests on the machines whose breakdown stops production.

How Odoo 19 Quality is structured

The Quality app is the quality_control module (Enterprise), installed from the Quality setting in Inventory or Manufacturing. It has three records:

RecordWhat it isWho creates it
Control pointThe rule: which products, which operation, which test, how oftenQuality manager, once
Quality checkOne instance of the test, passed or failedOdoo, from the control point, on each transfer or work order
Quality alertA problem to investigate and fixAnyone, usually from a failed check

The menus follow the same structure: Quality > Quality Control holds Control Points, Quality Checks and Quality Alerts, and Configuration holds Quality Teams, alert stages and tags.

Control points and quality checks

A control point names the products or product categories, the operation types it applies to (Receipts, Delivery Orders, Manufacturing and so on) and a test type. The standard test types are Instructions, Take a Picture, Pass - Fail, Measure and Spreadsheet; Worksheet is added by the Quality Worksheet setting.

Two fields decide how many checks you get:

  • Control per: Operation (one check per transfer), Product (one per product, the default) or Quantity (per quantity registered, allowing partial checks).
  • Control Frequency: All, Randomly (a percentage), Periodically (once per period) or On-demand.

Measure tests carry a Norm and Min and Max Tolerance, so a reading outside the range fails automatically. A control point can also name Failure Locations: when a check fails, the operator can send the failed quantity to a quarantine location instead of into stock.

On a transfer with pending checks, a Quality Checks button appears, and Odoo will not validate the transfer until the checks are done. That is the point: the check sits in the path of the work instead of on a separate form.

With three-step receipts from part 12, put the control points on the quality control step so goods cannot reach stock without passing. On the shop floor, checks on work orders need the Enterprise MRP II module and appear step by step in the operator's work order.

Quality alerts and root causes

An alert is the follow-up record: a problem tied to a product, lots, a vendor or a transfer, with a responsible person and a quality team. From a failed check the operator can raise one directly. Alerts move through a kanban with four stages by default: New, Confirmed, Action Proposed and Solved.

Each alert has a Root Cause (defaults: Workcenter Failure, Parts Quality, Work Operation, Others), a priority, and separate Corrective Action and Preventive Action fields. That split is the useful part. Corrective is what you did about this batch; preventive is what stops the next one. If your team only ever fills in the first, the same alert will come back.

A failed check fixes a batch. An alert with a preventive action fixes the process.

For suppliers, the alert list grouped by vendor and root cause is a simple, honest vendor quality review to bring to the next price negotiation from part 13.

Maintenance: equipment, teams and requests

Maintenance (maintenance) is Community. Its records are equipment, equipment categories, maintenance teams and maintenance requests. Equipment carries a category, owner, technician, serial number, warranty expiration date and effective date. The HR bridge module lets you assign equipment to employees or departments, which also makes it a light asset register for laptops and phones.

Requests move through New Request, In Progress, Repaired and Scrap by default, and each has a Maintenance Type:

  • Corrective (the default): something broke and needs fixing.
  • Preventive: planned work before it breaks. Only preventive requests can be Recurrent, repeating every so many days, weeks, months or years, forever or until an end date.

Requests can carry instructions as text, a PDF or a Google Slide link, which is where the checklist from the machine manual belongs. The Maintenance Calendar shows scheduled work, and custom maintenance worksheets are an Enterprise add-on.

From corrective requests Odoo computes MTBF (mean time between failures), MTTR (mean time to repair) and an estimated next failure date on each piece of equipment. Those numbers are only meaningful if every breakdown gets a request, including the ones fixed in ten minutes.

Linking maintenance to manufacturing

With Manufacturing, the Maintenance - MRP module (Enterprise, it depends on MRP II) lets a request be for a Work Center as well as a piece of equipment. Ticking Block Workcenter reserves the maintenance slot so work orders cannot be planned on that centre at the same time.

What to configure first

  1. Maintenance teams and equipment categories; load the equipment that matters to production.
  2. Recurrent preventive requests for critical machines, with instructions attached.
  3. Log every breakdown as a corrective request so MTBF and MTTR mean something.
  4. Quality teams and three to five control points on receipts and final inspection.
  5. Failure locations for quarantine; alerts with root cause and preventive action.
  6. Later: work order checks, spreadsheets and worksheets, work centre blocking.
Quality > Quality Control > Control Points
Quality > Quality Control > Quality Alerts
Maintenance > Maintenance > Maintenance Requests
Maintenance > Maintenance > Equipment
Where the pieces live in Odoo 19

Maintenance is Community; Quality, maintenance worksheets and the manufacturing link are Enterprise. Next is field service, which takes the same idea of planned work to customers' sites. If you want help deciding which checks are worth enforcing, talk to us.

Questions we get asked

Is the Odoo 19 Quality app included in Community?

No. Quality (quality_control) and its base module are Enterprise-only in Odoo 19, as are quality checks on work orders and quality worksheets. Community users have the three-step receipt route with a quality control location, but no control points, checks or alerts. The Maintenance app, by contrast, is a Community module and is free to use.

What is the difference between a quality check and a quality alert in Odoo?

A quality check is one test instance, generated automatically from a control point on a transfer or work order, which the operator passes or fails. A quality alert is a problem record raised when something is wrong, often from a failed check. Alerts move through stages and hold the root cause, corrective action and preventive action, so they track the fix rather than the test.

How do I set up preventive maintenance in Odoo 19?

Create a maintenance request for the equipment, set Maintenance Type to Preventive, tick Recurrent and choose how often it repeats in days, weeks, months or years, either forever or until an end date. Add instructions as text, PDF or a Google Slide. With the Enterprise manufacturing link you can raise it on a work center and block that time for production planning.

Can Odoo stop a receipt being validated until quality checks are done?

Yes, with the Enterprise Quality app. When a control point applies to the receipt's operation type and products, Odoo creates checks on the transfer and shows a Quality Checks button. The transfer cannot be validated while checks are still to do. Failed quantities can be moved to a failure location, such as a quarantine bin, defined on the control point.

← Previous Manufacturing and MRP in Odoo 19 Next → Field service management in Odoo 19
Keep reading
Odoo 19 Getting started with Odoo 19: what changed and where to begin 6 min read Odoo 19 Installing Odoo 19 from source, Docker or packages 7 min read Odoo 19 Odoo 19 hosting: Odoo Online vs Odoo.sh vs on-premise 6 min read