Daily updates from Odoo
Saturday, May 23, 2026
6 changes · saas-19.2
Resolved issues and error corrections
This update fixes an issue where fiscal positions weren't correctly created for US companies due to an outdated configuration. Now, fiscal positions are automatically generated based on the correct localization (US or Canada), ensuring accurate accounting and tax reporting. This simplifies the system and avoids missing fiscal positions.
Original PR description
The fiscal position was being created specifically for countries using the Generic CoA. This stems from before the US had its own CoA [1]. Because of this, US companies no longer had an Avatax fiscal position created for them. Now that the US has its own CoA, we move to a simpler `@template()` approach and take the opportunity to add Canada as well. [1] odoo/odoo#223745 task-6228639 Forward-Port-Of: odoo/enterprise#117966
This update fixes an issue where embedded actions didn't always display the correct, translated names. By linking embedded action names to their server action counterparts, the system now automatically updates translations, ensuring consistent and accurate display across all languages. This improves the user experience and avoids confusion.
Original PR description
When an embedded action is created from a server action, its name is just stored as is. When using these actions e.g. in the Documents top bar, there is already a "hack" to copy the name of the…
When an embedded action is created from a server action, its name is just stored as is. When using these actions e.g. in the Documents top bar, there is already a "hack" to copy the name of the server action to the embedded action in each active language. This has a few issues: - When a language is activated after the embedded action creation, the name of the server action is not copied to the embedded action, resulting in an untranslated name. - When the name of the server action is changed, the name of the embedded action is not updated, resulting in an outdated and possibly untranslated name. The workaround is to disable/enable the action now, but it's not very user-friendly and can be easily forgotten. To fix this, we can simply delegate the display name of the embedded action to the linked server action. This way, the name of the embedded action will always be up to date and correctly translated. Related: https://github.com/odoo/enterprise/pull/116369 Forward-Port-Of: odoo/odoo#265342 Forward-Port-Of: odoo/odoo#262981
This update removes a redundant step in creating embedded actions within Odoo. Previously, a separate translation was required, but now that embedded actions use the linked action's display name, this manual translation is no longer necessary. This simplifies the process and ensures consistent translations.
Original PR description
Now that `ir.embedded.actions` delegates its display name to the linked action, the manual translation copy on embedded action creation is no longer needed. Related: https://github.com/odoo/odoo/pull/262981 Forward-Port-Of: odoo/enterprise#117772 Forward-Port-Of: odoo/enterprise#116369
This update fixes an issue where tip payments, even with a 0% tip, weren't always being fully processed by Stripe. The change ensures that a capture payment is always initiated, regardless of the tip amount, preventing pending payments from being automatically cancelled. This improves payment reliability for restaurant customers.
Original PR description
Currently, the `pos_restaurant` module only calls capture payment within `validateTip` if there is an amount to tip. Since Stripe requires a capture for all payments and we defer that to later if it can be adjusted, this means that if customers have tip after payment enabled and enter a tip of 0%, it will never be captured, stay pending, and then be automatically cancelled later down the line. This commit catches that by hooking into the `validateTip` method and calling capture anyway on 0% tips. opw-6082596 Forward-Port-Of: odoo/odoo#265507 Forward-Port-Of: odoo/odoo#261129
A recent update to Odoo's document processing caused errors when downloading signed documents through the Sign app. This fix ensures that compression is applied correctly after a document is merged, resolving compatibility issues with newer versions of the pypdf library. This prevents download failures and improves the reliability of the Sign app.
Original PR description
This [related PR] introduced a compression pass after calls to mergePage(). However in newer versions of pypdf (>=3.5.2), compress_content_streams() can only be called on pages of PdfWriter. An error would be raised when called on pages of a PdfReader. Steps to reproduce ----- 1. Run Odoo with pypdf>=3.5.2 2. Sign and download a document in the Sign app 3. Traceback occurs Fix ---- This commit moves the compression to the writer object, after the merged page has been added. Related pr: https://github.com/odoo/odoo/pull/261879 runbot-937761 Forward-Port-Of: odoo/odoo#266192 Forward-Port-Of: odoo/odoo#265304
This update resolves an issue where downloading signed documents through the Sign app was failing due to a compatibility problem with the pypdf library. The fix moves the document compression step to a later stage, ensuring it works correctly with the latest version of pypdf. This prevents errors and ensures smooth document downloads.
Original PR description
This [related PR] introduced a compression pass after calls to mergePage(). However in newer versions of pypdf (>=3.5.2), compress_content_streams() can only be called on pages of PdfWriter. An error would be raised when called on pages of a PdfReader. Steps to reproduce ----- 1. Run Odoo with pypdf>=3.5.2 2. Sign and download a document in the Sign app 3. Traceback occurs Fix ---- This commit moves the compression to the writer object, after the merged page has been added. Related pr: https://github.com/odoo/odoo/pull/261879 runbot-937761 Forward-Port-Of: odoo/enterprise#118257 Forward-Port-Of: odoo/enterprise#117756