| __pycache__ | ||
| models | ||
| tests | ||
| __init__.py | ||
| __manifest__.py | ||
| README.md | ||
Quality Check Lot Preserve
Overview
This module modifies the standard Odoo 18 quality check behavior for receipt operations to preserve quality check states when lot numbers are assigned after quality checks have been completed.
Problem Statement
In standard Odoo, when a quality check is completed before a lot number is assigned, the quality check automatically resets to "Todo" state when the lot number is later assigned. This creates inefficiency in warehouse operations where:
- Quality checks are performed immediately upon receipt
- Lot numbers are generated or assigned later in the process
- Quality checks must be re-done unnecessarily
Solution
This module provides the following functionality:
1. State Preservation
- Quality check states (Pass, Fail, In Progress) are preserved when lot numbers are assigned
- Applies only to receipt operations (incoming shipments)
- Other operation types (manufacturing, internal transfers, delivery) continue with standard Odoo behavior
2. Automatic Lot Number Synchronization
- Lot numbers assigned to stock move lines are automatically copied to related quality checks
- Lot number changes are synchronized in real-time
- Maintains traceability between inventory and quality records
3. Selective Application
- Custom behavior applies only to receipt operations
- Standard Odoo workflows remain unchanged for other operation types
- Seamless integration with existing quality control processes
Installation
- Copy this module to your Odoo addons directory (e.g.,
customaddons/quality_check_lot_preserve) - Update the apps list in Odoo
- Install the "Quality Check Lot Preserve" module
Dependencies
stock- Odoo Inventory Managementquality_control- Odoo Quality Control (Enterprise module)
Note: This module requires Odoo Enterprise edition as it depends on the quality_control module.
Usage
Typical Workflow
- Receive Products: Create a purchase order and validate the receipt
- Perform Quality Checks: Complete quality checks immediately upon receipt (before lot assignment)
- Assign Lot Numbers: Generate or manually assign lot numbers to the stock move lines
- Result: Quality check states remain unchanged, and lot numbers are automatically copied to quality checks
Example Scenario
Before this module:
- Receive 100 units of Product A
- Complete quality check → Status: "Pass"
- Assign lot number "LOT001"
- Quality check resets → Status: "Todo" ❌
- Must re-do quality check
With this module:
- Receive 100 units of Product A
- Complete quality check → Status: "Pass"
- Assign lot number "LOT001"
- Quality check remains → Status: "Pass" ✓
- Lot number automatically copied to quality check ✓
Technical Details
Extended Models
stock.move.line
- Monitors
lot_idandlot_namefield changes - Identifies related quality checks for receipt operations
- Triggers quality check lot number updates
quality.check
- Prevents state resets during lot assignment for receipt operations
- Accepts lot number updates from stock move lines
- Maintains standard behavior for non-receipt operations
Operation Type Detection
The module identifies receipt operations by checking:
picking_type_code == 'incoming'- Fallback to
picking_id.picking_type_id.code
Data Flow
Stock Move Line (Lot Assigned)
↓
Detect Change (write method)
↓
Find Related Quality Checks
↓
Check Operation Type (Receipt?)
↓ Yes
Copy Lot Number + Preserve State
↓
Update Quality Check
Security and Access Rights
This module extends existing Odoo models (stock.move.line and quality.check) without creating new models or data structures. Therefore:
- No new access rights are required
- Access rights are inherited from the base modules (
stockandquality_control) - Users with existing quality control and inventory permissions can use this module
- The
security/ir.model.access.csvfile is present but empty (only contains the header row)
The module respects all existing Odoo security rules and group permissions.
Configuration
No additional configuration is required. The module works automatically once installed.
Compatibility
- Odoo Version: 18.0
- Edition: Enterprise (requires quality_control module)
- Database: PostgreSQL
Limitations
- Only applies to receipt operations (incoming shipments)
- Requires the quality_control Enterprise module
- Does not modify historical quality check records
Support
For issues, questions, or feature requests, please contact your Odoo implementation partner or system administrator.
License
LGPL-3
Author
Your Company
Version History
1.0.0 (Initial Release)
- State preservation for quality checks during lot assignment
- Automatic lot number synchronization
- Receipt operation filtering
- Full integration with standard Odoo quality control workflows