Daily updates from Odoo
Friday, June 5, 2026
9 changes
1 change
New functionality added to Odoo
This update incorporates official ISO 3166-2 standards for Azerbaijan, specifically adding the country's states. The address format has also been updated to display state names instead of country codes, improving data accuracy and user experience. This change ensures consistent and reliable location data within the system.
Original PR description
Added the states of Azerbaijan to align with official ISO 3166-2 standards. Also changed the address format of the country to show state name instead of state code. task-6236667 Forward-Port-Of: odoo/odoo#265959
1 change
New functionality added to Odoo
This update incorporates Azerbaijan's states into the Odoo system, aligning with international standards (ISO 3166-2). It now displays state names instead of country codes for Azerbaijani addresses, improving data accuracy and usability. This change enhances the system's ability to handle international address data correctly.
Original PR description
Added the states of Azerbaijan to align with official ISO 3166-2 standards. Also changed the address format of the country to show state name instead of state code. task-6236667 Forward-Port-Of: odoo/odoo#265959
3 changes
New functionality added to Odoo
This update implements the required Belgian Registered Cash Register (Caisse Enregistreuse Certifiée) v2 specifications for Odoo POS systems. It ensures accurate fiscal data transmission to the FPS Finance system, handling sales, refunds, and other transactions with the necessary compliance features and robust error handling.
Original PR description
Implement the Belgian Registered Cash Register (Caisse Enregistreuse Certifiée) v2 specification as required by FPS Finance for certified POS restaurant systems. The implementation is split into a…
Implement the Belgian Registered Cash Register (Caisse Enregistreuse Certifiée) v2 specification as required by FPS Finance for certified POS restaurant systems. The implementation is split into a core module and five bridge modules: l10n_be_pos_blackbox (main module): - FDM (Fiscal Data Module) communication layer that signs every fiscal event by sending a structured message to the blackbox device and receiving a hash + VSC counter in return. M110 (sale), M111 (refund), M112 (partial refund), M121 (order), M122 (cost-centre change), M123 (pre-bill), M130 (money in/out), M131 (drawer open), M140/M141 (work in/out), M150 (invoice), M160 (copy), M180/M181 (X/Z turnover report), M182/M183 (user X/Z report), UC230 (sale correction). M160 (copy), M180/M181 (X/Z turnover report), M182/M183 (user X/Z report), UC230 (sale correction). - Input generator that encodes all line-level fiscal data (PLU hash, VAT groups, price rounding, grouping IDs) according to the spec. - Fiscal receipt template (XML) that renders the blackbox hash, VSC counter, POS system identifier, and event sequence number on every printed receipt. - X/Z daily report views with fiscal totals per VAT category. - Training-mode support: activates the FDM training flag so the device does not count test transactions. - Inspect popup (debug) for examining raw FDM messages. - Error/warning popup system with traceback messages from the device. - LocalStorage queue to replay pending mutations after a network outage. - pos_config / pos_session overrides: enforce blackbox constraints (only EUR, no rounding, mandatory restaurant mode, etc.), manage device pairing, and accumulate per-session fiscal counters. - Extensive unit-test suite: >6 000 lines covering the input generator's grouping-ID logic, price-consistency rules, and every mutation type against golden JSON fixtures. - Browser tour tests (oracle + regression tours). l10n_be_pos_blackbox_hr: - Clock-in / clock-out flows for employees trigger M140/M141 work in/out mutations; employee INSZ/NISS number is required and stored on hr.employee; pos_session accumulates per-employee work records. l10n_be_pos_blackbox_loyalty: - Gift-card and discount reward lines are mapped to the correct MPV fiscal codes (UC260/UC261); loyalty products are flagged so the input generator can calculate their contribution to the signed total correctly. l10n_be_pos_blackbox_self_order: - Intercepts self-order confirmation on kiosk screens to sign the order with the FDM before the confirmation page is shown; adds a controller to expose the required blackbox data to the kiosk frontend. l10n_be_pos_blackbox_settle_due: - Handles the "settle due" payment flow: products used to represent deferred payments are flagged and treated as zero-VAT lines in the signed message. l10n_be_pos_blackbox_urban_piper: - Patches the Urban Piper ticket-screen and pos_store so that online orders routed through Urban Piper are also signed before finalisation. task-id: 5864870 community PR: https://github.com/odoo/odoo/pull/229692 Forward-Port-Of: odoo/enterprise#96130
This update integrates support for the new Belgian blackbox v2 system, allowing Odoo to seamlessly track and manage transactions for Belgian retailers. Key changes include customizable workflows and data handling to meet specific blackbox requirements, ensuring accurate reporting and compliance.
Original PR description
Refactor several POS core methods into overridable hooks so that l10n_be_pos_blackbox (v2) can intercept and extend critical flows to implement the new blackbox requirements. point_of_sale: -…
Refactor several POS core methods into overridable hooks so that l10n_be_pos_blackbox (v2) can intercept and extend critical flows to implement the new blackbox requirements. point_of_sale: - pos_store.js: extract posBackOnline(), openCashbox(), getSelfOrderToPrint(), and resetCashier() as dedicated methods; setCashier() now returns a boolean; preSyncAllOrders() now returns the orders array, and the sync loop skips an order when it returns falsy (allows blackbox to block premature syncing); add orderReceiptComponent class property so the receipt component can be substituted by submodules. - order_payment_validation.js: extract canPrintReceipt getter (makes it overridable); fix absolute import path for error_handlers; fix typo "occured" → "occurred". - pos_session.py: load product.template / product.product before account.tax in _load_pos_data_models to satisfy the blackbox data dependency order; include account_move id in the invoice list returned by the session sales-details report. pos_hr: - Split setCashier() into setCashier() + setCashierUpdateSession() so the session-update side-effect can be called independently by the blackbox during clock-in/out flows. Return true from setCashier() consistently with the base method. pos_loyalty: - Override displayPrice on order lines so gift-card trigger products always display a positive price, even when the order is a refund. pos_restaurant: - Refactor mergeOrders() into _mergeOrders() + _mergeLines() private helpers; add getLinesToMerge() hook so blackbox can filter which lines participate in a merge; mergeOrders() now returns the destination order; extract syncRestoredOrders() for overridability; replace the while-loop-with-guard-counter with a plain for-of loop. pos_self_order: - Add orderReceiptComponent property; extract handleKioskSessionStatusChange() so the kiosk status-change behaviour can be overridden by the blackbox self-order bridge. task-id: 5864870 enterprise PR: https://github.com/odoo/enterprise/pull/96130 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#229692
This update incorporates the official states of Azerbaijan into the Odoo system, aligning with international standards (ISO 3166-2). The address format has also been updated to display state names instead of country codes, improving data accuracy and user experience.
Original PR description
Added the states of Azerbaijan to align with official ISO 3166-2 standards. Also changed the address format of the country to show state name instead of state code. task-6236667 Forward-Port-Of: odoo/odoo#265959
3 changes
New functionality added to Odoo
This update adds camera support within the Odoo Manufacturing (MRP) module, allowing users to visually inspect products and quality control processes. This enhancement improves accuracy and efficiency in identifying defects and ensuring product standards are met. The change is part of a broader Obox integration.
Original PR description
We now support scales and cameras in mrp using an Obox. see odoo/obox#181 task-6241713
This update adds unit tests for key Obox components – discover_obox, obox_report_action, and the json_tags_field widget. These tests enhance the reliability and stability of the Obox functionality, reducing the risk of future issues and improving overall product quality.
Original PR description
This commit adds unit tests for the following: - `client_actions/discover_obox.js` - `client_actions/obox_report_action.js` - `widgets/json_tags_field.js`
This update adds a new feature to the bank reconciliation widget that allows users to automatically reconcile bank statements on-demand. Previously, reconciliation was triggered only by a scheduled cron job. Now, users can quickly reconcile outstanding transactions, improving efficiency and reducing manual effort.
Original PR description
Add a "Run Auto Reconciliation" entry to the bank reconciliation widget cogs menu, allowing users to trigger the automatic reconciliation without waiting for the next cron run. Selecting the entry opens a wizard pre-filled with the active journal and a default starting date of today minus one month. On validation, the wizard collects the unreconciled bank statement lines of the chosen journal between the selected date and today, and runs _cron_try_auto_reconcile_statement_lines on them. A success notification is displayed and the bank reco view will reload the affected records. task-6095773
1 change
New functionality added to Odoo
This update enhances the Arabic localization (l10n_ar) module to seamlessly integrate with wsmtxca encryption. Previously, there were limitations in handling encrypted transactions within the Arabic accounting system. This change ensures proper processing and reporting of encrypted financial data, improving compliance and security.
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