Odoo18-Base/addons/l10n_hu_edi/wizard/account_move_reversal.py
2025-01-06 10:57:38 +07:00

21 lines
1.0 KiB
Python

from odoo import models
class AccountMoveReversal(models.TransientModel):
_inherit = 'account.move.reversal'
def reverse_moves(self, is_modify=False):
action = super().reverse_moves(is_modify=is_modify)
if is_modify:
# In Hungary, if we do `Reverse and Create Invoice`, the new invoice should have a debit_origin_id pointing to the old invoice.
# Match new invoices to old invoices based on (move_type, journal_id, partner_id, amount_total_in_currency_signed).
for origin in self.move_ids.filtered(lambda m: m.l10n_hu_edi_state):
matched_new_move = self.new_move_ids.filtered(
lambda m: (
(m.move_type, m.journal_id, m.partner_id, m.amount_total_in_currency_signed)
== (origin.move_type, origin.journal_id, origin.partner_id, origin.amount_total_in_currency_signed)
)
)
matched_new_move.write({'debit_origin_id': origin.id})
return action