fix: Don't add to deductions if amount is 0
- misc: better docstring
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py
index 6e612ee..f927b1b 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -1941,7 +1941,7 @@
def set_early_payment_discount_loss(pe, doc, valid_discounts, discount_amount):
- """Split early bird discount deductions into Income Loss & Tax Loss."""
+ """Split early payment discount into Income Loss & Tax Loss."""
if not (discount_amount and valid_discounts):
return discount_amount
@@ -2013,12 +2013,16 @@
for account, loss in tax_discount_loss.items():
total_tax_loss += loss
+ amount = flt(loss * doc.get("conversion_rate", 1), precision)
+ if amount == 0.0:
+ continue
+
pe.append(
"deductions",
{
"account": account,
"cost_center": pe.cost_center or frappe.get_cached_value("Company", pe.company, "cost_center"),
- "amount": flt(loss * doc.get("conversion_rate", 1), precision),
+ "amount": amount,
},
)