account.py 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. # -*- coding: utf-8 -*-
  2. ##############################################################################
  3. #
  4. # Odoo, Open Source Management Solution
  5. # Copyright (C) 2016-TODAY Prime Consulting SA, Cape Verde (<http://prime.cv>).
  6. #
  7. ##############################################################################
  8. from odoo import models, fields, api
  9. class AccountInvoice(models.Model):
  10. _inherit = "account.invoice"
  11. @api.model
  12. def _prepare_refund(self, invoice, date_invoice=None, date=None, description=None, journal_id=None):
  13. """Reset Journal of refund invoice to Source Invoice Journal's Counterpart Journal
  14. """
  15. result = super(AccountInvoice, self)._prepare_refund(invoice, date_invoice, date, description, journal_id)
  16. if journal_id:
  17. journal = self.env['account.journal'].search([('id','=',journal_id)])[0]
  18. if journal.counterpart_journal_id:
  19. journal_id = journal.counterpart_journal_id.id
  20. result['journal_id'] = journal_id
  21. return result
  22. class AccountJournal(models.Model):
  23. _inherit = "account.journal"
  24. counterpart_journal_id = fields.Many2one('account.journal', 'Credit Note Journal', help='Used when credit note invoice is generated.\nKeep empty to use same journal.')