diff --git a/erpnext/accounts/doctype/subscriptions/subscriptions.py b/erpnext/accounts/doctype/subscriptions/subscriptions.py
index 02a30a8..a193e69 100644
--- a/erpnext/accounts/doctype/subscriptions/subscriptions.py
+++ b/erpnext/accounts/doctype/subscriptions/subscriptions.py
@@ -305,7 +305,7 @@
 			)
 
 		elif plan_items:
-			prorate_factor = self.get_prorata_factor(self.current_invoice_end, self.current_invoice_start)
+			prorate_factor = get_prorata_factor(self.current_invoice_end, self.current_invoice_start)
 
 			item_names = frappe.db.sql(
 				'select item as item_code, cost * %s as rate from `tabSubscription Plan` where name in %s',
@@ -331,7 +331,7 @@
 	def process_for_active(self):
 		"""
 		Called by `process` if the status of the `Subscription` is 'Active'.
-		
+
 		The possible outcomes of this method are:
 		1. Generate a new invoice
 		2. Change the `Subscription` status to 'Past Due Date'
@@ -421,19 +421,20 @@
 		else:
 			frappe.throw(_('You cannot restart a Subscription that is not cancelled.'))
 
-	def get_prorata_factor(self, period_end, period_start):
-		diff = flt(date_diff(nowdate(), period_start) + 1)
-		plan_days = flt(date_diff(period_end, period_start) + 1)
-		prorate_factor = diff / plan_days
-
-		return prorate_factor
-
 	def get_precision(self):
 		invoice = self.get_current_invoice()
 		if invoice:
 			return invoice.precision('grand_total')
 
 
+def get_prorata_factor(period_end, period_start):
+	diff = flt(date_diff(nowdate(), period_start) + 1)
+	plan_days = flt(date_diff(period_end, period_start) + 1)
+	prorate_factor = diff / plan_days
+
+	return prorate_factor
+
+
 def process_all():
 	"""
 	Task to updates the status of all `Subscription` apart from those that are cancelled
diff --git a/erpnext/accounts/doctype/subscriptions/test_subscriptions.py b/erpnext/accounts/doctype/subscriptions/test_subscriptions.py
index b290f00..5e44197 100644
--- a/erpnext/accounts/doctype/subscriptions/test_subscriptions.py
+++ b/erpnext/accounts/doctype/subscriptions/test_subscriptions.py
@@ -6,6 +6,7 @@
 import unittest
 
 import frappe
+from erpnext.accounts.doctype.subscriptions.subscriptions import get_prorata_factor
 from frappe.utils.data import nowdate, add_days, add_to_date, add_months, date_diff, flt
 
 
@@ -297,7 +298,7 @@
 
 		self.assertEqual(
 			flt(
-				subscription.get_prorata_factor(subscription.current_invoice_end, subscription.current_invoice_start),
+				get_prorata_factor(subscription.current_invoice_end, subscription.current_invoice_start),
 				2),
 			flt(prorate_factor, 2)
 		)
