mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-08 15:42:52 +00:00
feat: add company link to e-invoice settings
This commit is contained in:
@@ -756,3 +756,4 @@ erpnext.patches.v13_0.update_vehicle_no_reqd_condition
|
|||||||
erpnext.patches.v13_0.setup_fields_for_80g_certificate_and_donation
|
erpnext.patches.v13_0.setup_fields_for_80g_certificate_and_donation
|
||||||
erpnext.patches.v13_0.rename_membership_settings_to_non_profit_settings
|
erpnext.patches.v13_0.rename_membership_settings_to_non_profit_settings
|
||||||
erpnext.patches.v12_0.create_taxable_value_field
|
erpnext.patches.v12_0.create_taxable_value_field
|
||||||
|
erpnext.patches.v12_0.add_company_link_to_einvoice_settings
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
from __future__ import unicode_literals
|
||||||
|
import frappe
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
company = frappe.get_all('Company', filters = {'country': 'India'})
|
||||||
|
if not company or not frappe.db.count('E Invoice User'):
|
||||||
|
return
|
||||||
|
|
||||||
|
frappe.reload_doc("regional", "doctype", "e_invoice_user")
|
||||||
|
for creds in frappe.db.get_all('E Invoice User', fields=['name', 'gstin']):
|
||||||
|
company_name = frappe.db.sql("""
|
||||||
|
select dl.link_name from `tabAddress` a, `tabDynamic Link` dl
|
||||||
|
where a.gstin = %s and dl.parent = a.name and dl.link_doctype = 'Company'
|
||||||
|
""", (creds.get('gstin')))
|
||||||
|
if company_name and len(company_name) > 0:
|
||||||
|
frappe.db.set_value('E Invoice User', creds.get('name'), 'company', company_name[0][0])
|
||||||
@@ -5,6 +5,7 @@
|
|||||||
"editable_grid": 1,
|
"editable_grid": 1,
|
||||||
"engine": "InnoDB",
|
"engine": "InnoDB",
|
||||||
"field_order": [
|
"field_order": [
|
||||||
|
"company",
|
||||||
"gstin",
|
"gstin",
|
||||||
"username",
|
"username",
|
||||||
"password"
|
"password"
|
||||||
@@ -30,12 +31,20 @@
|
|||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
"label": "Password",
|
"label": "Password",
|
||||||
"reqd": 1
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "company",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"in_list_view": 1,
|
||||||
|
"label": "Company",
|
||||||
|
"options": "Company",
|
||||||
|
"reqd": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"istable": 1,
|
"istable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2020-12-22 15:10:53.466205",
|
"modified": "2021-03-22 12:16:56.365616",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Regional",
|
"module": "Regional",
|
||||||
"name": "E Invoice User",
|
"name": "E Invoice User",
|
||||||
|
|||||||
@@ -35,11 +35,12 @@ def validate_eligibility(doc):
|
|||||||
if getdate(doc.get('posting_date')) < getdate('2021-04-01'):
|
if getdate(doc.get('posting_date')) < getdate('2021-04-01'):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
invalid_company = not frappe.db.get_value('E Invoice User', { 'company': doc.get('company') })
|
||||||
invalid_supply_type = doc.get('gst_category') not in ['Registered Regular', 'SEZ', 'Overseas', 'Deemed Export']
|
invalid_supply_type = doc.get('gst_category') not in ['Registered Regular', 'SEZ', 'Overseas', 'Deemed Export']
|
||||||
company_transaction = doc.get('billing_address_gstin') == doc.get('company_gstin')
|
company_transaction = doc.get('billing_address_gstin') == doc.get('company_gstin')
|
||||||
no_taxes_applied = not doc.get('taxes')
|
no_taxes_applied = not doc.get('taxes')
|
||||||
|
|
||||||
if invalid_supply_type or company_transaction or no_taxes_applied:
|
if invalid_company or invalid_doctype or invalid_supply_type or company_transaction or no_taxes_applied:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|||||||
Reference in New Issue
Block a user