Bootstrap 'TDS' via fixture
diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/in_standard_chart_of_accounts.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/in_standard_chart_of_accounts.json
index bc7f965..f2c767f 100644
--- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/in_standard_chart_of_accounts.json
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/in_standard_chart_of_accounts.json
@@ -139,6 +139,9 @@
"Creditors": {
"account_type": "Payable"
},
+ "TDS": {
+ "account_type": "Payable"
+ },
"Payroll Payable": {}
},
"Stock Liabilities": {
diff --git a/erpnext/hr/doctype/employee/employee.json b/erpnext/hr/doctype/employee/employee.json
index 3527197..cc3fb7f 100644
--- a/erpnext/hr/doctype/employee/employee.json
+++ b/erpnext/hr/doctype/employee/employee.json
@@ -2766,7 +2766,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2018-05-10 07:52:24.326361",
+ "modified": "2018-05-11 12:48:46.435484",
"modified_by": "Administrator",
"module": "HR",
"name": "Employee",
diff --git a/erpnext/regional/india/setup.py b/erpnext/regional/india/setup.py
index 0073d33..f035249 100644
--- a/erpnext/regional/india/setup.py
+++ b/erpnext/regional/india/setup.py
@@ -16,7 +16,7 @@
add_print_formats()
if not patch:
update_address_template()
- make_fixtures()
+ make_fixtures(company)
def update_address_template():
with open(os.path.join(os.path.dirname(__file__), 'address_template.html'), 'r') as f:
@@ -189,15 +189,13 @@
create_custom_fields(custom_fields, ignore_validate = frappe.flags.in_patch)
-def make_fixtures():
- docs = [
- {'doctype': 'Salary Component', 'salary_component': 'Professional Tax', 'description': 'Professional Tax', 'type': 'Deduction'},
- {'doctype': 'Salary Component', 'salary_component': 'Provident Fund', 'description': 'Provident fund', 'type': 'Deduction'},
- {'doctype': 'Salary Component', 'salary_component': 'House Rent Allowance', 'description': 'House Rent Allowance', 'type': 'Earning'},
- {'doctype': 'Salary Component', 'salary_component': 'Basic', 'description': 'Basic', 'type': 'Earning'},
- {'doctype': 'Salary Component', 'salary_component': 'Arrear', 'description': 'Arrear', 'type': 'Earning'},
- {'doctype': 'Salary Component', 'salary_component': 'Leave Encashment', 'description': 'Leave Encashment', 'type': 'Earning'}
- ]
+def make_fixtures(company=None):
+ docs = []
+ company = company.name if company else frappe.db.get_value("Global Defaults", None, "default_company")
+
+ set_salary_components(docs)
+ set_tds_account(docs, company)
+ set_tax_withholding_category(docs, company)
for d in docs:
try:
@@ -206,3 +204,43 @@
doc.insert()
except frappe.NameError:
pass
+
+def set_salary_components(docs):
+ docs.extend([
+ {'doctype': 'Salary Component', 'salary_component': 'Professional Tax', 'description': 'Professional Tax', 'type': 'Deduction'},
+ {'doctype': 'Salary Component', 'salary_component': 'Provident Fund', 'description': 'Provident fund', 'type': 'Deduction'},
+ {'doctype': 'Salary Component', 'salary_component': 'House Rent Allowance', 'description': 'House Rent Allowance', 'type': 'Earning'},
+ {'doctype': 'Salary Component', 'salary_component': 'Basic', 'description': 'Basic', 'type': 'Earning'},
+ {'doctype': 'Salary Component', 'salary_component': 'Arrear', 'description': 'Arrear', 'type': 'Earning'},
+ {'doctype': 'Salary Component', 'salary_component': 'Leave Encashment', 'description': 'Leave Encashment', 'type': 'Earning'}
+ ])
+
+def set_tax_withholding_category(docs, company):
+ accounts = []
+ tds_account = frappe.db.get_value("Account", filter={"account_type": "Payable",
+ "account_name": "TDS", "company": company})
+
+ if company and tds_account:
+ accounts = [
+ {
+ 'company': company,
+ 'account': tds_account
+ }
+ ]
+
+ docs.extend([
+ {
+ 'doctype': 'Tax Withholding Category', '__newname': 'TDS',
+ 'percent_of_tax_withheld': 10,'threshold': 150000, 'book_on_invoice': 1,
+ 'book_on_advance': 0, "withhold_cumulative_tax_amount": 0,
+ 'accounts': accounts
+ }
+ ])
+
+def set_tds_account(docs, company):
+ docs.extend([
+ {
+ 'doctype': 'Account', 'account_name': 'TDS', 'account_type': 'Payable',
+ 'parent_account': 'Accounts Payable', 'company': company
+ }
+ ])
\ No newline at end of file