fix: map only overdue payments
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index d1494b7..7b74149 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -622,9 +622,7 @@
return
if not self.account_for_change_amount:
- self.account_for_change_amount = frappe.get_cached_value(
- "Company", self.company, "default_cash_account"
- )
+ self.account_for_change_amount = frappe.get_cached_value('Company', self.company, 'default_cash_account')
from erpnext.stock.get_item_details import get_pos_profile, get_pos_profile_item_details
@@ -1909,17 +1907,17 @@
@frappe.whitelist()
def make_maintenance_schedule(source_name, target_doc=None):
- doclist = get_mapped_doc(
- "Sales Invoice",
- source_name,
- {
- "Sales Invoice": {"doctype": "Maintenance Schedule", "validation": {"docstatus": ["=", 1]}},
- "Sales Invoice Item": {
- "doctype": "Maintenance Schedule Item",
- },
+ doclist = get_mapped_doc("Sales Invoice", source_name, {
+ "Sales Invoice": {
+ "doctype": "Maintenance Schedule",
+ "validation": {
+ "docstatus": ["=", 1]
+ }
},
- target_doc,
- )
+ "Sales Invoice Item": {
+ "doctype": "Maintenance Schedule Item",
+ },
+ }, target_doc)
return doclist
@@ -2555,7 +2553,7 @@
"name": "payment_schedule",
"parent": "sales_invoice"
},
- "condition": lambda doc: doc.outstanding > 0
+ "condition": lambda doc: doc.outstanding > 0 and getdate(doc.due_date) < getdate(),
}
},
postprocess=postprocess_dunning,