diff --git a/erpnext/accounts/doctype/dunning/dunning.js b/erpnext/accounts/doctype/dunning/dunning.js
index 45fcc43..98462b8 100644
--- a/erpnext/accounts/doctype/dunning/dunning.js
+++ b/erpnext/accounts/doctype/dunning/dunning.js
@@ -200,7 +200,7 @@
 		if (frm.doc.dunning_type) {
 			frappe.call({
 				method:
-				"erpnext.accounts.doctype.dunning.dunning.get_dunning_letter_text",
+					"erpnext.accounts.doctype.dunning.dunning.get_dunning_letter_text",
 				args: {
 					dunning_type: frm.doc.dunning_type,
 					language: frm.doc.language,
@@ -223,12 +223,12 @@
 		frm.trigger("calculate_overdue_days");
 	},
 	rate_of_interest: function (frm) {
-		frm.trigger("calculate_interest_amount");
+		frm.trigger("calculate_interest");
 	},
 	dunning_fee: function (frm) {
 		frm.trigger("calculate_totals");
 	},
-	overdue_payments_add: function(frm) {
+	overdue_payments_add: function (frm) {
 		frm.trigger("calculate_totals");
 	},
 	overdue_payments_remove: function (frm) {
@@ -245,16 +245,16 @@
 			}
 		});
 	},
-	calculate_interest_amount: function (frm) {
+	calculate_interest: function (frm) {
 		frm.doc.overdue_payments.forEach((row) => {
-			const interest_per_year = row.outstanding * frm.doc.rate_of_interest / 100;
-			const interest_amount = flt((interest_per_year * cint(row.overdue_days)) / 365 || 0, precision("interest_amount"));
-			frappe.model.set_value(row.doctype, row.name, "interest_amount", interest_amount);
+			const interest_per_day = frm.doc.rate_of_interest / 100 / 365;
+			const interest = flt((interest_per_day * row.outstanding * cint(row.overdue_days)) / 365 || 0, precision("interest"));
+			frappe.model.set_value(row.doctype, row.name, "interest", interest);
 		});
 	},
 	calculate_totals: function (frm) {
 		const total_interest = frm.doc.overdue_payments
-			.reduce((prev, cur) => prev + cur.interest_amount, 0);
+			.reduce((prev, cur) => prev + cur.interest, 0);
 		const total_outstanding = frm.doc.overdue_payments
 			.reduce((prev, cur) => prev + cur.outstanding, 0);
 		const dunning_amount = flt(total_interest + frm.doc.dunning_fee, precision("dunning_amount"));
@@ -268,7 +268,7 @@
 	make_payment_entry: function (frm) {
 		return frappe.call({
 			method:
-			"erpnext.accounts.doctype.payment_entry.payment_entry.get_payment_entry",
+				"erpnext.accounts.doctype.payment_entry.payment_entry.get_payment_entry",
 			args: {
 				dt: frm.doc.doctype,
 				dn: frm.doc.name,
@@ -282,7 +282,7 @@
 });
 
 frappe.ui.form.on("Overdue Payment", {
-	interest_amount: function(frm, cdt, cdn) {
+	interest: function (frm, cdt, cdn) {
 		frm.trigger("calculate_totals");
 	}
 });
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/dunning/dunning.py b/erpnext/accounts/doctype/dunning/dunning.py
index e4b502a..f1283ae 100644
--- a/erpnext/accounts/doctype/dunning/dunning.py
+++ b/erpnext/accounts/doctype/dunning/dunning.py
@@ -24,10 +24,11 @@
 			self.income_account = frappe.db.get_value("Company", self.company, "default_income_account")
 
 	def validate_overdue_payments(self):
+		daily_interest = self.rate_of_interest / 100 / 365
+
 		for row in self.overdue_payments:
 			row.overdue_days = (getdate(self.posting_date) - getdate(row.due_date)).days or 0
-			interest_per_year = flt(row.outstanding) * flt(self.rate_of_interest) / 100
-			row.interest_amount = (interest_per_year * cint(row.overdue_days)) / 365
+			row.interest = row.outstanding * daily_interest * row.overdue_days
 
 	def validate_totals(self):
 		self.total_outstanding = sum(row.outstanding for row in self.overdue_payments)
diff --git a/erpnext/accounts/doctype/overdue_payment/overdue_payment.json b/erpnext/accounts/doctype/overdue_payment/overdue_payment.json
index bc351d8..99e1646 100644
--- a/erpnext/accounts/doctype/overdue_payment/overdue_payment.json
+++ b/erpnext/accounts/doctype/overdue_payment/overdue_payment.json
@@ -7,6 +7,7 @@
  "field_order": [
   "sales_invoice",
   "payment_schedule",
+  "dunning_level",
   "payment_term",
   "section_break_15",
   "description",
@@ -16,21 +17,18 @@
   "mode_of_payment",
   "column_break_5",
   "invoice_portion",
-  "section_break_9",
+  "section_break_16",
   "payment_amount",
   "outstanding",
   "paid_amount",
   "discounted_amount",
-  "column_break_3",
-  "base_payment_amount",
-  "interest_amount"
+  "interest"
  ],
  "fields": [
   {
    "columns": 2,
    "fieldname": "payment_term",
    "fieldtype": "Link",
-   "in_list_view": 1,
    "label": "Payment Term",
    "options": "Payment Term",
    "print_hide": 1,
@@ -80,10 +78,6 @@
    "read_only": 1
   },
   {
-   "fieldname": "section_break_9",
-   "fieldtype": "Section Break"
-  },
-  {
    "columns": 2,
    "fieldname": "payment_amount",
    "fieldtype": "Currency",
@@ -117,23 +111,12 @@
    "read_only": 1
   },
   {
-   "fieldname": "column_break_3",
-   "fieldtype": "Column Break"
-  },
-  {
-   "fieldname": "base_payment_amount",
-   "fieldtype": "Currency",
-   "label": "Payment Amount (Company Currency)",
-   "options": "Company:company:default_currency",
-   "print_hide": 1,
-   "read_only": 1
-  },
-  {
    "fieldname": "sales_invoice",
    "fieldtype": "Link",
    "in_list_view": 1,
    "label": "Sales Invoice",
    "options": "Sales Invoice",
+   "read_only": 1,
    "reqd": 1
   },
   {
@@ -151,17 +134,30 @@
    "read_only": 1
   },
   {
-   "fieldname": "interest_amount",
+   "default": "1",
+   "fieldname": "dunning_level",
+   "fieldtype": "Int",
+   "in_list_view": 1,
+   "label": "Dunning Level",
+   "read_only": 1
+  },
+  {
+   "fieldname": "section_break_16",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "interest",
    "fieldtype": "Currency",
    "in_list_view": 1,
-   "label": "Interest Amount",
+   "label": "Interest",
+   "options": "currency",
    "read_only": 1
   }
  ],
  "index_web_pages_for_search": 1,
  "istable": 1,
  "links": [],
- "modified": "2021-09-17 12:10:42.278923",
+ "modified": "2021-09-23 13:48:27.898830",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Overdue Payment",
