diff --git a/erpnext/patches.txt b/erpnext/patches.txt index be0013e3ff..253b3194e8 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -308,6 +308,7 @@ erpnext.patches.v7_0.update_refdoc_in_landed_cost_voucher 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 0000000000..1741095ea9 --- /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]})