Wednesday, July 1, 2026
11 changes · saas-19.1
Enhancements to existing features
This update adds missing translations across Point of Sale screens, alerts, dialogs, and error messages. It helps users see clearer messages in their language, improving usability and reducing confusion during checkout and payment-related workflows.
Original PR description
pos* = All POS module In this commit: -------------------------------- Add missing translations for user-visible strings across POS modules. - Translated dialogs, errors, alerts, and other UI-visible messages - Updated Python-side UserError, ValidationError, and warning messages Task-5406947 Related PR-https://github.com/odoo/enterprise/pull/102094 Forward-Port-Of: odoo/odoo#272392 Forward-Port-Of: odoo/odoo#239972
This update fills in missing translations for user-facing messages across the Point of Sale apps, including dialogs, alerts, warnings, and error messages. It helps staff see clearer information in their language and makes the POS experience more consistent across supported locales.
Original PR description
pos* = All POS module In this commit: -------------------------------- Add missing translations for user-visible strings across POS modules. - Translated dialogs, errors, alerts, and other UI-visible messages - Updated Python-side UserError, ValidationError, and warning messages Task-5406947 Related PR-https://github.com/odoo/odoo/pull/239972 Forward-Port-Of: odoo/enterprise#121908 Forward-Port-Of: odoo/enterprise#102094
This update makes the POS fiscal integration send customer address information only when it is actually available. It avoids using placeholder values like “N/A”, which helps keep submitted data cleaner and reduces the risk of incorrect information being sent to Fiskaly.
Original PR description
In this commit: ------------------- - Buyer address fields are optional and should only be sent to Fiskaly when they are actually available. - Avoid sending placeholder values like "N/A". If the data is not present, the fields should simply be omitted from the request. task: 6113133 Forward-Port-Of: odoo/enterprise#122188 Forward-Port-Of: odoo/enterprise#113621
Resolved issues and error corrections
Point of Sale internal notes now preserve the original colors of tagged items instead of forcing them into a single default background. This makes colored tags easier to recognize and improves readability, especially in light mode.
Original PR description
Before this commit: ===================== The internal note styling applied a custom background color to all tags, overriding the colors provided by TagsList (o_tag_color_*). As a result, colored tags were displayed with the default background in light mode. After this commit: ====================== The custom background color is applied only to default tags, while tags with an explicit color keep their original TagsList styling. Additionally, demo internal notes were updated with color values to showcase the colored tag behavior. Task:6294250 Forward-Port-Of: odoo/odoo#269746
This update ensures Romania-specific stock batch behavior is only applied when it should be. It prevents test and system errors caused by those local rules being enabled unconditionally, improving stability without changing normal business flows.
Original PR description
The Romanian specifics were applied without condition which caused runbot errors. Note that this was revealed later on (saas-19.3) after a change in the generic stock test setup. runbot-241098 Forward-Port-Of: odoo/odoo#271985
The Colombian POS test now accepts any valid document number starting with SETF instead of expecting one exact number. This prevents occasional test failures when the same database is reused and the document counter increases.
Original PR description
**Why the fix:** This step failed from time to time as we did some batch testing on the runbot with the same database, and because of this, the Número de Documento increased, making it SETF990000002 or more. This error existed before 68da209 but by fixing the refund flow in said commit, this error has been appearing way more frequently. As this has already happened a few times in 18.2, it is still the targeted version for this fix. We now use a regex to make sure that we have **Número de Documento: SETF** followed by some numbers, but we do not specify that it should be SETF990000001 anymore. runbot-241997 Forward-Port-Of: odoo/enterprise#121211
This update corrects a failing test in the Mexico electronic invoicing flow when the accounting app is installed. It ensures the test accepts the payment status used in that setup, preventing unnecessary runbot failures and keeping automated checks reliable.
Original PR description
If accountant is installed, payment state of unreconciled payment switch from 'paid' to 'in_payment'. Not having accountant break the test. runbot-939445 Forward-Port-Of: odoo/enterprise#121113
This update makes an automated website test self-sufficient by turning on the required free sign-up setting during the test itself. It removes the need for manual configuration before running the test, helping ensure more reliable test results.
Original PR description
Steps to reproduce: 1. Install any website related module (e.g. `website`, `website_event`). 2. Keep the default configuration and do not manually enable 'Free sign up' in setting. 3. Run `test_auth_forms_warning`. Before this commit: The test did not programmatically enable the 'Free sign up' setting. To make the test pass, a developer had to manually navigate to the setting, As a result, it failed on a unless the setting was manually enabled beforehand. After this commit: This commit makes the test self-contained by enabling the required website configuration during its execution, allowing it to run successfully without any manual setup. runbot-233948 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When the point of sale cannot create a database transaction, it will now show the real underlying error instead of a generic message. This makes it easier for support teams and developers to understand what went wrong and resolve issues faster.
Original PR description
Before this commit the error "Transaction could not be created" was thrown when the transaction could not be created. This commit changes the behavior to throw the actual error that caused the transaction creation to fail, providing more context for debugging.
This change ensures an automated website signup test uses the correct public-facing website mode, so it no longer fails in certain single-app setups. It helps keep test results reliable and prevents false errors during development and validation.
Original PR description
Before this commit this test didn't work properly as the web/signup route returned an error 404 in certain single app tests such as hr_referral. This happens because default setup of websites sets the website to b2b, disabling the web/signup route https://github.com/odoo-dev/odoo/blob/dd1e9c139a30616eccef3cb0d8e5d4e69d001630/addons/auth_signup/controllers/main.py#L43-L44 Since this test is assuming b2c, we can just make the website b2c. Reproduction steps: 1. New db 2. Install hr_referral (./odoo-bin -d oes_referral -i hr_referral -p 8569) 3. Login as admin 4. Visit /web/signup 5. See 404 page not found You could also just run the test (./odoo-bin -d oes_signup -i hr_referral --test-tags /website:TestAuthFormsWarning.test_auth_forms_warning --stop-after-init) **saas-19.1+** Runbot [ticket](https://www.odoo.com/odoo/project/27948/tasks/6324186)
When a business card is scanned, the city field is now imported correctly along with the other contact details. This reduces manual cleanup and helps keep newly created contact records more complete and accurate.
Original PR description
Previously, when user scans any business card, every information was fetched except for the city name. After this commit the city field will be properly fetched. task-6332914 Forward-Port-Of: odoo/enterprise#121766