diff --git a/sale_credit_limit/data/sale_exceptions.xml b/sale_credit_limit/data/sale_exceptions.xml index b8f6192d..0fcc0a4e 100644 --- a/sale_credit_limit/data/sale_exceptions.xml +++ b/sale_credit_limit/data/sale_exceptions.xml @@ -13,7 +13,32 @@ partner_balance = partner.credit + sale.amount_total if partner.credit_limit and partner.credit_limit <= partner_balance: failed = True - + + + + Customer On Credit Hold. + The Customer is on Credit Hold. + Please have the customer contact accounting. + 50 + sale.order + +partner = sale.partner_invoice_id.commercial_partner_id +if partner.credit_hold: + failed = True + + + + + Customer has Overdue Invoices. + The Customer has unpaid overdue invoices. + Please have the customer contact accounting. + 55 + sale.order + +partner = sale.partner_invoice_id.commercial_partner_id +if partner.invoice_ids.filtered(lambda i: i.state == 'posted' and i.invoice_payment_state != 'paid' and (i.invoice_date_due and str(i.invoice_date_due) < time.strftime('%Y-%m-%d',time.gmtime())) and i.type == 'out_invoice'): + failed = True + \ No newline at end of file diff --git a/sale_credit_limit/models/__init__.py b/sale_credit_limit/models/__init__.py index 8a0dc04e..30fb10d9 100644 --- a/sale_credit_limit/models/__init__.py +++ b/sale_credit_limit/models/__init__.py @@ -1 +1,2 @@ +from . import partner from . import sale diff --git a/sale_credit_limit/models/partner.py b/sale_credit_limit/models/partner.py new file mode 100644 index 00000000..84c6db76 --- /dev/null +++ b/sale_credit_limit/models/partner.py @@ -0,0 +1,16 @@ +from odoo import api, fields, models + + +class ResPartner(models.Model): + _inherit = 'res.partner' + + credit_remaining = fields.Float('Credit Remaining', compute='_compute_credit_remaining') + credit_hold = fields.Boolean('Credit Hold') + + @api.depends('credit_limit', 'credit') + def _compute_credit_remaining(self): + for partner in self: + if partner.credit_limit: + partner.credit_remaining = partner.credit_limit - partner.credit + else: + partner.credit_remaining = 0.0 diff --git a/sale_credit_limit/views/partner_views.xml b/sale_credit_limit/views/partner_views.xml index e9dbe0ae..b9aa0885 100644 --- a/sale_credit_limit/views/partner_views.xml +++ b/sale_credit_limit/views/partner_views.xml @@ -7,7 +7,10 @@ - + + + +