Daily updates from Odoo
Monday, November 3, 2025
6 changes · master
Resolved issues and error corrections
Lithuanian payslips no longer apply the employee pension contribution twice when the pension accumulation option is enabled. This helps ensure payroll deductions match expected contribution rules and reduces the risk of overcharging employees.
Original PR description
**Issue**
When generating a payslip for an employee with the `l10n_lt_pension` setting enabled on the contract ("Participate to pension accumulation system"):
- the SSC is raised from 19.5% to 22.5%
- a 3% pension contribution ("Pension Scheme") is added This effectively doubles the expected contribution.
Various sources (e.g. https://taxsummaries.pwc.com/lithuania/individual/other-taxes) seem to show this is not correct.
opw-5067664
Forward-Port-Of: odoo/enterprise#98276
Forward-Port-Of: odoo/enterprise#95880This change restores the Documents integration for Recruitment because the action to create job applicants from documents is still needed. It prevents users from losing an existing recruitment workflow while allowing future cleanup to be handled separately.
Original PR description
As create applicant action is still needed. Further development could be done to clean the module in a more proper way later if needed. This reverts commit dd38c92a337661b30731ed32f4ae0c0e146a7e8c. Task-5090259
Barcode scans are now ignored when a batch transfer is still being created or is not in a state where scanning should apply. This prevents confusing errors and incorrect messages for warehouse users who open draft, cancelled, or completed batches in the barcode app.
Original PR description
### Issue: Scans processed during picking batch creation in the barcode app are interpreted as scans related to the BarcodePickingBatchModel edition (that is product, lot, package,... scans) which…
### Issue: Scans processed during picking batch creation in the barcode app are interpreted as scans related to the BarcodePickingBatchModel edition (that is product, lot, package,... scans) which does not make sense and raises multiple errors. ### Steps to reproduce: - In the settings enable "Batch Transfers" - Inventory/Operations/Transfers/Batch Transfers - Create a new batch and do not confirm it - Go to the barcode app > Batch Transfers > Clear filters - Select your draft batch - Scan anything #### > Traceback #### Other issues: The same flow with a cancelled batch triggers the same tracebacks and, with a done batch triggers the message: "This picking is already done". ### Cause of the issue: Since `this.state.view === "barcodeLines"`, scans are processed as if we were processing an existing `BarcodePickingBatchModel` with lines: https://github.com/odoo/enterprise/blob/ce7460b27028d4133c4689afd2e8f303268494a0/stock_barcode/static/src/components/main.js#L204-L209 In particular, if the scan corresponds to a product, and error will be raised because the scan can not process a `createNewLine` for the scanned product in the current view and if the scan does not correspond to anything valid, it will raise an error because `this.picking` is undefined and `this.picking.use_existing_lots` raises an error: https://github.com/odoo/enterprise/blob/ce7460b27028d4133c4689afd2e8f303268494a0/stock_barcode/static/src/models/barcode_model.js#L1115 https://github.com/odoo/enterprise/blob/ce7460b27028d4133c4689afd2e8f303268494a0/stock_barcode_picking_batch/static/src/models/barcode_picking_batch_model.js#L177-L179 opw-5162164 Forward-Port-Of: odoo/enterprise#98022 Forward-Port-Of: odoo/enterprise#97526
Point-of-sale records created locally are now preserved when syncing with the server, even if the server response does not yet include them. This reduces the risk of losing pending sales, refunds, or settlement information during connectivity or timing issues.
Original PR description
*: l10n_br_edi_pos, pos_settle_due, pos_urban_piper Before this commit, when syncing records from the server, local records that were not yet synced (isSynced=false) could be lost if they were not present in the server response. This could happen for example when a record was created locally and the server response did not include it. This commit fixes this issue by ensuring that local records are always kept when syncing, even if they are not present in the server response. This is done by merging the local records with the server records based on their keys. --- This commit also replace all checks of the form typeof id === "number" with isSynced checks. This is because the id of a record can be a temporary string id before it is synced with the server. Forward-Port-Of: odoo/enterprise#94568
Belgian accounting now assigns the correct VAT-related receivable and payable accounts to FPS and Collection Center partners. Bank transactions for VAT payments can be matched more automatically, reducing manual reconciliation work and payment-closing errors.
Original PR description
This commit sets AR and AP accounts of "FPS" and "Collection Center" partners with the 2 new added VAT accounts. Additionally, a new reconciliation rules that detects the partner and the communication and creates a counter entry. The partner "FPS" have been added to the VAT closing line for auto-reconciliation with bank transaction. task-5148985
On very small screens, the empty-list illustration no longer covers the barcode scan button. This ensures warehouse users on handheld scanners or small phones can continue scanning items even when a filtered list has no results.
Original PR description
On small screens (e.g., Zebra scanner, iPhone 4), the image overlaps the barcode scan button, making it impossible to click and scan new items. ### Steps to reproduce: On a small screen size (Zebra…
On small screens (e.g., Zebra scanner, iPhone 4), the image overlaps the barcode scan button, making it impossible to click and scan new items. ### Steps to reproduce: On a small screen size (Zebra scanner, Iphone 4,..) * Open barcode app * Go on Operations -> Receipts * Apply a filter so that the list becomes empty. -> the image is over the barcode button and the text. ### Observation: Our image (in div .o_view_nocontent) has position absolute, anchoring it to the top part of the screen where the search bar is located (in div .o_control_panel). The issue is that in barcode there is another element where the button to scan is located (o_kanban_tip_filter), and since the image is absolutely positioned relative to the top rather than this element, it ends up overlapping the button and the text, preventing interaction. ### Why the fix: The solution we chose is to change the position of the image to relative, for the image to not hide the text. Another possible solution was to make the image (more specifically .o_view_nocontent .o_nocontent_help) ignore all input, allowing them to go through the image and reach the button below. opw-5123880 Forward-Port-Of: odoo/enterprise#98243