diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py index df0fec833d9..e8e851d513a 100644 --- a/erpnext/controllers/status_updater.py +++ b/erpnext/controllers/status_updater.py @@ -285,7 +285,7 @@ class StatusUpdater(Document): ifnull((select ifnull(sum(if(%(target_ref_field)s > %(target_field)s, abs(%(target_field)s), abs(%(target_ref_field)s))), 0) / sum(abs(%(target_ref_field)s)) * 100 - from `tab%(target_dt)s` where parent="%(name)s"), 0), 2) + from `tab%(target_dt)s` where parent="%(name)s" having sum(abs(%(target_ref_field)s)) > 0), 0), 2) %(update_modified)s where name='%(name)s'""" % args) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index 07c105c7a1f..909fa2c0529 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -309,7 +309,8 @@ class DeliveryNote(SellingController): for dn in set(updated_delivery_notes): dn_doc = self if (dn == self.name) else frappe.get_doc("Delivery Note", dn) - dn_doc.update_billing_percentage(update_modified=update_modified) + if dn_doc.net_total > 0: + dn_doc.update_billing_percentage(update_modified=update_modified) self.load_from_db()