Bootstrap 'TDS' via fixture

This commit is contained in:
Saurabh 2018-05-11 13:16:16 +05:30
parent d9faba962b
commit 2d8a7ee81f
3 changed files with 52 additions and 11 deletions

View File

@ -139,6 +139,9 @@
"Creditors": {
"account_type": "Payable"
},
"TDS": {
"account_type": "Payable"
},
"Payroll Payable": {}
},
"Stock Liabilities": {

View File

@ -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",

View File

@ -16,7 +16,7 @@ def setup(company=None, patch=True):
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 @@ def make_custom_fields():
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 @@ def make_fixtures():
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
}
])