Daily updates from Odoo
Wednesday, December 17, 2025
5 changes · 19.0
New functionality added to Odoo
This pull request focuses on enhancing Odoo's internal documentation. The team added new documentation related to various internal architecture and development processes, including module dependencies, inheritance patterns, and the Odoo layering system. This update aims to improve clarity and support for internal development teams.
Resolved issues and error corrections
This update fixes an error in the Mexican payroll module that caused incorrect period end calculations when creating pay runs with schedules like '10 Days' or 'Bi-weekly'. The fix ensures that pay runs are generated with the correct period end date, aligning with updated payroll standards. This improves the accuracy of payroll processing for Mexican companies.
Original PR description
Bug: When we create a new pay run for a mexican company and we select the schedule "10 Days", "14 Days", "Bi-weekly" or "Bi-monthly", the end of the period is computed incorrectly. Cause: The standard method changed but it wasn't updated in the mexican payroll module. Fix: Change the signature of the method to match the one in hr_payroll. Task: 5421825
This update resolves an issue where users without HR permissions couldn't submit 360 feedback. A recent security change now requires access checks on related data, and this fix uses `sudo()` to bypass the check when necessary, allowing these users to complete the process. This ensures all users can participate in 360 feedback assessments.
Original PR description
**Version:** - 19.0 **Steps to reproduce:** - As an administrator, create an appraisal and assign an appraiser who has no HR permissions (regular user role) - Log in as the appraiser. - Attempt to submit a 360 feedback. - An access error is raised. **Issue:** - The 360 feedback wizard fails due to missing access rights when sending the feedback. **Cause:** - https://github.com/odoo/odoo/pull/217277/commits/4a822785ca850c7ae5b21039536333276b2c61af - A recent ORM change now enforces a read-access check on the comodel when writing to Many2many fields. The 360° feedback wizard writes to an M2M field referencing hr.employee, but appraisers (non-HR users) lack read rights on hr.employee, causing the new security check to raise an AccessError. **Fix:** - During create(), check whether the current user has access to rights on hr.employee. If not, create the wizard with `sudo()` so it can create and write the required records without raising an access error. task-5261938
This update fixes a misleading warning message displayed in the eCommerce shop when a subscription product is viewed without a linked plan. The change ensures users receive a clear and accurate message – 'This product has no valid combination' – preventing confusion and potential order errors. This improves the user experience and ensures accurate product information.
Original PR description
Version: - saas-18.4 Steps to reproduce: - Install website_sale_subscription - Create a subscription product without a plan - Open product on eCommerce Issue: - When viewing a subscription product without a subscription plan in the eCommerce shop, the system incorrectly shows the warning "This subscription is not compatible with the one already in your cart. Please order them separately or empty your cart." - This happens even if the cart is completely empty. - The method _is_add_to_cart_possible doesn’t find any valid combination to add to the cart, and because the product is marked as recurring, it always triggers the wrong message. Solution: - Add a condition to check if current product have any recurring price set if not then it will show the correct warning that 'This product has no valid combination.' Impact: - Users see clear and correct warnings on products without a subscription plan. task-5255749 Forward-Port-Of: odoo/enterprise#100929
This update corrects an issue where invoices posted at early times in the Chilean timezone were incorrectly dated as the previous day, causing validation errors. The fix ensures consistent invoice dates during testing by freezing the test time and setting a fixed invoice date aligned with the timezone.
Original PR description
**Issue:** ```python File "/data/build/enterprise/l10n_cl_edi/models/account_move.py", line 744, in _l10n_cl_edi_post_validation raise UserError( odoo.exceptions.UserError: The stamp date and time…
**Issue:**
```python
File "/data/build/enterprise/l10n_cl_edi/models/account_move.py", line 744, in _l10n_cl_edi_post_validation
raise UserError(
odoo.exceptions.UserError: The stamp date and time cannot be prior to the invoice issue date and time. TIP: check in your user preferences if the timezone is "America/Santiago"
```
**Cause:**
Posting an invoice at early local hours (e.g., 2025-12-11 04:00) is converted by the [Chilean timezone (America/Santiago)](https://github.com/odoo/enterprise/blob/ac3f333d97eda5c86a0813490ac6204d4ec5721f/l10n_cl_edi/models/l10n_cl_edi_util.py#L117-L120) to the previous day (e.g., 2025-12-10 19:30).
**Solution:**
- Freeze the test time at a stable CL-safe hour
- Add a fixed `invoice_date` aligned with the frozen timestamp
Reference : [timezone converter](https://dateful.com/time-zone-converter?t=730pm&d=2025-12-10&tz2=Santiago-Chile)
Runbot error: [234755](https://runbot.odoo.com/odoo/runbot.build.error/234755)
Related PR: https://github.com/odoo/enterprise/pull/99518
Forward-Port-Of: odoo/enterprise#102127
Forward-Port-Of: odoo/enterprise#101901