fix: allocate amt for payment term invoices
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.js b/erpnext/accounts/doctype/payment_entry/payment_entry.js
index 0203c45..8ae4aa7 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.js
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.js
@@ -874,20 +874,25 @@
 			}
 		}
 
+		let outstanding_amount;
 		$.each(frm.doc.references || [], function(i, row) {
 			if (frappe.flags.allocate_payment_amount == 0) {
 				//If allocate payment amount checkbox is unchecked, set zero to allocate amount
 				row.allocated_amount = 0;
 
-			} else if (frappe.flags.allocate_payment_amount != 0 && (!row.allocated_amount || paid_amount_change)) {
-				if (row.outstanding_amount > 0 && allocated_positive_outstanding >= 0) {
-					row.allocated_amount = (row.outstanding_amount >= allocated_positive_outstanding) ?
-						allocated_positive_outstanding : row.outstanding_amount;
+			} else if (frappe.flags.allocate_payment_amount != 0 && (row.payment_term || !row.allocated_amount || paid_amount_change)) {
+				if(row.payment_term)
+					outstanding_amount = row.allocated_amount;
+				else
+					outstanding_amount = row.outstanding_amount;
+				if (outstanding_amount > 0 && allocated_positive_outstanding >= 0) {
+					row.allocated_amount = (outstanding_amount >= allocated_positive_outstanding) ?
+						allocated_positive_outstanding : outstanding_amount;
 					allocated_positive_outstanding -= flt(row.allocated_amount);
 
-				} else if (row.outstanding_amount < 0 && allocated_negative_outstanding) {
-					row.allocated_amount = (Math.abs(row.outstanding_amount) >= allocated_negative_outstanding) ?
-						-1*allocated_negative_outstanding : row.outstanding_amount;
+				} else if (outstanding_amount < 0 && allocated_negative_outstanding) {
+					row.allocated_amount = (Math.abs(outstanding_amount) >= allocated_negative_outstanding) ?
+						-1*allocated_negative_outstanding : outstanding_amount;
 					allocated_negative_outstanding -= Math.abs(flt(row.allocated_amount));
 				}
 			}