Thursday, August 27, 2026
2 changes · 17.0
Resolved issues and error corrections
This fixes a billing issue where timesheets could lose their connection to a replacement invoice after reversing and recreating an invoice with a credit note. Businesses retain accurate invoice records for time-based work, reducing billing confusion and manual follow-up.
Original PR description
### Description of the issue/feature this PR addresses: Fixes an issue where timesheets lose their invoice reference when reversing and re-creating an invoice via a credit note. ### Current behavior…
### Description of the issue/feature this PR addresses: Fixes an issue where timesheets lose their invoice reference when reversing and re-creating an invoice via a credit note. ### Current behavior before PR: When reversing an invoice tied to timesheets and creating a replacement via a credit note, the timesheets linked to the original invoice have their timesheet_invoice_id cleared. Because the modify_moves function builds the replacement invoice directly via copy_data()/create(), it bypasses the normal sale order invoicing flow. As a result, the unbilled timesheets are left permanently unlinked from the newly created invoice, leaving the new invoice with no reference to the timesheets linked to the original sale order. ### Desired behavior after PR is merged: When a replacement invoice is created, each timesheet is properly relinked to the corresponding line on the new invoice. This linkage matches on the sale order line (so_line) rather than line position, ensuring accuracy since line order and count are not guaranteed to be preserved between the original and modified invoices. opw-6449995 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes how the Uruguay electronic invoicing module determines the exchange rate used for invoices. It helps ensure electronic invoice data matches the invoice values more accurately, reducing reporting or compliance discrepancies.
Original PR description
Backport of #128190 Unfortunately this fix cannot use invoice_currency_rate because this field appears on 18.0 To simulate this we do it manually, but this can raise the issue described on #64838 For this cases will be better idea to upgrade to 18.0 OPW-6499306