Daily updates from Odoo
Wednesday, August 21, 2019
21 changes
New functionality added to Odoo
Businesses can now automatically send SMS updates when a stock picking or delivery is completed, alongside existing email confirmations. This reduces manual follow-up work and helps customers receive delivery information faster through their phone.
Original PR description
The user can already send a confirmation email when the Stock Picking is done. It'd be great to communicate the same information by SMS. In addition, the current mailing tool requires a manual action. The idea is to automate the process via a Setting instead. id=1972567 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Enhancements to existing features
This update adds a dedicated account type for off-balance sheet items in accounting. It helps businesses classify and report commitments or other non-balance-sheet entries more accurately, including localized chart data updates for Switzerland.
Original PR description
Task 1998268 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves the layout and wording of many Odoo settings screens so users can find and understand configuration options more easily. It mainly affects administration and setup areas across accounting, CRM, HR, authentication, delivery, and related apps, reducing friction for business users managing system preferences.
Original PR description
Task Link- https://www.odoo.com/web?#id=2028958&action=327&model=project.task&view_type=form&menu_id=4720 Pad Link- https://pad.odoo.com/p/r.df302dc359df68acedec5e1698062bbc -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Incoming emails now more accurately assign newly created or updated records to the matching Odoo user instead of defaulting to the mail gateway account. This improves accountability and makes message authorship and document ownership clearer for teams using email-based workflows.
Original PR description
Task: https://www.odoo.com/web?#id=1919267&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.ba7ad87ffaceb3d897aaefa65b88b1a2 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves how Point of Sale sessions handle cash differences by setting default accounts for cash journals and refining related configuration and closing screens. It helps businesses record cash overages or shortages more consistently and reduces unnecessary clutter in the POS workflow.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves several customer-facing business workflows by making sales orders, product forms, payment settings, and credit note creation clearer and easier to use. It also fixes pricing display issues in product matrices and removes confusing default refund text, reducing mistakes and support friction for everyday users.
Many-to-many relationships can now define what happens when a linked record is deleted, matching behavior already available for other relationship types. This improves data consistency and helps prevent accidental removal of records that should remain protected.
Original PR description
Each model of the relation can define `ondelete` for its `column2` foreign key. This way the behavior is similar to m2o where the target of the `ondelete` is the `comodel` foreign key. Some models were already defining `ondelete` 'restrict' on m2m fields and after review it appears the behavior introduced in this commit is the expected behavior for them. The 'restrict' from product.product has to be removed however because the rest of the code needs adaptation now that it is properly restricted. These changes will be done on a separate PR.
This update streamlines the layout and wording of settings pages across accounting, delivery, documents, HR, payroll, manufacturing, and related apps. It makes configuration options easier to scan and understand, helping users find the right setting faster with less confusion.
Original PR description
Task Link- https://www.odoo.com/web?#id=2028958&action=327&model=project.task&view_type=form&menu_id=4720 Pad Link- https://pad.odoo.com/p/r.df302dc359df68acedec5e1698062bbc
Financial reports now support a dedicated off-balance-sheet account type across the main accounting reports and several country-specific report templates. This helps businesses present commitments or obligations that do not appear directly on the balance sheet more clearly and consistently.
Original PR description
Task 1998268
This update streamlines accounting screens to make everyday work easier and more intuitive for users. It also includes related validation around inter-company invoicing to help maintain reliable accounting workflows.
Restaurant point-of-sale printer settings now prepare for additional printer types beyond IoT Box-connected devices. When a printer is not connected through the IoT Box, unnecessary device selection fields are hidden, making setup clearer for users.
Original PR description
Linked to odoo/odoo#35829 Other types of supported printers will be added (Epson ePOS), we hide the device_id field if we will not use a printer connected to the IoT Box. TaskID: 2033442
Resolved issues and error corrections
Creating a recurring calendar event now shows all scheduled occurrences instead of only the original event. This restores expected calendar visibility and helps users accurately manage repeated meetings or appointments.
Original PR description
Creating a recurrent event was no longer displaying all recurring events in the calendar, only the base event. This is following odoo/odoo@9920f20e4c7753bc17bea71dea3a90f7de687196
Swiss ISR subscription details are now stored on each company bank account instead of the bank record. This allows businesses with multiple PostFinance accounts or multiple companies to use the correct subscription number per account, and clarifies the wording shown to users.
Original PR description
# Description of the issue/feature this PR addresses: An Inpayment Slip with Reference (ISR) subscription number is provided by the bank or by Postfinance ISR When the ISR subscription comes from…
# Description of the issue/feature this PR addresses: An Inpayment Slip with Reference (ISR) subscription number is provided by the bank or by Postfinance ISR When the ISR subscription comes from Postfinance it is a direct subscription. ISR (bank) When the ISR subscription comes from a bank it is the bank subscription toward Postfinance. ## Having the subscription number on res.bank has 2 drawbacks: If you have multiple accounts at Postfinance or If you have multicompany and each company has a Postfinance account you won't be able to emit with different ISR subscriber numbers. ## This also renames the fields to be accurate on the meaning. An ISR reference is a Payment reference that will apear on the invoice. It is better to name it subscription number. # Current behavior before PR: Fields for ISR subscription are misplaced. As it doesn't take into account the possibility of having an account at Postfinance and having a unique ISR subscription number. # Desired behavior after PR is merged: Correct label and model for ISR subscription fields. This PR only targets the model change. I'll address other issues in separated PRs. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents module updates from incorrectly clearing selection field values that were added by other modules before the system is fully ready. It ensures removed options are only cleaned up in the right situations, protecting data during installs and updates while still supporting legitimate changes from Studio or module definitions.
Original PR description
When the registry is not ready, allow modifications of the selections The following use case must reset the values: - removing a selection on a custom field via studio - changing the static selection definition and updating the module The value must NOT be reset when: - trying to remove manually a base field - updating a module without all override being computed yet (i.e. install) Fully replacing the selections in an override should not happen Instead of relying on the context, check if the registry is ready before marking the selections as to remove. If a static selection is removed and the module updated, it will be removed correctly during the _process_end method as the selections will not be present in pool.loaded_xmlids Before this commit, updating a module A was doing a SET NULL for selection values added by a module B via a selection_add
This update fixes customer-facing rating behavior so reviews keep the correct score when created or edited from the website. It also reorganizes portal chatter and rating files, removing unused data and templates to make future maintenance easier without changing business workflows.
Original PR description
PURPOSE Fix frontend rating and clean a bit module organization. SPECIFICATIONS Fix rating in frontend (website_slides, website_sale): rating is halved at each update and new entries have no rating. Also reorganize portal chatter overrides * rename files to ease code reading and discovering; * move assets in their own file to better understand modules; * move rating widget in its own file; LINKS Task 2057301 PR #35870
When an employee has multiple consecutive leave periods, including different leave types and intervening holidays, the out-of-office message now stays active until the true final day away. This avoids showing colleagues an incorrect return date and improves absence communication.
Original PR description
Description of the issue/feature this PR addresses: - Related task: https://www.odoo.com/web?#id=2002525&model=project.task&view_type=form&menu_id=4720
This change updates how JavaScript files are compressed so website code using modern text formatting is handled correctly. It prevents valid website scripts from being broken during optimization, reducing the risk of display or behavior issues for users.
Original PR description
This version adds full support of string templates. Before this version, rjsmin may produce wrong code with string templates. For example: ```js const url = `https://odoo.com`; console.log(url); ``` was minified to: ```js const url=`https:console.log(url); ``` Because `//` was wrongly handled as a comment inside the string template.
This fixes an issue where invoices created from the Point of Sale could fail to download because the invoice request did not include the correct record identifiers. After the change, users can reliably download POS invoices as expected.
Original PR description
When you are creating an invoice from the POS, the report route is called to download the invoice, since changes made in rev: 118190f3b3ecde11d7bcb46301af0e016d6ea19f The values for ids where empty, so we give them now the correct id list. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Sales order lines now only use the make-to-order route when that route is actually configured on the product. This prevents incorrect fulfillment routes caused by route priority conflicts, helping avoid stock and delivery planning mistakes.
Original PR description
[FIX] sale_stock: wrong route computed on so lines _compute_is_mto was based on the sequence of the routes, as most of those sequences were hardcoded, some had the same values, resulting in wrong calculations. Furthermore, the method was setting the so lines as mto if the sequence of the MTO route had the priority on the other ones, even if the mto route wasn't set on the product. This simply ensure to check the mto route is set on the product, sequences should be set manually to prevent any sequence conflict. TaskID: 2053703
This fix makes user profile pictures visible again in the Odoo mobile app after a backend image field was renamed. It preserves compatibility so the same mobile app continues to work across different Odoo versions without extra user action.
Original PR description
Due to the changes introduced in odoo/odoo@58a2ffa the image_medium field was renamed into image_128. But in the mobile native app we get the image of the user using this URL "/web/image?model=res.users&field=image_medium&id=". We can't change this URL because there is one mobile app for all versions of Odoo. For now our app doesn't know which version of Odoo is used. We want to avoid to increase code complexity. It's why we preferred to add this backward compatibility fix.
Code cleanup and technical improvements
The cash flow report was reorganized to make it easier to maintain and much faster to use. For large payment volumes, filtering a one-year report now uses far fewer queries and can complete in seconds instead of many minutes, improving reporting productivity.
Original PR description
- Improve the readability of the report. - Speed up the report. - Use a linear number of queries. | Action | Data size | Before | After | ------------- | ------------- |----- | ----- | | filter 1 year | 98000 payments | 346 queries | 21 queries | | || 889 s | 8s | --task: 1888408