Friday, September 11, 2026
2 changes · 19.0
Enhancements to existing features
When Mexican electronic invoice documents are marked as cancelled, the system now records cases where the related journal entry cannot be cancelled automatically. This helps support teams investigate cancellation issues faster without changing the business flow.
Original PR description
In the current state, when an edi document is set to cancelled, the journal entry will attempt to cancel. However, if the cancellation throws a `UserError`, the flow simply continues. This PR adds a logger call to record the failure and help investigate the potential causes. Forward-Port-Of: odoo/enterprise#123511
Logs produced during tests that simulate time now show the actual system time again, making runbot and long-running test logs easier to interpret. The simulated time remains available separately when needed, preserving diagnostic information while improving day-to-day log analysis.
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#287455 Forward-Port-Of: odoo/odoo#287159