[Fix] added account for missing change amount account in the sales invoice
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index be0013e..253b319 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -308,6 +308,7 @@
 erpnext.patches.v7_0.set_material_request_type_in_item
 erpnext.patches.v7_0.rename_examination_to_assessment
 erpnext.patches.v7_0.set_portal_settings
+erpnext.patches.v7_0.update_change_amount_account
 erpnext.patches.v7_0.repost_future_gle_for_purchase_invoice
 erpnext.patches.v7_0.fix_duplicate_icons
 erpnext.patches.v7_0.repost_gle_for_pos_sales_return
diff --git a/erpnext/patches/v7_0/update_change_amount_account.py b/erpnext/patches/v7_0/update_change_amount_account.py
new file mode 100644
index 0000000..1741095
--- /dev/null
+++ b/erpnext/patches/v7_0/update_change_amount_account.py
@@ -0,0 +1,19 @@
+from __future__ import unicode_literals
+import frappe
+from erpnext.accounts.doctype.journal_entry.journal_entry import get_default_bank_cash_account
+
+def execute():
+	frappe.reload_doc('accounts', 'doctype', 'sales_invoice')
+
+	for company in frappe.db.sql("""select company from `tabSales Invoice` 
+		where change_amount <> 0 and account_for_change_amount is null group by company""", as_list = 1):
+		cash_account = get_default_bank_cash_account(company[0], 'Cash').get('account')
+		if not cash_account:
+			bank_account = get_default_bank_cash_account(company[0], 'Bank').get('account')
+			cash_account = bank_account
+
+		if cash_account:
+			frappe.db.sql("""update `tabSales Invoice` 
+				set account_for_change_amount = %(cash_account)s where change_amount <> 0 
+				and company = %(company)s and account_for_change_amount is null""",
+				{'cash_account': cash_account, 'company': company[0]})