Merge pull request #26616 from deepeshgarg007/gst_sales_register_fix
fix(India): Default value for export type
This commit is contained in:
commit
2922fb52cc
@ -293,3 +293,4 @@ erpnext.patches.v13_0.update_job_card_details
|
|||||||
erpnext.patches.v13_0.update_level_in_bom #1234sswef
|
erpnext.patches.v13_0.update_level_in_bom #1234sswef
|
||||||
erpnext.patches.v13_0.add_missing_fg_item_for_stock_entry
|
erpnext.patches.v13_0.add_missing_fg_item_for_stock_entry
|
||||||
erpnext.patches.v13_0.update_subscription_status_in_memberships
|
erpnext.patches.v13_0.update_subscription_status_in_memberships
|
||||||
|
erpnext.patches.v13_0.update_export_type_for_gst
|
||||||
|
24
erpnext/patches/v13_0/update_export_type_for_gst.py
Normal file
24
erpnext/patches/v13_0/update_export_type_for_gst.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import frappe
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
company = frappe.get_all('Company', filters = {'country': 'India'})
|
||||||
|
if not company:
|
||||||
|
return
|
||||||
|
|
||||||
|
# Update custom fields
|
||||||
|
fieldname = frappe.db.get_value('Custom Field', {'dt': 'Customer', 'fieldname': 'export_type'})
|
||||||
|
if fieldname:
|
||||||
|
frappe.db.set_value('Custom Field', fieldname, 'default', '')
|
||||||
|
|
||||||
|
fieldname = frappe.db.get_value('Custom Field', {'dt': 'Supplier', 'fieldname': 'export_type'})
|
||||||
|
if fieldname:
|
||||||
|
frappe.db.set_value('Custom Field', fieldname, 'default', '')
|
||||||
|
|
||||||
|
# Update Customer/Supplier Masters
|
||||||
|
frappe.db.sql("""
|
||||||
|
UPDATE `tabCustomer` set export_type = '' WHERE gst_category NOT IN ('SEZ', 'Overseas', 'Deemed Export')
|
||||||
|
""")
|
||||||
|
|
||||||
|
frappe.db.sql("""
|
||||||
|
UPDATE `tabSupplier` set export_type = '' WHERE gst_category NOT IN ('SEZ', 'Overseas')
|
||||||
|
""")
|
@ -280,9 +280,15 @@ class GSTR3BReport(Document):
|
|||||||
if self.get('invoice_items'):
|
if self.get('invoice_items'):
|
||||||
# Build itemised tax for export invoices, nil and exempted where tax table is blank
|
# Build itemised tax for export invoices, nil and exempted where tax table is blank
|
||||||
for invoice, items in iteritems(self.invoice_items):
|
for invoice, items in iteritems(self.invoice_items):
|
||||||
if invoice not in self.items_based_on_tax_rate and (self.invoice_detail_map.get(invoice, {}).get('export_type')
|
if invoice not in self.items_based_on_tax_rate and self.invoice_detail_map.get(invoice, {}).get('export_type') \
|
||||||
== "Without Payment of Tax"):
|
== "Without Payment of Tax" and self.invoice_detail_map.get(invoice, {}).get('gst_category') == "Overseas":
|
||||||
self.items_based_on_tax_rate.setdefault(invoice, {}).setdefault(0, items.keys())
|
self.items_based_on_tax_rate.setdefault(invoice, {}).setdefault(0, items.keys())
|
||||||
|
else:
|
||||||
|
for item in items.keys():
|
||||||
|
if item in self.is_nil_exempt + self.is_non_gst and \
|
||||||
|
item not in self.items_based_on_tax_rate.get(invoice, {}).get(0, []):
|
||||||
|
self.items_based_on_tax_rate.setdefault(invoice, {}).setdefault(0, [])
|
||||||
|
self.items_based_on_tax_rate[invoice][0].append(item)
|
||||||
|
|
||||||
def set_outward_taxable_supplies(self):
|
def set_outward_taxable_supplies(self):
|
||||||
inter_state_supply_details = {}
|
inter_state_supply_details = {}
|
||||||
|
@ -641,7 +641,6 @@ def make_custom_fields(update=True):
|
|||||||
'label': 'Export Type',
|
'label': 'Export Type',
|
||||||
'fieldtype': 'Select',
|
'fieldtype': 'Select',
|
||||||
'insert_after': 'gst_category',
|
'insert_after': 'gst_category',
|
||||||
'default': 'Without Payment of Tax',
|
|
||||||
'depends_on':'eval:in_list(["SEZ", "Overseas"], doc.gst_category)',
|
'depends_on':'eval:in_list(["SEZ", "Overseas"], doc.gst_category)',
|
||||||
'options': '\nWith Payment of Tax\nWithout Payment of Tax'
|
'options': '\nWith Payment of Tax\nWithout Payment of Tax'
|
||||||
}
|
}
|
||||||
@ -660,7 +659,6 @@ def make_custom_fields(update=True):
|
|||||||
'label': 'Export Type',
|
'label': 'Export Type',
|
||||||
'fieldtype': 'Select',
|
'fieldtype': 'Select',
|
||||||
'insert_after': 'gst_category',
|
'insert_after': 'gst_category',
|
||||||
'default': 'Without Payment of Tax',
|
|
||||||
'depends_on':'eval:in_list(["SEZ", "Overseas", "Deemed Export"], doc.gst_category)',
|
'depends_on':'eval:in_list(["SEZ", "Overseas", "Deemed Export"], doc.gst_category)',
|
||||||
'options': '\nWith Payment of Tax\nWithout Payment of Tax'
|
'options': '\nWith Payment of Tax\nWithout Payment of Tax'
|
||||||
}
|
}
|
||||||
|
@ -286,7 +286,8 @@ class Gstr1Report(object):
|
|||||||
# Build itemised tax for export invoices where tax table is blank
|
# Build itemised tax for export invoices where tax table is blank
|
||||||
for invoice, items in iteritems(self.invoice_items):
|
for invoice, items in iteritems(self.invoice_items):
|
||||||
if invoice not in self.items_based_on_tax_rate and invoice not in unidentified_gst_accounts_invoice \
|
if invoice not in self.items_based_on_tax_rate and invoice not in unidentified_gst_accounts_invoice \
|
||||||
and frappe.db.get_value(self.doctype, invoice, "export_type") == "Without Payment of Tax":
|
and self.invoices.get(invoice, {}).get('export_type') == "Without Payment of Tax" \
|
||||||
|
and self.invoices.get(invoice, {}).get('gst_category') == "Overseas":
|
||||||
self.items_based_on_tax_rate.setdefault(invoice, {}).setdefault(0, items.keys())
|
self.items_based_on_tax_rate.setdefault(invoice, {}).setdefault(0, items.keys())
|
||||||
|
|
||||||
def get_columns(self):
|
def get_columns(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user