fix: correctly calculate diff amount for included taxes (#39655)
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py
index 7e88b6b..f23d2c9 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -1032,19 +1032,19 @@
)
base_party_amount = flt(self.base_total_allocated_amount) + flt(base_unallocated_amount)
-
- if self.payment_type == "Receive":
- self.difference_amount = base_party_amount - self.base_received_amount
- elif self.payment_type == "Pay":
- self.difference_amount = self.base_paid_amount - base_party_amount
- else:
- self.difference_amount = self.base_paid_amount - flt(self.base_received_amount)
-
- total_deductions = sum(flt(d.amount) for d in self.get("deductions"))
included_taxes = self.get_included_taxes()
+ if self.payment_type == "Receive":
+ self.difference_amount = base_party_amount - self.base_received_amount + included_taxes
+ elif self.payment_type == "Pay":
+ self.difference_amount = self.base_paid_amount - base_party_amount - included_taxes
+ else:
+ self.difference_amount = self.base_paid_amount - flt(self.base_received_amount) - included_taxes
+
+ total_deductions = sum(flt(d.amount) for d in self.get("deductions"))
+
self.difference_amount = flt(
- self.difference_amount - total_deductions - included_taxes, self.precision("difference_amount")
+ self.difference_amount - total_deductions, self.precision("difference_amount")
)
def get_included_taxes(self):