[Fix] Division by zero issue (#13362)
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index df0fec8..e8e851d 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -285,7 +285,7 @@
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 07c105c..909fa2c 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -309,7 +309,8 @@
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()