Odoo18-Base/addons/l10n_no/models/account_move.py
2025-01-06 10:57:38 +07:00

30 lines
1.0 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import models
from stdnum import luhn
class AccountMove(models.Model):
_inherit = "account.move"
def _get_invoice_reference_no_invoice(self):
""" This computes the reference based on the Odoo format.
We calculat reference using invoice number and
partner id and added control digit at last.
"""
return self._get_kid_number()
def _get_invoice_reference_no_partner(self):
""" This computes the reference based on the Odoo format.
We calculat reference using invoice number and
partner id and added control digit at last.
"""
return self._get_kid_number()
def _get_kid_number(self):
self.ensure_one()
invoice_name = ''.join([i for i in self.name if i.isdigit()]).zfill(7)
ref = (str(self.partner_id.id).zfill(7)[-7:] + invoice_name[-7:])
return ref + luhn.calc_check_digit(ref)