Friday, September 11, 2026
5 changes · 18.0
Enhancements to existing features
This update aligns Mexican electronic invoicing payment calculations with SAT requirements, especially around rounding in payment documents. It helps reduce rejected invoices or compliance issues when issuing payment complements in Mexico.
Luxembourg payroll settings have been updated with the 2026 contribution, employer, general, and tax credit parameters. This helps payroll teams calculate employee pay and related obligations using the latest expected rules for the new year.
Original PR description
Update Luxembourg payroll rule parameters for 2026. Task-6481735
The Belgian CODA Clean module now records clearer information when importing CODA bank files. This helps support teams diagnose import issues faster, reducing investigation time when customers report problems.
Original PR description
This commit will improve the logs of _l10n_be_codaclean_import_coda_files to help the support team to debug possible problem. task-5436868
French partner records now get a more accurate electronic invoicing identifier by checking official directory and Peppol information before falling back to the SIRET-based default. When several possible identifiers are found, users are prompted to choose the correct one, helping avoid incorrect invoice routing.
Original PR description
for existing french partners that dont have their EAS set to the FRCTC, a check will be made to see if they are on the annuaire using the IAP annuaire lines, if one line exists, the identifier is set to that, if more than one line exists, there is no way for us to know which one belongs to that partner, so we prompt the user to go to the partner's settings and choose the correct identifier, if they are not on the annuaire but on peppol, we set the EAS and identiifer to the correct correspoding value found on peppol, if all cases fail, we default to the FRCTC EAS and their SIRET as the identifier. task-id-6327357
This update makes log entries show the actual system time instead of simulated test time when faketime is used. This helps teams read runbot logs more accurately and analyze how long long-running tests really took, while keeping the simulated timestamp available separately if needed.
Original PR description
When using faketime the logs are not showing the real time but the faketime one which can be confusing when listed in the runbot interface. Before the usage of the JSONFormatter, the logs were using the PostgreSQL time, which is the real time. This restores the previous behaviour. Having the faked time oustide JsonFromater is also painful: long running faketimed tests end up with most of their logs stamped to nearly the same real date, preventing any analysis of execution time based on the logs. One drawback of this change is the inability to identify at first sight whether a log was faketimed or not, but at this point it is just a tradeoff, and the faked_created field on the record still allows getting this info if needed. Forward-Port-Of: odoo/odoo#287159