chore: remove ITC patch
This commit is contained in:
parent
ec9861266e
commit
33b54c50ea
@ -192,7 +192,6 @@ erpnext.patches.v13_0.delete_old_sales_reports
|
|||||||
execute:frappe.delete_doc_if_exists("DocType", "Bank Reconciliation")
|
execute:frappe.delete_doc_if_exists("DocType", "Bank Reconciliation")
|
||||||
erpnext.patches.v13_0.move_doctype_reports_and_notification_from_hr_to_payroll #22-06-2020
|
erpnext.patches.v13_0.move_doctype_reports_and_notification_from_hr_to_payroll #22-06-2020
|
||||||
erpnext.patches.v13_0.move_payroll_setting_separately_from_hr_settings #22-06-2020
|
erpnext.patches.v13_0.move_payroll_setting_separately_from_hr_settings #22-06-2020
|
||||||
erpnext.patches.v12_0.create_itc_reversal_custom_fields
|
|
||||||
execute:frappe.reload_doc("regional", "doctype", "e_invoice_settings")
|
execute:frappe.reload_doc("regional", "doctype", "e_invoice_settings")
|
||||||
erpnext.patches.v13_0.check_is_income_tax_component #22-06-2020
|
erpnext.patches.v13_0.check_is_income_tax_component #22-06-2020
|
||||||
erpnext.patches.v13_0.loyalty_points_entry_for_pos_invoice #22-07-2020
|
erpnext.patches.v13_0.loyalty_points_entry_for_pos_invoice #22-07-2020
|
||||||
|
@ -1,167 +0,0 @@
|
|||||||
import frappe
|
|
||||||
from frappe.custom.doctype.custom_field.custom_field import create_custom_fields
|
|
||||||
from frappe.custom.doctype.property_setter.property_setter import make_property_setter
|
|
||||||
|
|
||||||
from erpnext.regional.india.utils import get_gst_accounts
|
|
||||||
|
|
||||||
|
|
||||||
def execute():
|
|
||||||
company = frappe.get_all("Company", filters={"country": "India"}, fields=["name"])
|
|
||||||
if not company:
|
|
||||||
return
|
|
||||||
|
|
||||||
frappe.reload_doc("regional", "doctype", "gst_settings")
|
|
||||||
frappe.reload_doc("accounts", "doctype", "gst_account")
|
|
||||||
|
|
||||||
journal_entry_types = frappe.get_meta("Journal Entry").get_options("voucher_type").split("\n") + [
|
|
||||||
"Reversal Of ITC"
|
|
||||||
]
|
|
||||||
make_property_setter(
|
|
||||||
"Journal Entry", "voucher_type", "options", "\n".join(journal_entry_types), ""
|
|
||||||
)
|
|
||||||
|
|
||||||
custom_fields = {
|
|
||||||
"Journal Entry": [
|
|
||||||
dict(
|
|
||||||
fieldname="reversal_type",
|
|
||||||
label="Reversal Type",
|
|
||||||
fieldtype="Select",
|
|
||||||
insert_after="voucher_type",
|
|
||||||
print_hide=1,
|
|
||||||
options="As per rules 42 & 43 of CGST Rules\nOthers",
|
|
||||||
depends_on="eval:doc.voucher_type=='Reversal Of ITC'",
|
|
||||||
mandatory_depends_on="eval:doc.voucher_type=='Reversal Of ITC'",
|
|
||||||
),
|
|
||||||
dict(
|
|
||||||
fieldname="company_address",
|
|
||||||
label="Company Address",
|
|
||||||
fieldtype="Link",
|
|
||||||
options="Address",
|
|
||||||
insert_after="reversal_type",
|
|
||||||
print_hide=1,
|
|
||||||
depends_on="eval:doc.voucher_type=='Reversal Of ITC'",
|
|
||||||
mandatory_depends_on="eval:doc.voucher_type=='Reversal Of ITC'",
|
|
||||||
),
|
|
||||||
dict(
|
|
||||||
fieldname="company_gstin",
|
|
||||||
label="Company GSTIN",
|
|
||||||
fieldtype="Data",
|
|
||||||
read_only=1,
|
|
||||||
insert_after="company_address",
|
|
||||||
print_hide=1,
|
|
||||||
fetch_from="company_address.gstin",
|
|
||||||
depends_on="eval:doc.voucher_type=='Reversal Of ITC'",
|
|
||||||
mandatory_depends_on="eval:doc.voucher_type=='Reversal Of ITC'",
|
|
||||||
),
|
|
||||||
],
|
|
||||||
"Purchase Invoice": [
|
|
||||||
dict(
|
|
||||||
fieldname="eligibility_for_itc",
|
|
||||||
label="Eligibility For ITC",
|
|
||||||
fieldtype="Select",
|
|
||||||
insert_after="reason_for_issuing_document",
|
|
||||||
print_hide=1,
|
|
||||||
options="Input Service Distributor\nImport Of Service\nImport Of Capital Goods\nITC on Reverse Charge\nIneligible As Per Section 17(5)\nIneligible Others\nAll Other ITC",
|
|
||||||
default="All Other ITC",
|
|
||||||
)
|
|
||||||
],
|
|
||||||
"Purchase Invoice Item": [
|
|
||||||
dict(
|
|
||||||
fieldname="taxable_value",
|
|
||||||
label="Taxable Value",
|
|
||||||
fieldtype="Currency",
|
|
||||||
insert_after="base_net_amount",
|
|
||||||
hidden=1,
|
|
||||||
options="Company:company:default_currency",
|
|
||||||
print_hide=1,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
create_custom_fields(custom_fields, update=True)
|
|
||||||
|
|
||||||
# Patch ITC Availed fields from Data to Currency
|
|
||||||
# Patch Availed ITC for current fiscal_year
|
|
||||||
|
|
||||||
gst_accounts = get_gst_accounts(only_non_reverse_charge=1)
|
|
||||||
|
|
||||||
frappe.db.sql(
|
|
||||||
"""
|
|
||||||
UPDATE `tabCustom Field` SET fieldtype='Currency', options='Company:company:default_currency'
|
|
||||||
WHERE dt = 'Purchase Invoice' and fieldname in ('itc_integrated_tax', 'itc_state_tax', 'itc_central_tax',
|
|
||||||
'itc_cess_amount')
|
|
||||||
"""
|
|
||||||
)
|
|
||||||
|
|
||||||
frappe.db.sql(
|
|
||||||
"""UPDATE `tabPurchase Invoice` set itc_integrated_tax = '0'
|
|
||||||
WHERE trim(coalesce(itc_integrated_tax, '')) = '' """
|
|
||||||
)
|
|
||||||
|
|
||||||
frappe.db.sql(
|
|
||||||
"""UPDATE `tabPurchase Invoice` set itc_state_tax = '0'
|
|
||||||
WHERE trim(coalesce(itc_state_tax, '')) = '' """
|
|
||||||
)
|
|
||||||
|
|
||||||
frappe.db.sql(
|
|
||||||
"""UPDATE `tabPurchase Invoice` set itc_central_tax = '0'
|
|
||||||
WHERE trim(coalesce(itc_central_tax, '')) = '' """
|
|
||||||
)
|
|
||||||
|
|
||||||
frappe.db.sql(
|
|
||||||
"""UPDATE `tabPurchase Invoice` set itc_cess_amount = '0'
|
|
||||||
WHERE trim(coalesce(itc_cess_amount, '')) = '' """
|
|
||||||
)
|
|
||||||
|
|
||||||
# Get purchase invoices
|
|
||||||
invoices = frappe.get_all(
|
|
||||||
"Purchase Invoice",
|
|
||||||
{"posting_date": (">=", "2021-04-01"), "eligibility_for_itc": ("!=", "Ineligible")},
|
|
||||||
["name"],
|
|
||||||
)
|
|
||||||
|
|
||||||
amount_map = {}
|
|
||||||
|
|
||||||
if invoices:
|
|
||||||
invoice_list = set([d.name for d in invoices])
|
|
||||||
|
|
||||||
# Get GST applied
|
|
||||||
amounts = frappe.db.sql(
|
|
||||||
"""
|
|
||||||
SELECT parent, account_head, sum(base_tax_amount_after_discount_amount) as amount
|
|
||||||
FROM `tabPurchase Taxes and Charges`
|
|
||||||
where parent in %s
|
|
||||||
GROUP BY parent, account_head
|
|
||||||
""",
|
|
||||||
(invoice_list),
|
|
||||||
as_dict=1,
|
|
||||||
)
|
|
||||||
|
|
||||||
for d in amounts:
|
|
||||||
amount_map.setdefault(
|
|
||||||
d.parent,
|
|
||||||
{"itc_integrated_tax": 0, "itc_state_tax": 0, "itc_central_tax": 0, "itc_cess_amount": 0},
|
|
||||||
)
|
|
||||||
if not gst_accounts:
|
|
||||||
continue
|
|
||||||
|
|
||||||
if d.account_head in gst_accounts.get("igst_account"):
|
|
||||||
amount_map[d.parent]["itc_integrated_tax"] += d.amount
|
|
||||||
if d.account_head in gst_accounts.get("cgst_account"):
|
|
||||||
amount_map[d.parent]["itc_central_tax"] += d.amount
|
|
||||||
if d.account_head in gst_accounts.get("sgst_account"):
|
|
||||||
amount_map[d.parent]["itc_state_tax"] += d.amount
|
|
||||||
if d.account_head in gst_accounts.get("cess_account"):
|
|
||||||
amount_map[d.parent]["itc_cess_amount"] += d.amount
|
|
||||||
|
|
||||||
for invoice, values in amount_map.items():
|
|
||||||
frappe.db.set_value(
|
|
||||||
"Purchase Invoice",
|
|
||||||
invoice,
|
|
||||||
{
|
|
||||||
"itc_integrated_tax": values.get("itc_integrated_tax"),
|
|
||||||
"itc_central_tax": values.get("itc_central_tax"),
|
|
||||||
"itc_state_tax": values["itc_state_tax"],
|
|
||||||
"itc_cess_amount": values["itc_cess_amount"],
|
|
||||||
},
|
|
||||||
)
|
|
Loading…
x
Reference in New Issue
Block a user