Add default party accounts in customer/supplier
diff --git a/erpnext/patches/v4_2/party_model.py b/erpnext/patches/v4_2/party_model.py
index 2871531..929329e 100644
--- a/erpnext/patches/v4_2/party_model.py
+++ b/erpnext/patches/v4_2/party_model.py
@@ -5,15 +5,13 @@
import frappe
def execute():
- try:
- frappe.reload_doc("accounts", "doctype", "account")
- receivable_payable_accounts = create_receivable_payable_account()
+ frappe.reload_doc("accounts", "doctype", "account")
+ receivable_payable_accounts = create_receivable_payable_account()
+ if receivable_payable_accounts:
set_party_in_jv_and_gl_entry(receivable_payable_accounts)
- delete_individual_party_account(receivable_payable_accounts)
+ delete_individual_party_account()
remove_customer_supplier_account_report()
- except:
- print frappe.get_traceback()
- pass
+ add_default_accounts_in_party(receivable_payable_accounts)
def link_warehouse_account():
@@ -95,3 +93,17 @@
def remove_customer_supplier_account_report():
for d in ["Customer Account Head", "Supplier Account Head"]:
frappe.delete_doc("Report", d)
+
+def add_default_accounts_in_party(receivable_payable_accounts):
+ for dt in ["Customer", "Supplier"]:
+ for p in frappe.db.sql("""select name from `tab{0}` where docstatus < 2""".format(dt)):
+ try:
+ party = frappe.get_doc(dt, p[0])
+ for company, accounts in receivable_payable_accounts.items():
+ party.append("party_accounts", {
+ "company": company,
+ "account": accounts["Receivable" if dt == "Customer" else "Payable"]
+ })
+ party.save()
+ except:
+ pass