Monday, November 24, 2025
8 changes · 19.0
Enhancements to existing features
This update corrects how values are calculated in the Coretax e-Faktur XML so they are based on tax group rules instead of invoice type in certain cases. It also adds a safeguard to prevent invalid tax combinations when downloading the XML, helping avoid incorrect reports and making the setup more reliable.
Original PR description
Update Coretax XML file to compute the values for nodes in the correct way. Currently the computation is based on the invoice type for some of the nodes + STLG is based on wrong tax group. This leads to wrong computation of values + inflexibility. - Update the VAT calculation inside the E-faktur XML based on tax group - Add new tax group and modify existing tax - Add restriction when downloading E-faktur Coretax XML Task [#4948267](https://www.odoo.com/odoo/project.task/4948267) Forward-Port-Of: odoo/odoo#236821 Forward-Port-Of: odoo/odoo#233347
When a mass email is also logged in the chatter, its attachments are now linked directly to the related record. This makes them easier for users to find later in the record’s attachments list, improving day-to-day visibility and follow-up.
Original PR description
In [1] the argument to link attachments to messages was that it would automatically clean up the attachments when the message is deleted (typically right after sending). As it originally was kept forever, as we wanted to guarantee that it still exists by the time the email is sent. However in modern ODOO mass emails can, and often are, logged in the chatter. In that case it is relevant to link the attachments to the record directly so that users can see the attachments in the attachments menu of the chatter. [1]: https://github.com/odoo/odoo/commit/cf214ed7244207f1fd5d377ab69d85a6441ff665 task-4829625
The customer portal now reads subscription billing periods dynamically instead of relying on a fixed list. This prevents errors for subscriptions that use custom periods, such as daily billing, and makes future customizations work without extra code changes.
Original PR description
Problem -------- In v18.0, the day billing period was removed from the sale.subscription.plan model. For our use case, we require daily subscriptions, so we added this value back to the…
Problem -------- In v18.0, the day billing period was removed from the sale.subscription.plan model. For our use case, we require daily subscriptions, so we added this value back to the billing_period_unit selection field via inheritance. However, this customization causes an error (a KeyError) when accessing the customer portal at /my/subscriptions/<int:order_id>. This is because the controller logic relies on a hardcoded list of periods and does not account for the new custom "day" value. - Screenshot Order with plan Daily: <img width="1246" height="483" alt="image" src="https://github.com/user-attachments/assets/5dc5ca0d-a2f2-434d-8183-15a0424d9f34" /> - Screenshot when trying to get in order on the website: <img width="1250" height="776" alt="image" src="https://github.com/user-attachments/assets/5b10504e-71e2-4c13-8611-39e8a41e05d1" /> Proposed Solution -------- This PR improves the subscription portal by dynamically retrieving billing periods instead of using a hardcoded list. The portal now reads the available options directly from the billing_period_unit field's selection (i.e., self.env['sale.subscription.plan']._fields['billing_period_unit'].selection). This improves maintainability, as future changes to the field's selection will be automatically reflected without requiring code modifications. This makes the portal robust and automatically compatible with any custom periods added via inheritance. - <img width="1331" height="752" alt="image" src="https://github.com/user-attachments/assets/4f7be6c3-d96b-4525-8e23-6e1323adabde" /> Forward-Port-Of: odoo/enterprise#100084 Forward-Port-Of: odoo/enterprise#99207
This change adds triangular tax handling to Finnish tax reports so they can be used correctly in the EC Sales List report. It improves the accuracy of VAT-related reporting for businesses operating in Finland and across EU sales scenarios.
Original PR description
The aim of this commit is adding the triangular taxes into the tax report to use it in EC Sales List report. task-5126664 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#236427 Forward-Port-Of: odoo/odoo#229269
This change improves how GSTR-2B processing handles certain return-period errors and prevents background jobs from retrying records that are already in an invalid error state. As a result, the system avoids unnecessary processing and reduces noise from known issues.
Original PR description
Before this commit: - `RET2B1017` error code was not handled. - Cron methods `_cron_get_gstr2b_data` and `_cron_gstr2b_match_data` processed all records with status: - `"waiting_reception"` - `"being_processed"` - Records with blocking level `"error"` were still being processed by cron. After this commit: - Added handling for `RET2B1017` and mapped it to `"warning"` level. - Updated cron domain filters to exclude records where `gstr2b_blocking_level = "error"`. - Cron jobs now skip invalid/error-state return periods, preventing unnecessary processing. Forward-Port-Of: odoo/enterprise#100150 Forward-Port-Of: odoo/enterprise#99378
We updated how the signature block is registered so it can be used reliably in the Email Builder and Mass Mailing tools. This fixes an issue where the signature option could stop appearing after recent editor changes, helping users keep their content consistent across templates.
Original PR description
### Description of the issue/feature this PR addresses: - The Signature Plugin was defined in the sign module by extending the html_editor plugin under the basic_block category. - The mass_mailing builder removed config.plugins, preventing the Signature Plugin from working. ### Desired behavior after PR is merged: - The category is now defined in html_editor and renamed to modules so other modules can also use it. - Mass Mailing: - Signature Plugin is registered in `mass_mailing-plugins` for mass_mailing. - For simple editor, Signature Plugin is registered in `basic-editor-plugins`. **community: https://github.com/odoo/odoo/pull/190616** task-4224624
This update makes Spanish POS receipts use a consistent, consecutive number when they are not turned into invoices. It helps avoid gaps or resets in the displayed ticket number, so the receipt numbering better matches official requirements and is more reliable across devices.
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 adds a Reprocess action so AI source indexes can be refreshed when linked web pages, documents, or knowledge articles change. It also avoids duplicate processing of the same content, which helps keep results accurate while reducing unnecessary system work.
Original PR description
## Summary - Add 'Reprocess' button to enable recomputation of source indexes when URL content, document's documents, or knowledge articles are updated. - When triggered, the system checks for content changes and updates the index for all sources sharing the same attachment across agents. Prevents redundant reprocessing by tracking already processed attachment checksums within each batch operation. task-id-5153627