Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Purchasing
  3. Commodity Quality Inspection v 19.0
  4. Sales Conditions FAQ

Commodity Quality Inspection

by Grevlin Global Corp. https://www.grevlin.com
Odoo

$ 99.08

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Inventory (stock)
• Purchase (purchase)
• Invoicing (account)
Community Apps Dependencies Show
• Commodity Base
• Commodity Delivery & Weighbridge
• Commodity Warehouse
Lines of code 6033
Technical Name grev_od_commodity_quality
LicenseOPL-1
Websitehttps://www.grevlin.com
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Inventory (stock)
• Purchase (purchase)
• Invoicing (account)
Community Apps Dependencies Show
• Commodity Base
• Commodity Delivery & Weighbridge
• Commodity Warehouse
Lines of code 6033
Technical Name grev_od_commodity_quality
LicenseOPL-1
Websitehttps://www.grevlin.com
  • Description
  • Documentation
  • License

🔬 Commodity Quality Inspection

Laboratory Quality Testing, Automatic Grading, Penalty Computation & Certificate Issuance for Commodity Deliveries

✓  Odoo 19.0 Community and Enterprise  |  OPL-1 License

🎯 Value Proposition

Commodity Quality Inspection brings rigorous laboratory-grade quality control to your commodity procurement workflow. Test moisture, foreign matter, broken grains, protein content, and any custom parameter — then let the system automatically grade deliveries, compute penalties, and issue certificates. Verified results become immutable, ensuring full audit compliance from lab bench to settlement.

🔬

Automated Grading

Quality score computed from spec compliance; grade assigned automatically from commodity grade table

🔒

Immutable Records

Verified test results locked at ORM level — only managers can override

💰

Penalty Engine

Per-parameter deviation penalties auto-calculated and ready for settlement deduction

🌟 Key Benefits

⚡

One-Click Test Initialization

Start a test and the system auto-populates result lines from the commodity type’s quality parameters. Lab technicians focus on measuring, not on setup.

📈

Supplier Quality Scorecard

SQL-backed scorecard aggregates acceptance rates, average moisture, foreign matter, and quality scores per supplier and commodity — ready for pivot and graph analysis.

📜

Quality Certificates

Issue formal certificates from verified tests with unique certificate numbers, result summaries, and revocation workflow. Immutable once issued.

🔨

Sample Chain of Custody

Track primary, duplicate, referee, and retention samples through their full lifecycle — from collection through lab testing to retention or disposal. Seal numbers and storage locations included.

⚙ Core Features

🔬 Quality Test Lifecycle

  • States: draft → in progress → completed → verified
  • Auto-populates result lines from commodity quality parameters
  • Convenience fields: moisture %, foreign matter %, broken grains %, protein %
  • Automatic accept/reject based on threshold validation
  • Verified tests are immutable (ORM-enforced)

📊 Automatic Grading & Penalty

  • Quality score = % of parameters within spec
  • Grade assigned by matching score against grade min thresholds
  • Rejected deliveries auto-assigned to rejection grade
  • Per-parameter deviation and penalty amount computed
  • Penalty amounts consumed by settlement module

📜 Quality Certificates

  • Issue certificates from verified quality tests
  • Unique certificate number with sequence
  • Auto-computed result summary with parameter values
  • States: draft → issued → revoked
  • Issued certificates are immutable (revoke first)

🔨 Sample Management

  • Sample types: primary, duplicate, referee, retention
  • States: collected → in lab → tested → retained → disposed
  • Seal numbers and storage location tracking
  • Retention date enforcement before retention
  • Linked to parent quality test with count badge

📈 Supplier Quality Scorecard

  • SQL view (_auto = False) for performance analytics
  • Acceptance rate per supplier and commodity
  • Average moisture, foreign matter, and quality score
  • Ready for pivot and graph analysis
  • Multi-company scoped

🛡 Security & Immutability

  • Centralized security groups from Commodity Base
  • User / Officer / Manager three-tier access
  • Verified tests: write() override blocks edits
  • Issued certificates: immutable until revoked
  • Multi-company record rules on all models

👥 Who Is This For?

🔬

Lab Technicians

Record moisture, impurities, protein content, and all quality parameters in a structured workflow. One click initializes all test lines from the commodity definition.

💼

Quality Managers

Verify test results, issue quality certificates, monitor supplier acceptance rates via the scorecard, and enforce immutability rules across the quality process.

💰

Settlement & Finance Teams

Consume penalty amounts computed per quality parameter to automatically apply deductions during commodity settlement and payment processing.

🗒 Changelog

Version 2.0.0 — April 2026

Full Quality Platform — Major Release

  • Quality certificate issuance with unique numbering and revocation workflow
  • Sample chain of custody: primary, duplicate, referee, retention types
  • Supplier quality scorecard (SQL view) with acceptance rates and averages
  • Immutable certificates once issued (revoke-first enforcement)
  • Sample lifecycle: collected → in lab → tested → retained → disposed
  • Seal number and storage location tracking for samples
  • Certificate result summary auto-computed from test lines
  • Centralized security groups from Commodity Base module

Version 1.0.0 — January 2026

Initial Release

  • Quality test lifecycle: draft → in progress → completed → verified
  • Automatic test initialization from commodity quality parameters
  • Threshold-based accept/reject with rejection reason capture
  • Automatic grade assignment from quality score
  • Per-parameter deviation and penalty amount computation
  • Convenience fields for moisture, foreign matter, broken grains, protein
  • Immutable verified records (ORM write() override)
  • Multi-company record rules and chatter tracking

📞 Need Help?

🎁 30 Days Free Support Included
📧

Email

odoo@grevlin.com
🐦

X (Twitter)

@GrevlinGlobal

Grevlin Procurement Suite

Enterprise-Grade Commodity Procurement for Odoo

© 2026 Grevlin Global Corp. All Rights Reserved.

Compatible with Odoo 19.0 | Licensed under OPL-1

Commodity Quality Inspection

The Commodity Quality Inspection module provides laboratory-grade quality testing for commodity deliveries. It automates the full inspection workflow from sample collection through test execution, automatic grading, penalty computation, and certificate issuance --- all with immutable records once verified.

Overview

This module sits in the commodity procurement pipeline between delivery intake and settlement. Lab technicians record test results against commodity-specific quality parameters; the system automatically grades the delivery, computes penalties for out-of-spec parameters, and produces formal quality certificates.

Key Capabilities

  1. Quality Test Lifecycle --- structured workflow from draft through in progress, completed, and verified states.
  2. Automatic Test Initialization --- one-click start populates result lines from the commodity type's quality parameters.
  3. Threshold-Based Accept/Reject --- any parameter exceeding its reject threshold triggers automatic rejection.
  4. Automatic Grading --- quality score (% of parameters within spec) matched against commodity grade thresholds.
  5. Per-Parameter Penalty Computation --- deviation above max value multiplied by penalty-per-unit for each result line.
  6. Quality Certificates --- formal certificates issued from verified tests with unique numbering and revocation workflow.
  7. Sample Management --- chain of custody tracking for primary, duplicate, referee, and retention samples.
  8. Supplier Quality Scorecard --- SQL-backed analytics view with acceptance rates and averages per supplier and commodity.
  9. Immutable Records --- verified tests and issued certificates are locked at ORM level; only managers can override.

Note

This module uses centralized security groups from grev_od_commodity_base. It does not define its own groups.

Configuration

Quality Parameters

Quality parameters are defined in the Commodity Base module on each commodity type. Before using quality tests, ensure parameters are configured.

  1. Go to :menuselection:`Commodity --> Configuration --> Commodity Types`.
  2. Select the commodity type (e.g., Maize, Wheat).
  3. In the :guilabel:`Quality Parameters` tab, add parameters such as moisture, foreign_matter, broken_grains, protein.
  4. For each parameter, set :guilabel:`Max Value`, :guilabel:`Reject Threshold`, and :guilabel:`Penalty per Unit`.
  5. Click :guilabel:`Save`.

Important

Parameters must have a code field matching the expected values (moisture, foreign_matter, broken_grains, protein) for the convenience fields on the quality test to populate correctly.

Grades

Grades determine the quality classification of accepted deliveries.

  1. Go to :menuselection:`Commodity --> Configuration --> Grades`.
  2. Create grades for each commodity type (e.g., Grade 1, Grade 2).
  3. Set :guilabel:`Min Quality Score` for each grade.
  4. Set :guilabel:`Sequence` to control evaluation order (lowest sequence = highest grade, checked first).
  5. Mark one grade as :guilabel:`Is Accepted` = False for rejected deliveries.

Security Groups

The module uses the centralized three-tier security groups from grev_od_commodity_base:

Commodity User (group_commodity_user)

  • Read-only access to quality tests, results, certificates, samples, and the quality scorecard.
  • Cannot create or modify records.

Commodity Officer (group_commodity_officer)

  • Create and edit quality tests, result lines, samples, and certificates.
  • Cannot delete records.
  • Inherits Commodity User permissions.

Commodity Manager (group_commodity_manager)

  • Full CRUD including delete on all quality models.
  • Can modify verified test records (override immutability).
  • Can revoke issued certificates.
  • Inherits Commodity Officer permissions.

Note

Multi-company record rules apply to all models using the pattern ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)].

Usage

Creating a Quality Test

  1. Navigate to :menuselection:`Commodity --> Quality --> Quality Tests`.
  2. Click :guilabel:`Create`.
  3. Fill in the required fields:
    • :guilabel:`Commodity` --- the commodity type being tested.
    • :guilabel:`Supplier` --- the supplier delivering the commodity.
    • :guilabel:`Lab Technician` --- defaults to the current user.
  4. Click :guilabel:`Start Test` to move to In Progress and auto-populate result lines from the commodity's quality parameters.

Recording Test Results

  1. In the :guilabel:`Test Results` tab, enter the :guilabel:`Measured Value` for each parameter.
  2. The system automatically computes:
    • :guilabel:`Within Spec` --- whether the value is at or below the parameter's max value.
    • :guilabel:`Deviation` --- amount above max value (zero if within spec).
    • :guilabel:`Penalty Amount` --- deviation multiplied by the parameter's penalty-per-unit rate.
  3. Click :guilabel:`Complete` to finalize the test.

Tip

The overall result (accepted/rejected) and grade are computed automatically when completing the test. If any parameter exceeds its reject threshold, the delivery is rejected.

Verifying and Issuing Certificates

  1. After completion, a manager reviews the test and clicks :guilabel:`Verify` to lock the record.
  2. Click :guilabel:`Issue Certificate` to create a formal quality certificate linked to the verified test.
  3. The certificate includes the overall result, grade, and a summary of all parameter values with spec compliance status.

Warning

Once a certificate is issued, it becomes immutable. To make changes, the certificate must first be revoked (with a mandatory reason), and a new certificate issued.

Managing Samples

  1. From a quality test, click the :guilabel:`Samples` smart button.
  2. Click :guilabel:`Create` to register a new sample.
  3. Set the :guilabel:`Sample Type`:
    • Primary --- main test sample.
    • Duplicate --- backup sample for re-testing.
    • Referee --- independent verification sample.
    • Retention --- stored sample for future disputes.
  4. Track the sample through its lifecycle: :guilabel:`Send to Lab` |rarr| :guilabel:`Mark Tested` |rarr| :guilabel:`Retain` or :guilabel:`Dispose`.

Note

Retention samples require a :guilabel:`Retain Until` date before they can be marked as retained.

Reviewing the Supplier Scorecard

  1. Navigate to :menuselection:`Commodity --> Quality --> Quality Scorecard`.
  2. The scorecard shows aggregated quality metrics per supplier and commodity: total deliveries, accepted/rejected counts, acceptance rate, average moisture, average foreign matter, and average quality score.
  3. Use the pivot and graph views for deeper analysis.

Technical Details

Data Model

Model Type Description
grev.commodity.quality.test Model + mail.thread Core quality test record with lifecycle and grading.
grev.commodity.quality.result Model Per-parameter test result lines with spec check and penalty.
grev.commodity.quality.certificate Model + mail.thread Quality certificate with issuance and revocation workflow.
grev.commodity.quality.sample Model + mail.thread Sample chain of custody tracking.
grev.commodity.quality.scorecard SQL view Supplier quality analytics (pivot + graph).

Immutability Enforcement

Two models enforce immutability via write() overrides:

grev.commodity.quality.test
Once in verified state, only chatter-related fields can be modified. Only users in group_commodity_manager can bypass this restriction.
grev.commodity.quality.certificate
Once in issued state, only state and revocation_reason fields can be modified (to support the revocation workflow).

Integrations

Upstream --- Receives commodity_type_id and quality parameter definitions from grev_od_commodity_base.

Downstream --- Penalty amounts on result lines are consumed by grev_od_commodity_settlement for automatic deductions during settlement pricing.

Troubleshooting

No Result Lines After Starting Test

Symptom: Clicking :guilabel:`Start Test` moves the test to In Progress but no result lines appear.

Checks:

  1. Verify the selected commodity type has quality parameters defined in :menuselection:`Commodity --> Configuration --> Commodity Types`.
  2. Confirm the parameters have valid code values.

Grade Not Assigned After Completion

Symptom: The test completes but :guilabel:`Grade` remains empty.

Checks:

  1. Verify grades are defined for the commodity type with :guilabel:`Min Quality Score` thresholds.
  2. For accepted deliveries, confirm at least one grade has is_accepted = True and a score threshold at or below the computed quality score.
  3. For rejected deliveries, confirm a grade with is_accepted = False exists for the commodity type.

Cannot Modify Verified Test

Symptom: Editing a verified test raises an error.

Resolution: This is expected behavior. Only users in the Commodity Manager group can modify verified tests. Contact your system administrator to request manager access if modifications are needed.

See Also

Related Modules

  • grev_od_commodity_base --- provides commodity types, quality parameters, grades, and centralized security groups.
  • grev_od_commodity_delivery --- upstream; delivers delivery_id to quality tests.
  • grev_od_commodity_settlement --- downstream; consumes penalty amounts for settlement deductions.
  • grev_od_commodity_warehouse --- parallel module for silo/bin management after quality acceptance.
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with