Markdown
Environment
- Odoo Version: 19.0 Community Edition
- Migration Tool: OpenUpgrade 19.0
- Deployment: Docker (based on official
odoo:19.0 image)
Current Behavior
After successfully migrating a database from v18.0 to v19.0 using OpenUpgrade, opening a Point of Sale session works correctly. However, clicking on any product to add it to the cart triggers a fatal Owl crash, resulting in a white screen.
Frontend Traceback (?debug=assets):
OwlError: An error occured in the owl lifecycle (see this Error's "cause" property)
Caused by: TypeError: Cannot read properties of undefined (reading 'digits')
at Object.formatProductQty (/point_of_sale/static/src/app/services/contextual_utils_service.js)
at get productQty (/point_of_sale/static/src/app/components/product_card/product_card.js)
Expected Behavior
The product should be added to the cart, and the ProductCard component should successfully render the badge with the quantity (e.g., "1"), reading the .digits property from the PoS initialized reactive models without crashing.
Root Cause Analysis
In Odoo 19.0, the technical name for the product unit decimal precision was renamed from 'Product Unit of Measure' to 'Product Unit'.
The frontend V19 code (contextual_utils_service.js) strictly looks for the new 'Product Unit' key in the loaded decimal.precision model.
Since the decimal.precision records are initialized in XML with noupdate="1", the standard Odoo module upgrade process does not update the existing v18 record. Currently, OpenUpgrade 19.0 is missing a data migration script to explicitly rename this record via SQL. Consequently, the frontend receives the old key, returns undefined, and crashes when attempting to read the digits property.
Steps to Reproduce
Migrate an Odoo 18.0 database with PoS data to 19.0 using OpenUpgrade.
Log into the migrated 19.0 database.
Open a PoS session.
Click on any product.
The UI crashes immediately.
Proposed Solution / Workaround
A post-migration script needs to be added (likely in the product or base module) to manually enforce the rename on the database level:
SQL
UPDATE decimal_precision
SET name = 'Product Unit'
WHERE name = 'Product Unit of Measure';
Running this query manually instantly stabilizes the PoS UI.
Markdown
Environment
odoo:19.0image)Current Behavior
After successfully migrating a database from v18.0 to v19.0 using OpenUpgrade, opening a Point of Sale session works correctly. However, clicking on any product to add it to the cart triggers a fatal Owl crash, resulting in a white screen.
Frontend Traceback (
?debug=assets):