Thursday, July 3, 2025
5 changes · saas-18.3
Enhancements to existing features
This update refreshes Belgian accounting setup data, including chart of accounts details and disallowed expense rules, so companies get more accurate defaults. It also adds default asset model handling for Belgium, reducing manual setup when accounts should create assets automatically.
Original PR description
1) Misc data modifications and corrections for l10n_be. * Updated the CoA (accounts, descriptions, translations) * Fixed and updated disallowed_expenses 2) Added default asset models module for l10n_be See task-4791757 for more details. Related :https://github.com/odoo/odoo/pull/210755
Uruguayan electronic invoices now send a clearer mandatory item name and place only extra description details in the optional description field. This prevents duplicated product names on generated PDF reports and keeps invoice data aligned with DGI field limits.
Original PR description
This PR aims to improve the way we create NomItem and DscItem lines on the XML files we send to DGI in order to generate the PDF report. We have two fields to inform to DGI in an electronic invoice,…
This PR aims to improve the way we create NomItem and DscItem lines on the XML files we send to DGI in order to generate the PDF report. We have two fields to inform to DGI in an electronic invoice, NomItem which is mandatory an has a maximum of 80 characters to send, and DscItem that is optional an has a limit of 1000 chars. So we ensure NomItem is always sent, and the description will be filled like this: First, if the product name is longer than 80 chars, DscItem field will contain the characters that didn't fit in the NomItem field (characters from the 80th) Then it will contain the description of the product and the addenda content if it exists. Plus, I refactor the method _l10n_uy_edi_cfe_D_global_discount so it is also aligned with what I mentioned before. Another reason for this improvement is that, as the description of a product contains the product name at the beginning, we faced some issues when a user added a description on the fly in the line of the product, and then confirmed and printed the report. In this case, the name of the product was duplicated in the report. With this change, the description will only contain the the part of the product name that exceeds the 80th character. Example:  Forward-Port-Of: odoo/enterprise#80993
This update adds several state-specific payroll tax rates used in U.S. payroll calculations, including Alabama, Colorado, and Washington. It helps payroll teams calculate employer-related contributions more accurately and stay aligned with state requirements.
Original PR description
Added salary rules for state: - US: Alabama ESA rate - US: Colorado Support Surcharge rate - US: Colorado Solvency Surcharge rate - US: Washington EAF Rate task-4814709 Forward-Port-Of: odoo/enterprise#87708
Resolved issues and error corrections
Fixes an issue where GSTR-2B JSON attachments were not properly connected to newly created vendor bills, causing users to see a 404 error when opening them. Bookkeepers can now access these attachments directly from the created bills during GSTR-2B matching.
Original PR description
**Before this PR:** - The GSTR-2B JSON was attached to the message but not linked to the newly created bills (`res_id` was not set). - As a result, when a Bookkeeper user created a new GSTR-2B bill and tried to open the attachment, it raised a 404 error: `"The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again."` **After this PR:** - The issue is resolved. - During GSTR-2B matching, unattached message attachments are now properly linked to the newly created bills by updating their res_model and res_id fields. Task ID : 4831758 Forward-Port-Of: odoo/enterprise#89250 Forward-Port-Of: odoo/enterprise#86785
Bookkeeper users can now complete customer payment follow-ups even when a customer is missing an email or address. This prevents access errors during automatic follow-ups and manual reminder workflows, helping accounting teams keep overdue invoice follow-up moving.
Original PR description
Before this commit, a Bookkeeper user wasn't able to create a followup for a user with missing information (email or address) That error append using the manual_reminder and the Process Automatic…
Before this commit, a Bookkeeper user wasn't able to create a followup for a user with missing information (email or address) That error append using the manual_reminder and the Process Automatic Follow-ups For the Automatic Follow-ups action, the user wasn't able to access the 'missing information view' For the Followup Button (manual_reminder), that's in the follow-up report view, the user wasn't able to access either the 'manual_reminder view' or the 'missing information view' ## Steps in runbot 17.0: - Create an invoice with a past due date and a new customer (leave email empty) - Go in Accounting > Customers > Follow-up Reports - Select the In need of action report for your new customer - In Actions, click on Process Automatic Follow-ups - An AccessError should be displayed ## To test the manual reminder: - Create the invoice as before and go to Follow-up Reports - Open the report linked to your new customer - Click on the Follow up Button - An AccessError should be displayed opw-4848745 Forward-Port-Of: odoo/enterprise#88168