diff --git a/erpnext/accounts/doctype/dunning/dunning.py b/erpnext/accounts/doctype/dunning/dunning.py
index e0d75d3..1daaf06 100644
--- a/erpnext/accounts/doctype/dunning/dunning.py
+++ b/erpnext/accounts/doctype/dunning/dunning.py
@@ -75,16 +75,12 @@
 	when a Payment Entry is submitted.
 	"""
 	for reference in doc.references:
-		if reference.reference_doctype == "Sales Invoice" and reference.outstanding_amount <= 0:
-			unresolved_dunnings = frappe.get_all(
-				"Dunning",
-				filters={
-					"sales_invoice": reference.reference_name,
-					"status": ("!=", "Resolved"),
-					"docstatus": ("!=", 2),
-				},
-				pluck="name",
-			)
+		# Consider partial and full payments
+		if (
+			reference.reference_doctype == "Sales Invoice"
+			and reference.outstanding_amount < reference.total_amount
+		):
+			unresolved_dunnings = get_unresolved_dunnings(reference.reference_name)
 
 			for dunning_name in unresolved_dunnings:
 				resolve = True
@@ -104,6 +100,23 @@
 					dunning.save()
 
 
+def get_unresolved_dunnings(sales_invoice):
+	dunning = frappe.qb.DocType("Dunning")
+	overdue_payment = frappe.qb.DocType("Overdue Payment")
+
+	return (
+		frappe.qb.from_(dunning)
+		.join(overdue_payment)
+		.on(overdue_payment.parent == dunning.name)
+		.select(dunning.name)
+		.where(
+			(dunning.status != "Resolved")
+			& (dunning.docstatus != 2)
+			& (overdue_payment.sales_invoice == sales_invoice)
+		)
+	).run(as_dict=True)
+
+
 @frappe.whitelist()
 def get_dunning_letter_text(dunning_type, doc, language=None):
 	if isinstance(doc, str):
