from __future__ import unicode_literals import frappe from frappe.email import sendmail_to_system_managers def execute(): frappe.reload_doc('stock', 'doctype', 'item') frappe.reload_doc("stock", "doctype", "customs_tariff_number") frappe.reload_doc("accounts", "doctype", "payment_terms_template") frappe.reload_doc("accounts", "doctype", "payment_schedule") company = frappe.get_all('Company', filters = {'country': 'India'}) if not company: return frappe.reload_doc('regional', 'doctype', 'gst_settings') frappe.reload_doc('regional', 'doctype', 'gst_hsn_code') for report_name in ('GST Sales Register', 'GST Purchase Register', 'GST Itemised Sales Register', 'GST Itemised Purchase Register'): frappe.reload_doc('regional', 'report', frappe.scrub(report_name)) from erpnext.regional.india.setup import setup delete_custom_field_tax_id_if_exists() setup(patch=True) send_gst_update_email() def delete_custom_field_tax_id_if_exists(): for field in frappe.db.sql_list("""select name from `tabCustom Field` where fieldname='tax_id' and dt in ('Sales Order', 'Sales Invoice', 'Delivery Note')"""): frappe.delete_doc("Custom Field", field, ignore_permissions=True) frappe.db.commit() def send_gst_update_email(): message = """Hello, <p>ERPNext is now GST Ready!</p> <p>To start making GST Invoices from 1st of July, you just need to create new Tax Accounts, Templates and update your Customer's and Supplier's GST Numbers.</p> <p>Please refer {gst_document_link} to know more about how to setup and implement GST in ERPNext.</p> <p>Please contact us at support@erpnext.com, if you have any questions.</p> <p>Thanks,</p> ERPNext Team. """.format(gst_document_link="<a href='http://frappe.github.io/erpnext/user/manual/en/regional/india/'> ERPNext GST Document </a>") try: sendmail_to_system_managers("[Important] ERPNext GST updates", message) except Exception as e: pass