fix: Additional salary processing

This commit is contained in:
Nabin Hait
2021-08-01 19:47:42 +05:30
parent e555e8cf05
commit 44919ac807

View File

@@ -646,10 +646,13 @@ class SalarySlip(TransactionBase):
continue continue
if ( if (
(not d.additional_salary (
and (not additional_salary or additional_salary.overwrite)) not d.additional_salary
or (additional_salary and (not additional_salary or additional_salary.overwrite)
and additional_salary.name == d.additional_salary) ) or (
additional_salary
and additional_salary.name == d.additional_salary
)
): ):
component_row = d component_row = d
break break
@@ -680,8 +683,13 @@ class SalarySlip(TransactionBase):
component_row.set('abbr', abbr) component_row.set('abbr', abbr)
if additional_salary: if additional_salary:
component_row.default_amount = 0 if additional_salary.overwrite:
component_row.additional_amount = amount component_row.additional_amount = flt(flt(amount) - flt(component_row.get("default_amount", 0)),
component_row.precision("additional_amount"))
else:
component_row.default_amount = 0
component_row.additional_amount = amount
component_row.additional_salary = additional_salary.name component_row.additional_salary = additional_salary.name
component_row.deduct_full_tax_on_selected_payroll_date = \ component_row.deduct_full_tax_on_selected_payroll_date = \
additional_salary.deduct_full_tax_on_selected_payroll_date additional_salary.deduct_full_tax_on_selected_payroll_date