Daily updates from Odoo
Friday, November 7, 2025
12 changes · master
New functionality added to Odoo
Adds a new Sri Lanka reporting module with standard balance sheet and profit and loss reports. It also prepares VAT and withholding tax return data, helping businesses in Sri Lanka handle local financial reporting more easily.
Original PR description
Adds basic reporting module for Sri Lanka, including: - Balance sheet - Profit & loss Also adds the account_return_data for VAT and WHT account_reports task-4352802 CE-https://github.com/odoo/odoo/pull/224917 Forward-Port-Of: odoo/enterprise#93586
Enhancements to existing features
Argentinian electronic invoicing now supports issuing credit and debit notes without linking them to an original invoice. Users can define the related period dates so these standalone notes can be submitted correctly to AFIP for CAE authorization.
Original PR description
Purpose: Users will be able to issue credit/debit notes separately without needing an original invoice or document by setting the start date and end date of the associated period. Issuing standalone credit/debit note is a common practice related to periods, such as annual bonuses, that covers a span of time. To support the purpose, two new date fields will be added: - l10n_ar_afip_asoc_period_start - l10n_ar_afip_asoc_period_end These fields that represent the associated period must be sent in the AFIP XML request for the CAE in order to issue standalone credit/debit notes. This is solely intended for the 'Electronic Invoice - Web Service(FE)". task-5221539
This update improves VoIP support for mobile and web app users, especially around incoming calls and mute controls. It adds groundwork for faster call notifications and external telephony provider integration, helping users respond to calls more reliably on mobile devices.
The journal audit report has been refined to make tax and journal details easier to read and navigate. The update improves table sizing, hover behavior, and adds review status visibility for journal entries, helping accounting teams audit records more efficiently.
Original PR description
task-5207451
UAE payroll payslips now include an issue system for Wage Protection System processing. This helps payroll teams identify and manage potential payslip problems before or during WPS handling, improving compliance and operational follow-up.
Original PR description
-Issue system in payslips has been introduced to UAE WPS.
Resolved issues and error corrections
This fixes manufacturing barcode screens so lot and serial numbers are only shown when the Manufacturing setting allows it, or when those items have already been picked or scanned. It reduces clutter for operators and lowers the risk of selecting or scanning the wrong component.
Original PR description
Issue: ------------------------------------- Lots/serial numbers were always displayed in the barcode module during Manufacturing Order operations, regardless of whether the Show Reserved Lots/SNs…
Issue: ------------------------------------- Lots/serial numbers were always displayed in the barcode module during Manufacturing Order operations, regardless of whether the Show Reserved Lots/SNs option was enabled in the Manufacturing settings. Steps to Produce: ------------------------------------- - In Manufacturing settings, disable the Show Reserved Lots/SNs option. - Create a Manufacturing Order and reserve component lots. - Go to the barcode app - Lots/SNs appear even though the Show Reserved Lots/SNs option is disabled. After this Commit: ------------------------------------- A correct value is now passed to the condition controlling the lot and serial number visibility. Lots/SNs are shown only when Show Reserved Lots/SNs is enabled in Manufacturing settings, or when they have been picked or scanned, helping users focus only on relevant information and reducing the chance of picking or scanning mistakes. Task Id: [3908929](https://www.odoo.com/odoo/project/966/tasks/3908929) Forward-Port-Of: odoo/enterprise#62853
Completed manufacturing orders can no longer be canceled from the list view. Instead, users receive a clear error, preventing the related stock transfer from being canceled by mistake and keeping production records accurate.
Original PR description
Steps to reproduce:
- Enable multi-step routes.
- Go to Warehouse:
- Manufacturing Operations - Enable 3 steps.
- Create a storable product P1.
- Create a MO to produce one unit of P1.
- Validate the MO.
- Go to the MO list view.
- Select the MO.
- Try to cancel it.
Issue:
The MO is not canceled, but the picking from production to stock is canceled instead.
A done MO should not be cancelable, a UserError should be raised.
opw-5216220
Forward-Port-Of: odoo/enterprise#98954
Forward-Port-Of: odoo/enterprise#98758This fixes how Swiss payroll handles overtime as one-time payments in ELM transmissions. It helps ensure overtime-related payroll data is reported correctly, reducing payroll reporting errors and follow-up corrections.
Original PR description
Forward-Port-Of: odoo/enterprise#98730 Forward-Port-Of: odoo/enterprise#98670
Appointments no longer cap resource bookings at a fixed limit of 12. Businesses can now set a global maximum allowed capacity, so higher-capacity resources can be booked correctly on the website and related reservation flows.
Original PR description
**Steps to reproduce:** - Install Appointment and Website apps - Create a resource with capacity above 12 - Create an appointment_type on `Resources` - Check `Manage Capacities` - Set its assignment method to `Select Time then auto-assign` - Go to the website and select the new resource - The maximum capacity you can book in the drop-down list is stuck to 12 **Issue:** Arbitrary maximum value (12) seemed to be used in the appointment website and controllers, for the resource capacity which can be booked by someone. **Fix:** Added `resource_max_capacity_allowed` setting to configure the maximum allowed value globally. related: https://github.com/odoo/enterprise/commit/2e855b910173b56e8501d0ebe9ee6f83ac5845bc related: https://github.com/odoo/enterprise/commit/db36b59c80b45c6df1da3ac9dc876e79121e5e5e opw-5059177 Forward-Port-Of: odoo/enterprise#98956 Forward-Port-Of: odoo/enterprise#94935
Fixed an issue where repeated navigation in the IoT device screens could leave old event requests running in the browser. This prevents browser connection limits from being reached, keeping IoT device views responsive during normal use.
Original PR description
Steps to reproduce: 1. Pair an IoT box 2. In the IoT form view, click on any device, then click back to return to the IoT form view. 3. Repeat this step multiple times. If you have devtools open, you can see a `/event` fetch request every time you open the device form. Expected behaviour: - When a new request is made, the previous request is cancelled. Actual behaviour: - The previous requests remain active, and eventually no further requests are possible due to browser limits. This behaviour was broken when the longpolling was changed to use the `fetch` method instead of Odoo's `rpc` method. This commit restores the behaviour by using an `AbortController` instance which is aborted when `stopPolling` is called. Manual Forward Port of https://github.com/odoo/enterprise/pull/98985
Folder selection dialogs now show only the expected list options, without document action icons such as open or rename. This prevents confusing choices and avoids crashes when users select folders outside the main Documents app.
Original PR description
Action icons (like 'Open Folder', 'Rename', etc.) were incorrectly appearing in list views outside of the main Documents app, for example, when selecting a folder in a settings menu or a popup dialog. This was confusing and caused a crash when an icon was clicked, as the required functionality was not loaded in those contexts. This fix removes the action icons from these secondary views. To keep the fix stable-proof, the template of the widget was modified, in 19.1 we will fix this in cleaner way. The icons are now correctly restricted to the main Documents list view, where they function as intended. Other views (like folder pickers) now behave as standard selection lists without errors. Task-5166843 Forward-Port-Of: odoo/enterprise#97861
Opening the Timesheets and Planning Analysis view could fail because cost amounts were treated as monetary values without an associated currency. The fix ensures the analysis can load correctly, so project users can access planning and timesheet cost insights without interruption.
Original PR description
### Issue: A traceback occurs when opening Timesheets and Planning Analysis. #### Steps to reproduce: 1- Create a database with `project_timesheet_forecast_sale` installed. 2- Create a project and open the three-dot menu. 3- Click on `Timesheets and Planning Analysis`. ### Cause: The error occurs because currency_id field is not defined, as a result: https://github.com/odoo/odoo/blob/dff0a35413c0bcb106d0ab1086465f9200e25c5d/addons/web/static/src/views/pivot/pivot_renderer.js#L108-L116 currencyIds will cause a traceback as it is undefined. This is due to `planned_costs` and `effective_costs` fields being float but declared as `widget="monetary"` in the pivot view. Since there is no `currency_field`, the pivot renderer fails to resolve currency_id. opw-5176269 Forward-Port-Of: odoo/enterprise#97768