Tuesday, February 10, 2026
19 changes · saas-19.1
New functionality added to Odoo
This update introduces a new module to generate a required .csv file (FAF) for the Federal Tax Authority (FTA) audits. This allows businesses to meet FTA reporting requirements and move closer to accreditation, ensuring ongoing compliance with UAE tax regulations. The generated file contains essential invoice data for the FTA audit process.
Original PR description
The Federal Tax Authority (FTA) requires businesses to generate a FAF (FTA Audit File) for audit and compliance purposes in a .csv format. There are two kinds, VAT and Excise. In this task, we aim to…
The Federal Tax Authority (FTA) requires businesses to generate a FAF (FTA Audit File) for audit and compliance purposes in a .csv format. There are two kinds, VAT and Excise. In this task, we aim to generate a successful VAT Audit File, whereas we we will work to support the Excise Taxes and it's audit file in a separate task. This will bring us a step closer to re-registering us as an Accredited Software Vendor with the FTA (https://tax.gov.ae/en/tax.support/tax.accounting.software.vendors/accredited.tax.accounting.software.vendors.aspx). As per the FTA, "The FAF should be a pure collection of data in the comma-separated values (csv) file format and should be broken down by, but not limited to, invoices, credit notes etc., to give all the required information to FTA to conduct the Audit. The taxpayer should not be able to modify any value in the FAF. The FAF should not be an image file." This PR introduces a new module l10n_ae_saft which allows the users to export the a FAF .csv file from the general ledger. task-5256491 Forward-Port-Of: odoo/enterprise#99228
Enhancements to existing features
This update adjusts a key parameter within the Australian payroll module (l10n_au_hr_payroll) to comply with updated 2026 PEA (Pay-As-You-Earn) tax regulations. This ensures accurate payroll calculations and reporting for Australian businesses using Odoo Enterprise. The change is a necessary improvement to maintain compliance.
Original PR description
This task updates PEA rule parameter value task-5884083 Forward-Port-Of: odoo/enterprise#106925 Forward-Port-Of: odoo/enterprise#105896
Resolved issues and error corrections
This update fixes an issue where the value of inventory movements wasn't correctly reflecting the cost of the lot when adding quantities through the physical inventory process. The fix ensures that the move's value now accurately uses the lot's standard price, leading to more precise inventory tracking and cost calculations. This improves the reliability of stock valuation.
Original PR description
**Problem:** when adding quantities to a lot via the physical inventory the move created, uses the standard_price of the product and not the standard_price from the lot even if the product is valued…
**Problem:** when adding quantities to a lot via the physical inventory the move created, uses the standard_price of the product and not the standard_price from the lot even if the product is valued by lot. **Steps to reproduce:** - create an avco perpetual product, tracked and valued by lot - confirm a PO for a quantity of 1 and a price of 10 - on the picking set the lot as 'lot1' and validate the picking - confirm a PO for a quantity of 1 and a price of 16 - on the picking set the lot as 'lot2' and validate the picking - open "Inventory/ Operations/ Adjustments/ Physical Inventory" - on the quant line of the lot1 change the quantity from 1 to 2 and apply - open the product form **Current behavior:** the move created has a value of 13 (the standard price of the product), so : 1) the standard price of the product is still at 13 2) if you select the smart button for lots/serial number and select lot1 you can see that the new cost is 11.5 **Expected behavior:** the move created should have a value of 10 because we added a quantity without specifying a cost in a lot which has a value of 10, so: 1) the standard price of the product should now be 12 2) the cost of the lot should stay 10 **Cause of the issue:** when calling _get_value_data on the move, and that we use _get_value_from_std_price (because there is remaining_qty after previous steps), https://github.com/odoo/odoo/blob/555df96ac87a51405767c32f0396f762d458fd29/addons/stock_account/models/stock_move.py#L382-L384 inside _get_value_from_std_price, we use the standard price of the product https://github.com/odoo/odoo/blob/555df96ac87a51405767c32f0396f762d458fd29/addons/stock_account/models/stock_move.py#L450-L452 But if : - the product is valued by lots, - we're not in the case where we want to call _get_standard_price_at_date (when the product is standard_price and at_date is set) in this case we should use the standard_price of the lot **fix** in case there is multiple lots on the move, we stay with the standard_price of the product because it's not clear that a weighted average would be better opw-5898837 Forward-Port-Of: odoo/odoo#247437
This update resolves a stability issue in the CRM's autocomplete feature, specifically when using the 'Partner Autocomplete' service. The fix prevents a crash caused by attempting to scroll to a non-existent element when the autocomplete data is loading asynchronously, ensuring a smoother user experience.
Original PR description
Steps to reproduce: 1. Ensure you have a good amount of contacts set up in your database 2. Ensure that you have an IAP Account setup for the service "Partner Autocomplete" 3. Zoom in on your browser…
Steps to reproduce: 1. Ensure you have a good amount of contacts set up in your database 2. Ensure that you have an IAP Account setup for the service "Partner Autocomplete" 3. Zoom in on your browser to at least 150% AND/OR make your browser window incredibly short 4. Go to the CRM app 5. Go into the form view of an opportunity 6. Type 3 characters or more into the 'Contact' field 7. Observe the error An Unhandled Promise error could occur if, after typing more than 3 characters in an autocomplete field, the dropdown is scrollable, and Partner Autocomplete finishes loading before the normal autocomplete does. In this scenario, normal autocomplete is still loading and has not rendered it's options. This causes a `null` element to be passed [`scrollTo()`](https://github.com/odoo/odoo/blob/555df96ac87a51405767c32f0396f762d458fd29/addons/web/static/src/core/utils/scrolling.js#L80), which causes an error when it tries to access `element.parentElement`. This change ensures that this scenario is properly handled and does not cause the database to crash. opw-5491270 Forward-Port-Of: odoo/odoo#247270
This update adds support for commodity codes (Intrastat, UNSPSC, and CPV) within the account_edi_ubl_cii module. This is crucial for accurate reporting and compliance with international trade regulations when generating export invoices. It ensures our system can correctly classify goods for customs and statistical purposes.
Original PR description
task-5890887 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247499 Forward-Port-Of: odoo/odoo#247025
This update resolves an issue where downpayment invoices generated through POS weren't correctly linked to final invoices, causing errors in invoice printing. The fix ensures accurate referencing of downpayment invoices and proper invoice type codes, improving the accuracy of financial reporting for POS transactions.
Original PR description
Description of the issue/feature this PR addresses: This PR addressed two issues, one related to pos_sale, and the other related to l10n_gcc_invoice that was found during testing. the first and main…
Description of the issue/feature this PR addresses: This PR addressed two issues, one related to pos_sale, and the other related to l10n_gcc_invoice that was found during testing. the first and main issue this PR addresses is that _get_downpayment_lines and _is_downpayment don't work properly on downpayment and final invoices generated in POS since there is no link formed between them through the sale order. the second issue occurs during when printing downpayment invoices that were made through POS. since there is no line.name for the downpayment line. an error pops up due to the dual language logic in place. To reproduce the issue: - install pos_sale & l10n_sa_edi_pos. - configure downpayment product on pos.config - generate an SO and confirm it in the backend - create a downpayment for that SO through POS - settle the SO on the POS or through the backend. - you'll find that the final invoice generated doesn't reference the downpayment invoice - you'll also find that the downpayment invoice doesn't have the correct invoice type code indicating that it's a downpayment. - printing the invoice will also give an error when l10n_gcc_invoice is installed (for the downpayment invoice) Current behavior before PR: xml documents generated from l10n_sa_edi don't carry the correct reference to the downpayment invoice when it's the final invoice. they also don't have the correct invoice type code when it's a downpayment invoice if generated through POS Desired behavior after PR is merged: the methods _get_downpayment_lines and _is_downpayment now correctly identify the downpayment lines & if it's a downpayment respectively. the dual language product name now shows on the invoice pdf without raising an error if line.name is undefined. Task-5135918 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247388 Forward-Port-Of: odoo/odoo#244443
This update resolves a bug where breadcrumb traceability was missing when opening projects from sale orders linked to multiple projects after migrating to version 19.1. The change sets the correct action target to 'current', ensuring proper breadcrumb behavior and aligning with standard Odoo record navigation.
Original PR description
Steps to reproduce: 1. Create a db with having 'sale' & 'project' installed in version 16. 2. Create a sale order having linkage to more than single project. 3. Migrate the db to version 19. 4. When…
Steps to reproduce:
1. Create a db with having 'sale' & 'project' installed in version 16.
2. Create a sale order having linkage to more than single project.
3. Migrate the db to version 19.
4. When clicking on the project stat button the breadcrumb traceability will not be there.
Issue:
-> In v16.4 the target defined for the action `project.open_view_project_all` is removed from [here](odoo/odoo@a92d686)
When migrating a database from v16 to v19 and opening projects from a sale order linked to multiple projects, the stat button triggers `action_view_project_ids`, which in turn calls
`project.open_view_project_all` for records having len('projects_ids') > 1 from [here]
(https://github.com/odoo/odoo/blame/19.0/addons/sale_project/models/sale_order.py#L220) Because the persisted target is `main`, breadcrumb traceability will be lost. The issue will arise in the DBs coming from version 16 or lesser. Therefore, it would be necessary to address this immediately and set correct target for window_action for databases >= v17
This commit explicitly sets the action target to `current` to restore proper breadcrumb behavior and align it with standard odoo record.
OPW-5448916
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
Forward-Port-Of: odoo/odoo#244245This update fixes an issue where the quantity delivered on sale orders wasn't accurately updated after a partial refund with a 'Ship Later' option. Previously, the system incorrectly reported zero delivered quantities. The fix ensures that delivered quantities are correctly calculated, including those associated with refunded orders, to provide accurate inventory tracking.
Original PR description
The qty_delivered on sale.order.line was not correctly computed when the original order was refunded with a ship later. Steps to reproduce: ------------------- * Create a sale order for 5 quantities of any product * Confirm the sale order * Settle the order in the PoS * At this point the qty_delivered on the sale order line is 5 * Now go back to the PoS and refund partially the order for 3 quantities and use the "Ship Later" option > Observation: The qty_delivered is 0 instead of 2 Why the fix: ------------ We group the pos.order.line by procurement group and then check if all pickings related to these lines are done before adding the qty to the qty_delivered. We also make sure to include the refund lines in the computation opw-5059560 Forward-Port-Of: odoo/odoo#247251 Forward-Port-Of: odoo/odoo#240945
This update fixes an error where tax amounts were incorrectly identified as discounts in the MyInvois XML generated from POS orders. The fix ensures that tax amounts are accurately represented as taxes, aligning with Peppol Malaysia e-invoice specifications. This ensures proper compliance with e-invoice requirements.
Original PR description
The _add_consolidated_invoice_base_lines_vals method computed the gross subtotal using `price_unit * quantity`. When taxes are configured as "Included in Price", `price_unit` contains the…
The _add_consolidated_invoice_base_lines_vals method computed the gross subtotal using `price_unit * quantity`. When taxes are configured as "Included in Price", `price_unit` contains the tax-included amount, but `total_excluded` (used for the discounted amount) is tax-excluded.
This caused the tax amount to be incorrectly reported as an AllowanceCharge (discount) in the MyInvois XML, because:
discount_amount = price_unit * qty - total_excluded
= tax_included - tax_excluded
= TAX AMOUNT (not a discount!)
Example: Product priced at 110 MYR with 10% tax included:
- price_unit = 110 (tax-included)
- total_excluded = 100 (tax-excluded: 110 / 1.10)
- discount_amount = 110 - 100 = 10 ← incorrectly reported as discount
refs:
The cac:AllowanceCharge element in UBL is specifically for discounts and surcharges, NOT for taxes. According to the Peppol Malaysia e-Invoice specification:
https://docs.peppol.eu/poac/my/pint-my-sb/bis/#_allowances_and_charges
https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL5189/ (For this case we are interested in code 95)
Steps to Reproduce:
1. Configure a tax as "Included in Price" with Malaysia tax type
2. Create a product with that tax.
3. Create POS orders without any discount
4. Generate consolidated invoice and XML
5. XML incorrectly shows <cac:AllowanceCharge> with tax amount as discount
The fix uses `raw_total_excluded / discount_factor` (always tax-excluded) instead of `price_unit * quantity` (may be tax-included), consistent with the parent method:
https://github.com/odoo/odoo/blob/d645361a95037ac580d55e80bcb61d1eeb293efd/addons/account_edi_ubl_cii/models/account_edi_xml_ubl_20.py#L1846-L1876
Ticket [link](https://www.odoo.com/odoo/project.task/5476526)
opw-5476526
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#247267
Forward-Port-Of: odoo/odoo#245535A recent change prevented portal users from accessing notifications for other users, causing channel loading errors. This update restores the intended access, ensuring portal users can view notifications as expected. This resolves a functional issue impacting portal user experience.
Original PR description
Since #236998, a sudo access to mail notifications has been removed, which was not intended. Without sudo, if a portal user tries to read some messages containing notifications for other users, it crashes with an access error to `mail.notification`. This change restores that access. Steps to reproduce: - Mention a non portal user in a public channel. - Open that channel as a portal user. - The channel does not load due to an access error to `mail.notification`.
Previously, when a video stream was active during a call within the chat window, call cards would overlap. This commit corrects this issue by ensuring call cards maintain a 16:9 aspect ratio when a video stream is present, improving the visual clarity of the call window. This enhancement ensures a better user experience for calls with video.
Original PR description
Before this commit, when in a call in a chat window and someone in call stream video, the cards were overlapping. This happens because [1] removed the `w-100` on `<video>` which let them have bigger width than imposed by `arrangeTiles`. This change was motivated because the card has aspect ratio of 1 in chat window and this was too small. However the correct fix was to impose the 16:9 ratio on cards when there's at least 1 video stream, which is what this commit does. Task-5917628 [1]: https://github.com/odoo/odoo/pull/241924 Before / After <img width="387" height="607" alt="Screenshot 2026-02-06 at 16 58 51" src="https://github.com/user-attachments/assets/39569572-4eea-4d58-a383-27f9c69e4bb5" /> <img width="386" height="600" alt="Screenshot 2026-02-06 at 16 58 29" src="https://github.com/user-attachments/assets/f9b60e9a-6980-4708-b475-14f9d5a77a36" />
This update allows for seamless payment matching between parent and child companies within Odoo. Previously, matching was limited to purchase orders; now, it extends to bills, streamlining financial reconciliation across company structures. This enhancement improves efficiency and accuracy in managing intercompany transactions.
Original PR description
On bills, the `purchase_vendor_bill_id` field already allows matching with cross-company purchase orders. This commit extends this behavior to payment matching. Steps to reproduce: - Create a child company from a parent company. - Create a purchase order in the child company. - Create a bill in the parent company. - In the bill’s payment matching, the child company’s purchase order should be available. opw-5416947 Forward-Port-Of: odoo/odoo#244973
This update fixes a bug where overtime hours weren't accurately calculated for leave allocations. Previously, the system didn't correctly reflect available overtime when creating or modifying leave allocations. Now, the system accurately tracks and adjusts overtime based on the allocation, ensuring accurate overtime deductions.
Original PR description
Issue : - After commit odoo/odoo@6d7f4012cfa06b35089e7557522fcbf658978b37, the `employee_overtime` field in `hr_holidays_attendance` was converted to a computed field on `hr.leave` model to use the…
Issue : - After commit odoo/odoo@6d7f4012cfa06b35089e7557522fcbf658978b37, the `employee_overtime` field in `hr_holidays_attendance` was converted to a computed field on `hr.leave` model to use the new overtime deduction logic. However, the same change was not applied to `hr.leave.allocation` model. Steps to Reproduce: - 1. Create a Leave Allocation for an employee who has extra overtime hours. 2. Set the allocation less than the available extra hours. 3. In 19.0, when saving the allocation and creating a new allocation for the same employee: - The `employee_overtime` value did not update. - Even though the actual extra hours were reduced, the field still showed the old value. Fix: - After this fix, the `employee_overtime` field in `hr.leave.allocation` is computed correctly, reflecting the actual available overtime hours. This commit updates `hr.leave.allocation` by: - Converting `employee_overtime` to a computed field. - Computing its value using `_get_deductible_employee_overtime`. This aligns the overtime computation between leave requests (`hr.leave`) and leave allocations (`hr.leave.allocation`). Before Fix: - <img width="1898" height="659" alt="before_fix" src="https://github.com/user-attachments/assets/e4797a17-1031-4ba7-81c8-9ab09494134d" /> After Fix: - <img width="1902" height="623" alt="after_fix" src="https://github.com/user-attachments/assets/9d592795-20f6-40ce-bf42-a157769589a5" /> opw-5479200 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 Forward-Port-Of: odoo/odoo#245881
This update resolves an issue where the website's 'Click & Collect' functionality didn't consistently show full store opening hours. The change allows users to set opening hours as 'Full Day' for their pickup locations, ensuring accurate availability information is displayed to customers. This improves the customer experience and prevents confusion regarding store operating times.
Original PR description
## Versions 19.0+ ## Issue The website's pick-up in store dialog doesn't show up full opening days. ## Steps to reproduce *Ensure "Click & Collect" is enabled in the Settings* - Go to "Delivery…
## Versions
19.0+
## Issue
The website's pick-up in store dialog doesn't show up full opening days.
## Steps to reproduce
*Ensure "Click & Collect" is enabled in the Settings*
- Go to "Delivery Methods" and edit "Pick up in store":
- Click on the warehouse under the "Stores" tab:
- Change the "Opening Hours" values (set one if needed) by clicking on the internal link:
- Under the "Working Hours" tab, change or add a line with its "Day Period" set to "Full Day" and save.
- Save.
- Ensure the method is "Published".
- Go to the website's shop:
- Look for a product that can be retrieved from the store (e.g. "Chair floor protection");
- Go to checkout and fill forms in until you arrive on the delivery form where you can select a store location:
- Select the warehouse you changed:
- Check the opening hours not displaying the full day's data.
## Cause
`full_day` has been introduced in the calendar via commit 77f860f5d3757e5a56861ac1de95b9ad29ea0dff but its retrieval in `website_sale_collect` was skipped du to `day_period` restrictions. These restrictions exist because we don't want to consider breaks in the opening hours
opw-5904377
Forward-Port-Of: odoo/odoo#247840This change resolves a database error during the KSeF (Polish e-invoice) integration neutralization process. The issue stemmed from a missing column in the 'res_company' table, which has now been corrected by creating a dedicated column for the session key. This ensures smoother database updates and avoids errors during the standard neutralization process.
Original PR description
### Issue: Due to recent [commit] (https://github.com/odoo/odoo/commit/06ff5d42e66b800a7e09a52e9abd51b7fb759cc3) , neutralization of the database is hampered and following error is encountered.…
### Issue:
Due to recent [commit]
(https://github.com/odoo/odoo/commit/06ff5d42e66b800a7e09a52e9abd51b7fb759cc3) , neutralization of the database is hampered and following error is encountered.
Traceback on neutralizing:
```py
odoo.sql_db: bad query: b"-- disable_l10n_pl_edi_integration\n\n-- clear KSeF Credentials\nUPDATE res_company\n SET l10n_pl_edi_certificate = NULL,\n l10n_pl_edi_access_token = NULL,\n l10n_pl_edi_refresh_token = NULL,\n l10n_pl_edi_session_id = NULL,\n l10n_pl_edi_session_key = NULL,\n l10n_pl_edi_session_iv = NULL\n;\n\n-- set test environment parameter\n INSERT INTO ir_config_parameter (key, value, create_date, write_date)\n VALUES ('l10n_pl_edi_ksef.mode', 'test', NOW(), NOW())\n ON CONFLICT (key)\n DO UPDATE SET value = 'test',\n write_date = NOW()\n;"
ERROR: column "l10n_pl_edi_session_key" of relation "res_company" does not exist
LINE 9: l10n_pl_edi_session_key = NULL,
```
Before this commit:
```sql
test_18_pl=> SELECT column_name
FROM information_schema.columns
WHERE table_name = 'res_company'
AND column_name LIKE 'l10n_pl_edi%';
column_name
---------------------------
l10n_pl_edi_certificate
l10n_pl_edi_access_token
l10n_pl_edi_refresh_token
l10n_pl_edi_session_id
(4 rows)
```
After this commit:
```sql
test_18_pl=> SELECT column_name
FROM information_schema.columns
WHERE table_name = 'res_company'
AND column_name LIKE 'l10n_pl_edi%';
column_name
---------------------------
l10n_pl_edi_certificate
l10n_pl_edi_session_iv
l10n_pl_edi_session_key
l10n_pl_edi_access_token
l10n_pl_edi_refresh_token
l10n_pl_edi_session_id
(6 rows)
```
### Solution:
Set attachment=False for the fields `l10n_pl_edi_session_key` and `l10n_pl_edi_session_iv`, ensuring that their columns are created directly on the res.company model instead of being stored as attachments. Eventually, during [neutralizing]
(https://github.com/odoo/odoo/blob/18.0/addons/l10n_pl_edi/data/neutralize.sql#L4-#L10) there won't be any column missing error.
Ticket [link](https://www.odoo.com/odoo/project.task/5751411)
opw-5751411
Forward-Port-Of: odoo/odoo#247130This update fixes an issue where the XML export for VAT listings in the accounting module was incomplete, only showing the first batch of partners. The change ensures that all partners, regardless of the 'Load More' setting, are included in the generated XML file, improving reporting accuracy.
Original PR description
# Steps to reproduce: * Install **Accounting** and **l10n_be_reports**. * Enable **debug mode**. * Go to **Accounting → Reporting → Belgium → Partner VAT Listing**. * Create invoices with invoice…
# Steps to reproduce: * Install **Accounting** and **l10n_be_reports**. * Enable **debug mode**. * Go to **Accounting → Reporting → Belgium → Partner VAT Listing**. * Create invoices with invoice lines with no product set on it, just a label, so that **more than 10 Belgian partners** appear in the report and ensure each partner has a **VAT number**. * Open the report **Options** tab and set **Load More Limit** to **5**. * Click **Load More** until all partners are visible. * Click **Returns** and create a return for the month you have created invoices for, and submit it. * Download the generated XML. # Observed behavior: * The XML file contains only the first batch of partners. * Partners shown after clicking **Load More** are missing from the export. # Cause: * In v17, the XML export button was defined as: https://github.com/odoo/enterprise/blob/42ef1fe589fc4e7fe4b611736253251c44506578/l10n_be_reports/models/partner_vat_listing.py#L53-L59 * This meant clicking the button would go through the [export_file](https://github.com/odoo/enterprise/blob/42ef1fe589fc4e7fe4b611736253251c44506578/account_reports/models/account_report.py#L4927) method, which sets `options['export_mode'] = 'file'` before calling the export function. The test in v17 explicitly sets `export_mode = 'file'` to simulate what `export_file` does in production. * In v19, the architecture changed: - The XML export is now triggered via the account.return workflow and a submission wizard [1.](https://github.com/odoo/enterprise/blob/19.0/l10n_be_reports/wizard/vat_listing_submission_wizard.py) - The wizard's `print_xml` method calls [_get_closing_report_options()](https://github.com/odoo/enterprise/blob/19.0/account_reports/models/account_return.py#L1601) which does NOT set `export_mode = 'file'`. - The controller then calls `dispatch_report_action(options, file_generator)` directly, bypassing `export_file`. * Why the test changed: - In v17 test: `export_mode = 'file'` was set to mimic the `export_file` → `partner_vat_listing_export_to_xml` flow. - In v19 test: `export_mode = 'file'` should NOT be needed in the test because the fix is to set `export_mode = 'file'` inside `partner_vat_listing_export_to_xml` itself. # Fix: * Enable **export mode** when generating the XML. * Ensures all partners are included regardless of the load limit. opw-5494247 Forward-Port-Of: odoo/enterprise#106134
This update resolves a bug preventing users from installing modules after setting up the SEPA accounting module in Odoo Enterprise. The issue stemmed from a failure to automatically refresh the system's module registry, delaying the actual installation process. This ensures modules install correctly after SEPA configuration.
Original PR description
Encountered this bug while trying to reproduce a bug from one of my ticket. **STEP TO REPRODUCE** On a fresh db with module account_accountant. 1. Create a new company with country set to Belgium. After l10n_modules are install, and the chart template loaded: 2. Try installing a module, and notice you can't. **CAUSE** button_install() doesn't reload the registry, so the sepa modules states are set to `to install` but are not install until the registry is reloaded, which doesn't happen on its own. button_immediate_install() does the same as button_install(), and reload the registry which trigger the actual installation process. Forward-Port-Of: odoo/enterprise#106033
This update resolves an issue where accents in legal names were being removed, preventing proper recognition by Mexican tax authorities (SAT). The fix restores the correct handling of accented characters, ensuring accurate data submission for Mexican e-invoices. This ensures compliance with Mexican tax regulations.
Original PR description
Previus commit (odoo#95207) removed accents for names including character ë which indeed its recognized for SAT opw-5897333 Forward-Port-Of: odoo/enterprise#106557
This update resolves an issue where the yearly employer cost calculations in the HR contract salary module were inaccurate. The fix re-introduced a previously reverted change that correctly included representation fees, ensuring accurate cost projections. This improves the reliability of financial reporting.
Original PR description
This PR converted fields/benefits into properties: https://github.com/odoo/enterprise/pull/96385 Then, this PR reverted the changes: https://github.com/odoo/enterprise/pull/101672 But the representation fees benefits was forgotten. This was causing the yearly employer cost to be computed without the representation fees.