feat: early payment discount on sales & purchase orders (#29101)
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py
index c1b056b..0e07abd 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -1708,7 +1708,10 @@
def apply_early_payment_discount(paid_amount, received_amount, doc):
total_discount = 0
- if doc.doctype in ['Sales Invoice', 'Purchase Invoice'] and doc.payment_schedule:
+ eligible_for_payments = ['Sales Order', 'Sales Invoice', 'Purchase Order', 'Purchase Invoice']
+ has_payment_schedule = hasattr(doc, 'payment_schedule') and doc.payment_schedule
+
+ if doc.doctype in eligible_for_payments and has_payment_schedule:
for term in doc.payment_schedule:
if not term.discounted_amount and term.discount and getdate(nowdate()) <= term.discount_date:
if term.discount_type == 'Percentage':