Daily updates from Odoo
Monday, December 8, 2025
13 changes
1 change
Enhancements to existing features
This update adds support for the ICE (Identifiant Commun de l'Entreprise), a mandatory identification number for Moroccan businesses, to invoices. It ensures that invoices issued to Moroccan companies include this number, complying with local regulations. This change impacts the account module and ensures accurate invoicing for Moroccan clients.
Original PR description
Backport ICE number from 18.0 to 16.0: f9d00e684b3fa395a33ae4b5b795d9fc6e4fcf0e Reason: The ICE (Identifiant Commun de l'Entreprise) is an identification number assigned to businesses and legal entities for various administrative and legal purposes in Morocco. If the partner has one, it must be indicated on the invoice. The ICE number is supposed to be put on all the invoices made to Moroccan companies, whatever the country of the company issuing those invoices. We hence add that directly into the account module. task-4879950 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#238687 Forward-Port-Of: odoo/odoo#237068
5 changes
Enhancements to existing features
This update enhances the VoIP call setup process by adding a country selector to the keypad. Users can now easily input country codes, defaulting to the country of their last call. The system will automatically format the number correctly once a valid country is selected, streamlining the calling experience.
Original PR description
Instead of only show a country flag on keypad, we now have a country selector that can help user to input country prefix when calling. The default flag will be the country of last call. We will format the number when it's valid. Task-5106962
This update enhances the visibility of payroll issues on pay runs and payslips. Previously, only the first issue was displayed, making it difficult to identify all problems. Now, issues are categorized as 'Warning' or 'Error' and multiple issues are clearly indicated with '(Y more...)', ensuring accurate payroll processing.
Original PR description
Currently, issues are not easily visible in the pay runs list view, and only the first issue is displayed on a payslip without indication of additional ones. Improvements: - Rename the current status to Warning or Error depending on the issues present. - On payslips with multiple issues, display (Y more...) where Y is the number of additional issues beyond the first. task-5079345
This update clarifies the naming of a component within Odoo's website generator module. The original name, `Img`, was confusingly similar to the standard HTML image tag. Renaming it to `Image` improves readability and maintainability of the website templates.
Original PR description
The `Img` component has a confusing name, because in templates it looks too similar to the HTML tag `<img>`. To improve clarity, this commit changes the name to `Image`. task-5345698
This update clarifies the status of POS orders by ensuring they always display the latest fiscal folio (UUID) linked to the associated CFDI invoice, regardless of whether it's a global or individual invoice. This resolves confusion caused by inconsistent invoice information and improves traceability for tax reporting.
Original PR description
When reviewing POS orders, it was often unclear whether an order had been properly invoiced or not. The list view could make orders appear 'uninvoiced' even though a signed CFDI already existed. This…
When reviewing POS orders, it was often unclear whether an order had been properly invoiced or not. The list view could make orders appear 'uninvoiced' even though a signed CFDI already existed. This was especially confusing when an individual invoice was created after a global invoice, since the new fiscal folio (UUID) wasn’t reflected on the order. This improvement makes the fiscal traceability much clearer by ensuring that each POS order always shows its latest fiscal folio (UUID), whether it comes from a global or an individual invoice and by keeping its related CFDI documents in sync. Key changes: - Linked CFDI documents to POS orders during document creation. - The fiscal folio on the POS order now reflects the latest signed CFDI (invoice or global invoice) and explicitly excludes auto-generated global refund (TipoDeComprobante == 'E'). - Updated the SAT sync logic to include both `global_sent` and `sent` POS orders. - Corrected the CFDI origin UUID logic in refund flows, ensuring proper linkage for global refunds. - Replaced `self._cr` with `self.env.cr` for consistency and to align with newer ORM usage standards. task-4721995
This update automatically cleans up VoIP calls that were unexpectedly terminated, preventing inaccurate reporting and improving data accuracy. A new filter has also been added to the call search view, allowing users to easily identify and manage these calls. This enhances the overall reliability of the VoIP system.
Original PR description
This commit introduces a mechanism to detect and clean up calls that ended unexpectedly (e.g. due to server restart or crash) and were left in a `calling` or `ongoing` state. A new cron job `_cleanup_stuck_calls()` runs every 5 minutes to: - Terminate 'calling' calls older than 2 minutes. - Terminate 'ongoing' calls older than 4 hours. These calls are marked as `terminated` but will lack an `end_date`. To improve the user experience regarding these calls a new filter "Ended Unexpectedly" is added to the VoIP calls search view as the user wasn't able to filter out these calls before. Task-5208152
3 changes
Enhancements to existing features
This update enables administrators to modify the work entries associated with payslips that have been reversed or refunded. Previously, these entries were immutable. This change provides greater flexibility in managing payroll records and correcting errors related to refunded payments.
Original PR description
-Originally, work entries for validated payslips cannot be modified. -This task allows for the modification of the work entries for the reverted payslips. -State of work entries can be modified manually through list view + form view on gear icons Task-id: #5380821
This update clarifies the label for a key work entry type within the Hong Kong payroll module. The term 'Use 713' has been replaced with 'ADW Calculation' for better clarity and understanding. This change improves the user experience and ensures accurate reporting within the system.
Original PR description
- changed the string for `l10n_hk_use_713` to be `ADW Calculation` instead of `Use 713` task-id: 5084137
This update ensures the E-Ledger report accurately reflects branch numbers by linking them to a new 'SUBENO' tag on partner records. This change aligns with a recent update to better define branch information within Odoo, improving the reliability of financial reporting. The update also ensures compatibility with related modules.
Original PR description
Currently, the BranchNumber field in the E-Ledger CSV is linked to res.company.company_id. However, a new res.partner.category 'SUBENO' was introduced to properly define branch numbers. So this change makes sure the branch number is captured from the tags on the branch's partner_id. l10n_tr_reports now also depends on l10n_tr_nilvera_einvoice because the SUBENO tag is created there. Task-id: 5022037
2 changes
Enhancements to existing features
This update expands how SLAs are defined for helpdesk tickets, allowing other Odoo modules to customize the criteria used to match SLAs. Previously, this was limited, but now it's enabled, providing greater flexibility and control over SLA management within the Helpdesk module. This improves the ability to tailor SLAs to specific business needs.
Original PR description
Allow other modules to modify the _sla_find domain when adding SLAs to helpdesk tickets. This is already the case for extra and false domains, while the main domain is hardcoded up to this commit.
This update ensures that newly imported partner records are automatically recognized as companies within the Odoo system. This improves data accuracy and streamlines processes related to invoicing and reporting for business partners. It addresses a previous issue where imported partners weren't correctly categorized.
Original PR description
Ensure imported partner records are marked as companies when creating new partners. Task-5353923 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
2 changes
Enhancements to existing features
This update aligns Odoo's accounting system in Vietnam with new Vietnamese regulations (TT 99/2025/TT-BTC). The previous accounting system (TT 200/2014/TT-BTC) is now outdated and this change ensures compliance with current tax laws. This update impacts financial reporting and accounting processes within the Odoo system for Vietnam.
Original PR description
[TT 99/2025/TT-BTC](https://thuvienphapluat.vn/phap-luat/ho-tro-phap-luat/toan-van-thong-tu-992025ttbtc-che-do-ke-toan-doanh-nghiep-thay-the-thong-tu-200-tu-01012026-ra-sao-239165.html) replace TT 200/2014/TT-BTC outdated at 01/01/2026 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update automatically aligns the code running on our IoT boxes with the latest database version, ensuring data consistency. To activate this change, existing IoT boxes will need a restart. This process primarily addresses database version discrepancies and doesn't impact regular software updates.
Original PR description
This PR adds the code which checks every midnight to see if the version of the database has changed. If so, it will update the iot box's code to align it to the database version Note: 1) the existing iot boxes will need to restart to get this cron job 2) Outside of database upgrade the code won't be upgraded with the cron