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("hub_node", "doctype", "hub_category") 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,

ERPNext is now GST Ready!

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.

Please refer {gst_document_link} to know more about how to setup and implement GST in ERPNext.

Please contact us at support@erpnext.com, if you have any questions.

Thanks,

ERPNext Team. """.format(gst_document_link=" ERPNext GST Document ") try: sendmail_to_system_managers("[Important] ERPNext GST updates", message) except Exception as e: pass