# Copyright (c) 2021, Frappe and Contributors # License: GNU General Public License v3. See license.txt import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields def execute(): frappe.reload_doc('accounts', 'doctype', 'advance_taxes_and_charges') frappe.reload_doc('accounts', 'doctype', 'payment_entry') if frappe.db.exists('Company', {'country': 'India'}): custom_fields = { 'Payment Entry': [ dict(fieldname='gst_section', label='GST Details', fieldtype='Section Break', insert_after='deductions', print_hide=1, collapsible=1), dict(fieldname='company_address', label='Company Address', fieldtype='Link', insert_after='gst_section', print_hide=1, options='Address'), dict(fieldname='company_gstin', label='Company GSTIN', fieldtype='Data', insert_after='company_address', fetch_from='company_address.gstin', print_hide=1, read_only=1), dict(fieldname='place_of_supply', label='Place of Supply', fieldtype='Data', insert_after='company_gstin', print_hide=1, read_only=1), dict(fieldname='customer_address', label='Customer Address', fieldtype='Link', insert_after='place_of_supply', print_hide=1, options='Address', depends_on = 'eval:doc.party_type == "Customer"'), dict(fieldname='customer_gstin', label='Customer GSTIN', fieldtype='Data', insert_after='customer_address', fetch_from='customer_address.gstin', print_hide=1, read_only=1) ] } create_custom_fields(custom_fields, update=True) else: fields = ['gst_section', 'company_address', 'company_gstin', 'place_of_supply', 'customer_address', 'customer_gstin'] for field in fields: frappe.delete_doc_if_exists("Custom Field", f"Payment Entry-{field}")