diff --git a/erpnext/payroll/doctype/salary_slip/salary_slip.py b/erpnext/payroll/doctype/salary_slip/salary_slip.py index dedc880da60..8034f01bc63 100644 --- a/erpnext/payroll/doctype/salary_slip/salary_slip.py +++ b/erpnext/payroll/doctype/salary_slip/salary_slip.py @@ -632,7 +632,11 @@ class SalarySlip(TransactionBase): continue amount = self.eval_condition_and_formula(struct_row, data) - if amount is not None and struct_row.statistical_component == 0: + if ( + amount + or (struct_row.amount_based_on_formula and amount is not None) + and struct_row.statistical_component == 0 + ): self.update_component_row(struct_row, amount, component_type, data=data) def get_data_for_eval(self):