Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
1 Antworten
3053 Ansichten

How can I limit number of invoice created for customers. For the example 1 customers only can have 2 invoices at the same times, it will raise warn if they create the 3rd invoice, any suggestion? thank you so much if anybody can help


Best Regards, Faalih

Avatar
Verwerfen
Beste Antwort

Hi,

You can inherit the account.move model if you are using odoo 13 and account.invoice model if you are using odoo12 and below and add the following constrains.

from odoo.exceptions import ValidationError


class AccountMove(models.Model):
_inherit = "account.move"

@api.constrains('partner_id')
def check_partner_id(self):
for rec in self:
invoices = self.search([('partner_id', '=', rec.partner_id.id),
('id', '!=', rec.id), ('state', '=', 'draft')])
if invoices and len(invoices) > 2:
raise ValidationError(_("You cannot have more than two draft invoice at a time."))

Then it will show validation error like this. Adjust the search domain if you need to consider only the customer invoice.



Thanks

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
1
Nov. 21
5915
2
Feb. 25
1579
2
Juni 24
2178
1
Juni 24
3078
0
Juli 23
1433