[patch] Set base amount in Sales Invoice Payment table
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index c7b61d4..b53bbc6 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -344,4 +344,5 @@
execute:frappe.db.set_value("Accounts Settings", "Accounts Settings", "unlink_payment_on_cancellation_of_invoice", 0)
execute:frappe.db.sql("update `tabStock Entry` set total_amount = null where purpose in('Repack', 'Manufacture')")
erpnext.patches.v7_0.repost_gle_for_pi_with_update_stock #2016-11-01
-erpnext.patches.v7_1.add_account_user_role_for_timesheet
\ No newline at end of file
+erpnext.patches.v7_1.add_account_user_role_for_timesheet
+erpnext.patches.v7_0.set_base_amount_in_invoice_payment_table
diff --git a/erpnext/patches/v7_0/set_base_amount_in_invoice_payment_table.py b/erpnext/patches/v7_0/set_base_amount_in_invoice_payment_table.py
new file mode 100644
index 0000000..89ce43b
--- /dev/null
+++ b/erpnext/patches/v7_0/set_base_amount_in_invoice_payment_table.py
@@ -0,0 +1,23 @@
+from __future__ import unicode_literals
+import frappe
+from frappe.utils import flt
+
+def execute():
+ si_list = frappe.db.sql("""
+ select distinct parent
+ from `tabSales Invoice Payment`
+ where docstatus!=2 and amount != 0 and base_amount = 0
+ """)
+
+ count = 0
+ for d in si_list:
+ si = frappe.get_doc("Sales Invoice", d[0])
+ for p in si.get("payments"):
+ if p.amount and not p.base_amount:
+ base_amount = flt(p.amount*si.conversion_rate, si.precision("base_paid_amount"))
+ frappe.db.set_value("Sales Invoice Payment", p.name, "base_amount", base_amount, update_modified=False)
+
+ count +=1
+
+ if count % 200 == 0:
+ frappe.db.commit()
\ No newline at end of file