Beispiel #1
0
 def setUp(self):
     make_employee("*****@*****.**")
     make_employee("*****@*****.**")
     create_payroll_period()
     create_exemption_category()
     frappe.db.sql(
         """delete from `tabEmployee Tax Exemption Declaration`""")
Beispiel #2
0
	def setUp(self):
		create_loan_accounts()
		create_loan_type("Personal Loan", 500000, 8.4,
			is_term_loan=1,
			mode_of_payment='Cash',
			payment_account='Payment Account - _TC',
			loan_account='Loan Account - _TC',
			interest_income_account='Interest Income Account - _TC',
			penalty_income_account='Penalty Income Account - _TC')

		create_loan_type("Stock Loan", 2000000, 13.5, 25, 1, 5, 'Cash', 'Payment Account - _TC', 'Loan Account - _TC',
			'Interest Income Account - _TC', 'Penalty Income Account - _TC')

		create_loan_type("Demand Loan", 2000000, 13.5, 25, 0, 5, 'Cash', 'Payment Account - _TC', 'Loan Account - _TC',
			'Interest Income Account - _TC', 'Penalty Income Account - _TC')

		create_loan_security_type()
		create_loan_security()

		create_loan_security_price("Test Security 1", 500, "Nos", get_datetime() , get_datetime(add_to_date(nowdate(), hours=24)))
		create_loan_security_price("Test Security 2", 250, "Nos", get_datetime() , get_datetime(add_to_date(nowdate(), hours=24)))

		self.applicant1 = make_employee("*****@*****.**")
		if not frappe.db.exists("Customer", "_Test Loan Customer"):
			frappe.get_doc(get_customer_dict('_Test Loan Customer')).insert(ignore_permissions=True)

		self.applicant2 = frappe.db.get_value("Customer", {'name': '_Test Loan Customer'}, 'name')

		create_loan(self.applicant1, "Personal Loan", 280000, "Repay Over Number of Periods", 20)
 def setUp(self):
     self.create_loan_type()
     self.employee = make_employee("*****@*****.**")
     self.create_loan_application()
	def setUp(self):
		create_training_program("Basic Training")
		self.employee = make_employee("*****@*****.**")
		self.employee2 = make_employee("*****@*****.**")
Beispiel #5
0
 def setUp(self):
     self.employee = make_employee("*****@*****.**")
     frappe.db.sql("""delete from `tabEmployee Promotion`""")
    def test_employee_loan(self):
        from erpnext.hr.doctype.salary_structure.test_salary_structure import (
            make_employee, make_salary_structure)
        from erpnext.hr.doctype.employee_loan.test_employee_loan import create_employee_loan

        branch = "Test Employee Branch"
        employee = make_employee("*****@*****.**")
        company = erpnext.get_default_company()
        holiday_list = make_holiday("test holiday for loan")

        if not frappe.db.exists('Salary Component', 'Basic Salary'):
            frappe.get_doc({
                'doctype':
                'Salary Component',
                'salary_component':
                'Basic Salary',
                'salary_component_abbr':
                'BS',
                'type':
                'Earning',
                'accounts': [{
                    'company':
                    company,
                    'default_account':
                    frappe.db.get_value(
                        'Account', {
                            'company': company,
                            'root_type': 'Expense',
                            'account_type': ''
                        }, 'name')
                }]
            }).insert()

        if not frappe.db.get_value('Salary Component Account', {
                'parent': 'Basic Salary',
                'company': company
        }):
            salary_component = frappe.get_doc('Salary Component',
                                              'Basic Salary')
            salary_component.append('accounts', {
                'company': company,
                'default_account': 'Salary - WP'
            })

        company_doc = frappe.get_doc('Company', company)
        if not company_doc.default_payroll_payable_account:
            company_doc.default_payroll_payable_account = frappe.db.get_value(
                'Account', {
                    'company': company,
                    'root_type': 'Liability',
                    'account_type': ''
                }, 'name')
            company_doc.save()

        if not frappe.db.exists('Branch', branch):
            frappe.get_doc({'doctype': 'Branch', 'branch': branch}).insert()

        employee_doc = frappe.get_doc('Employee', employee)
        employee_doc.branch = branch
        employee_doc.holiday_list = holiday_list
        employee_doc.save()

        employee_loan = create_employee_loan(employee, "Personal Loan", 280000,
                                             "Repay Over Number of Periods",
                                             20)
        employee_loan.repay_from_salary = 1
        employee_loan.submit()

        salary_strcture = "Test Salary Structure for Loan"
        if not frappe.db.exists('Salary Structure', salary_strcture):
            salary_strcture = make_salary_structure(
                salary_strcture, [{
                    'employee': employee,
                    'from_date': '2017-01-01',
                    'base': 30000
                }])

            salary_strcture = frappe.get_doc('Salary Structure',
                                             salary_strcture)
            salary_strcture.set('earnings', [{
                'salary_component': 'Basic Salary',
                'abbr': 'BS',
                'amount_based_on_formula': 1,
                'formula': 'base*.5'
            }])
            salary_strcture.save()

        dates = get_start_end_dates('Monthly', nowdate())
        make_process_payroll(start_date=dates.start_date,
                             end_date=dates.end_date,
                             branch=branch)

        name = frappe.db.get_value('Salary Slip', {
            'posting_date': nowdate(),
            'employee': employee
        }, 'name')

        salary_slip = frappe.get_doc('Salary Slip', name)
        for row in salary_slip.loans:
            if row.employee_loan == employee_loan.name:
                interest_amount = (280000 * 8.4) / (12 * 100)
                principal_amount = employee_loan.monthly_repayment_amount - interest_amount
                self.assertEqual(row.interest_amount, interest_amount)
                self.assertEqual(row.principal_amount, principal_amount)
                self.assertEqual(row.total_payment,
                                 interest_amount + principal_amount)

        if salary_slip.docstatus == 0:
            frappe.delete_doc('Salary Slip', name)

        employee_loan.cancel()
        frappe.delete_doc('Employee Loan', employee_loan.name)
	def setUp(self):
		self.create_loan_type()
		self.employee = make_employee("*****@*****.**")
		self.create_loan_application()
Beispiel #8
0
 def setUp(self):
     create_loan_type("Personal Loan", 500000, 8.4)
     self.applicant = make_employee("*****@*****.**")
     create_loan(self.applicant, "Personal Loan", 280000,
                 "Repay Over Number of Periods", 20)
	def setUp(self):
		create_loan_type("Personal Loan", 500000, 8.4)
		self.employee = make_employee("*****@*****.**")
		create_employee_loan(self.employee, "Personal Loan", 280000, "Repay Over Number of Periods", 20)
Beispiel #10
0
	def setUp(self):
		create_loan_accounts()
		create_loan_type("Home Loan", 500000, 9.2, 0, 1, 0, 'Cash', 'Payment Account - _TC', 'Loan Account - _TC',
			'Interest Income Account - _TC', 'Penalty Income Account - _TC', 'Repay Over Number of Periods', 18)
		self.applicant = make_employee("*****@*****.**", "_Test Company")
		self.create_loan_application()
 def setUp(self):
     create_training_program("Basic Training")
     self.employee = make_employee("*****@*****.**")
     self.employee2 = make_employee("*****@*****.**")
	def setUp(self):
		self.employee = make_employee("*****@*****.**")
		frappe.db.sql("""delete from `tabEmployee Promotion`""")
Beispiel #13
0
	def test_employee_loan(self):
		from erpnext.hr.doctype.salary_structure.test_salary_structure import (make_employee,
			make_salary_structure)
		from erpnext.hr.doctype.employee_loan.test_employee_loan import create_employee_loan

		branch = "Test Employee Branch"
		employee = make_employee("*****@*****.**")
		company = erpnext.get_default_company()
		holiday_list = make_holiday("test holiday for loan")

		if not frappe.db.exists('Salary Component', 'Basic Salary'):
			frappe.get_doc({
				'doctype': 'Salary Component',
				'salary_component': 'Basic Salary',
				'salary_component_abbr': 'BS',
				'type': 'Earning',
				'accounts': [{
					'company': company,
					'default_account': frappe.db.get_value('Account',
						{'company': company, 'root_type': 'Expense', 'account_type': ''}, 'name')
				}]
			}).insert()

		if not frappe.db.get_value('Salary Component Account',
			{'parent': 'Basic Salary', 'company': company}):
			salary_component = frappe.get_doc('Salary Component', 'Basic Salary')
			salary_component.append('accounts', {
				'company': company,
				'default_account': 'Salary - WP'
			})

		company_doc = frappe.get_doc('Company', company)
		if not company_doc.default_payroll_payable_account:
			company_doc.default_payroll_payable_account = frappe.db.get_value('Account',
				{'company': company, 'root_type': 'Liability', 'account_type': ''}, 'name')
			company_doc.save()

		if not frappe.db.exists('Branch', branch):
			frappe.get_doc({
				'doctype': 'Branch',
				'branch': branch
			}).insert()

		employee_doc = frappe.get_doc('Employee', employee)
		employee_doc.branch = branch
		employee_doc.holiday_list = holiday_list
		employee_doc.save()

		employee_loan = create_employee_loan(employee,
			"Personal Loan", 280000, "Repay Over Number of Periods", 20)
		employee_loan.repay_from_salary = 1
		employee_loan.submit()

		salary_strcture = "Test Salary Structure for Loan"
		if not frappe.db.exists('Salary Structure', salary_strcture):
			salary_strcture = make_salary_structure(salary_strcture, [{
				'employee': employee,
				'from_date': '2017-01-01',
				'base': 30000
			}])

			salary_strcture = frappe.get_doc('Salary Structure', salary_strcture)
			salary_strcture.set('earnings', [{
				'salary_component': 'Basic Salary',
				'abbr': 'BS',
				'amount_based_on_formula':1,
				'formula': 'base*.5'
			}])
			salary_strcture.save()

		dates = get_start_end_dates('Monthly', nowdate())
		make_payroll_entry(start_date=dates.start_date,
			end_date=dates.end_date, branch=branch)

		name = frappe.db.get_value('Salary Slip',
			{'posting_date': nowdate(), 'employee': employee}, 'name')

		salary_slip = frappe.get_doc('Salary Slip', name)
		for row in salary_slip.loans:
			if row.employee_loan == employee_loan.name:
				interest_amount = (280000 * 8.4)/(12*100)
				principal_amount = employee_loan.monthly_repayment_amount - interest_amount
				self.assertEqual(row.interest_amount, interest_amount)
				self.assertEqual(row.principal_amount, principal_amount)
				self.assertEqual(row.total_payment,
					interest_amount + principal_amount)

		if salary_slip.docstatus == 0:
			frappe.delete_doc('Salary Slip', name)

		employee_loan.cancel()
		frappe.delete_doc('Employee Loan', employee_loan.name)
	def setUp(self):
		make_employee("*****@*****.**")
		make_employee("*****@*****.**")
		create_payroll_period()
		create_exemption_category()
		frappe.db.sql("""delete from `tabEmployee Tax Exemption Declaration`""")