refactor: rename interest_amount to interest, dunning_level
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",