Daily updates from Odoo
Wednesday, November 5, 2025
15 changes
1 change
Enhancements to existing features
The POS integration now sends each category’s parent information when syncing with Atlas, so category hierarchies are preserved more reliably. This helps keep menu structures aligned across systems while staying within UrbanPiper’s single sub-category limit.
Original PR description
In this commit: --- - The parent category of a POS category is now included during synchronization with the Atlas platform. - Added `parent_ref_id` in the category payload to maintain hierarchy. Note: The UrbanPiper platform only supports a single level of sub-categories. Extra: Added exception for `requests.exceptions.JSONDecodeError`. task-5169337 Forward-Port-Of: odoo/enterprise#97213
1 change
Enhancements to existing features
POS category synchronization now sends the parent category along with each category to Atlas, helping keep the category structure aligned between systems. This improves menu organization and reduces the chance of categories appearing in the wrong place after syncing. The update also handles a JSON parsing error more safely during requests.
Original PR description
In this commit: --- - The parent category of a POS category is now included during synchronization with the Atlas platform. - Added `parent_ref_id` in the category payload to maintain hierarchy. Note: The UrbanPiper platform only supports a single level of sub-categories. Extra: Added exception for `requests.exceptions.JSONDecodeError`. task-5169337 Forward-Port-Of: odoo/enterprise#97213
1 change
Enhancements to existing features
POS category updates now include their parent category when synchronized with Atlas, helping keep category hierarchies more accurate. This reduces mismatches between Odoo and the connected platform, and also improves handling of certain data response errors during sync.
Original PR description
In this commit: --- - The parent category of a POS category is now included during synchronization with the Atlas platform. - Added `parent_ref_id` in the category payload to maintain hierarchy. Note: The UrbanPiper platform only supports a single level of sub-categories. Extra: Added exception for `requests.exceptions.JSONDecodeError`. task-5169337 Forward-Port-Of: odoo/enterprise#97213
7 changes
Enhancements to existing features
Accounting users can now enter deferred start and end dates through a clearer date range control. When only one date is needed, the system automatically reuses the start date as the end date and no longer warns when both dates are the same, supporting accrual entries with less manual input.
Original PR description
* use the widget `daterange` on `deferred_start_date` and `deferred_end_date` * auto fill `deferred_end_date` when it is empty to `deferred_start_date` to avoid double encoding of the same value, and avoid raising an error * remove the warning `has_abnormal_deferred_dates` when the date is the same, this can be used to do an accrual entry. task-5207293 Forward-Port-Of: odoo/enterprise#98794
Attachments are now indexed in a way that makes their content easier for AI features to understand and retrieve. PDF content is stored more directly, and spreadsheet-like files are converted into clearer text so AI answers can better reflect the original information.
Original PR description
### Summary
This improvement refines how attachments are indexed to enhance retrieval quality and RAG comprehension.
### Key Changes
- **PDF Indexation:**
- Moved the PDF attachment indexation logic from the previous implementation to the main `_index` method in the `attachment_indexation` module [COM PR].
- PDFs are now indexed directly and their content is stored into `index_content` to be used directly.
- **Tabular File Indexation:**
- In alignment with the community PR that indexes tabular files as CSV text, this update introduces a new helper method:
- `_process_csv_text`: Converts CSV content into a **header–dictionary-style text**, improving semantic understanding for RAG.
---
**Task:** 5045336
Forward-Port-Of: odoo/enterprise#96596Payroll salary structures now require a journal to be set, improving accounting data consistency and reducing configuration errors. Belgian payroll calculations were also improved to account for time credit entries when calculating working schedule rates and prorated monthly wages.
Original PR description
`journal_id ` field on hr_payroll_account module modified to be required field and no need for required attribute on the UI attribute, and that's ensures the database consistency
Point of Sale now better supports turning individual order lines into a combo product in one action. This keeps preparation displays aligned with the updated order structure, helping kitchen and service teams avoid confusion when combos are created.
Original PR description
This commit adapts the preparation display logic to handle the conversion of lines into a combo product. Task-id: 5180846
ESG carbon emission values now keep more decimal precision, improving the accuracy of emissions reporting and analytics. Users can also open emission records in a full form view from the list, making review and edits easier.
Original PR description
- **Add more digits to carbon emission values + small imp** This commit adds more digits to ESG fields showing emission values to have more precision. This commit also moves a demo data in real data and update some views. - **Add form view in Emissions to define action** Before this commit, the user can only edit in multi_edit the emitted emissions and cannot see the form view of those records because the action does not have the form. This commit adds the form view in that action to make sure the user can open that view when he clicks on a record in the list view. Task [link](https://www.odoo.com/odoo/project.task/5219931) task-5219931
The Estonia VAT report now processes large export data in batches instead of repeating the same calculations line by line. This prevents timeouts on very large monthly datasets and makes XML export more reliable for businesses with high transaction volumes.
Original PR description
Behavior before: When exporting the VAT report to XML, each newly added line triggered a fresh _compute_expression_totals_for_each_column_group call. With large volumes of journal items, this…
Behavior before: When exporting the VAT report to XML, each newly added line triggered a fresh _compute_expression_totals_for_each_column_group call. With large volumes of journal items, this resulted in excessive repeated queries and, for big datasets, timeout errors. Behavior after: Introduced _custom_unfold_all_batch_data_generator, which batches the computation of expression totals for all lines. Now, journal items are resolved in bulk and mapped back to their respective moves, significantly reducing redundant queries. The VAT XML export completes successfully, even on months with very large datasets. Root cause: The Estonia VAT report was missing a batch unfold method (_custom_unfold_all_batch_data_generator). Without it, the system executed totals computation for each line individually instead of in batch, causing major performance degradation. Benchmark: | Period size (journal items) | Before patch | After patch | |----------------------------------------|----------------------|--------------------| | ~15k | 7s | 5s | | ~200k+ | Timeout error| 21s | opw-5046077 Forward-Port-Of: odoo/enterprise#97660 Forward-Port-Of: odoo/enterprise#95047
The Pakistan payroll localization has been updated with the latest 2026 tax bracket values. This helps businesses calculate employee payroll taxes according to the new rules and reduces the risk of incorrect payslips.
Original PR description
Tax brackets for pakistan localization has been updated to include the new values for 2026. Forward-Port-Of: odoo/enterprise#98636 Forward-Port-Of: odoo/enterprise#98345
3 changes
Enhancements to existing features
This change adds a default set of attendance rules so employee attendances can be created even when no ruleset was previously defined. It includes rules for overtime and non-working days, helping avoid setup issues and ensuring attendance records work more smoothly.
Original PR description
## PR Purpose It's impossible to create an attendance for an employee without a ruleset. To solve this problem, this PR adds a default ruleset with 2 rules: one for overtime, and another one for non working days. Those data are the same as the data added in the upgrade/migrations/hr_attendance/saas~18.5.2.0 post-migrate script. [Task#5082628](https://www.odoo.com/odoo/all-tasks/5082628) [Community#228352](https://github.com/odoo/odoo/pull/228352) [Upgrade#8684](https://github.com/odoo/upgrade/pull/8684)
This change adds a default overtime ruleset for employee attendance records. It ensures attendances can be created even when no custom ruleset has been configured, preventing a setup issue and making the feature work out of the box.
Original PR description
## PR Purpose It's impossible to create an attendance for an employee without a ruleset. To solve this problem, this PR adds a default ruleset with 2 rules: one for overtime, and another one for non working days. Those data are the same as the data added in the upgrade/migrations/hr_attendance/saas~18.5.2.0 post-migrate script. [Task#5082628](https://www.odoo.com/odoo/all-tasks/5082628) [Enterprise#95421](https://github.com/odoo/enterprise/pull/95421) [Upgrade#8684](https://github.com/odoo/upgrade/pull/8684)
This change adds a queue for blackbox messages so the Point of Sale can send certain requests without waiting for an immediate response. It improves speed and reliability for operations like pro forma sales, helping staff continue working more smoothly even when the blackbox is busy.
Original PR description
In this commit, we introduce a queuing mechanism for blackbox messages to make all interactions with the blackbox faster and more reliable. This is particularly useful for messages that do not require the response from the blackbox to continue the workflow such as pro forma sales messages. Forward-Port-Of: odoo/enterprise#97293 Forward-Port-Of: odoo/enterprise#90747
1 change
Enhancements to existing features
POS categories now send their parent category information when syncing with Atlas. This helps preserve the category structure more accurately across systems, improving consistency for menu and product organization.
Original PR description
In this commit: --- - The parent category of a POS category is now included during synchronization with the Atlas platform. - Added `parent_ref_id` in the category payload to maintain hierarchy. Note: The UrbanPiper platform only supports a single level of sub-categories. task-5169337
1 change
Enhancements to existing features
For Swiss companies, payment and direct debit files now automatically use the latest legally required Pain version. If an older version is detected, users are guided to update it so payments continue to work correctly and stay compliant with local banking rules.
Original PR description
This commit enforce forces new Pain version for CH companies. A RedirectWarning is raised for users on old version in Credit Transfer and Direct Debits. The users are redirected to the bank journal to update the Pain versions. The new versions were already implemented but now they are enforced in CH companies due to legal requirements. task-5149417