@@ -20,22 +20,23 @@ def formula(person, period, parameters):
2020 step_3 = step_2 + 53 * ni .class_2 .flat_rate
2121 class_2_contributions = person ("ni_class_2" , period )
2222 primary_class_1_contributions = person ("ni_class_1_employee_primary" , period )
23- step_4 = step_3 - class_2_contributions - primary_class_1_contributions
23+ step_4_raw = step_3 - class_2_contributions - primary_class_1_contributions
24+ step_4 = max_ (step_4_raw , 0 )
2425 class_4_main_contributions = person ("ni_class_4_main" , period )
2526 other_aggregate_contributions = (
2627 primary_class_1_contributions
2728 + class_2_contributions
2829 + class_4_main_contributions
2930 )
30- case_1 = (step_4 >= 0 ) & (step_4 > other_aggregate_contributions )
31- case_2 = (step_4 >= 0 ) & (step_4 <= other_aggregate_contributions )
32- case_3 = step_4 < 0
31+ case_1 = (step_4_raw >= 0 ) & (step_4_raw > other_aggregate_contributions )
32+ case_2 = (step_4_raw >= 0 ) & (step_4_raw <= other_aggregate_contributions )
33+ case_3 = step_4_raw < 0
3334 step_5 = step_4 / main_rate
3435 profits = person ("self_employment_income" , period )
35- step_6 = lpl - min_ (upl , profits )
36+ step_6 = min_ (upl , profits ) - lpl
3637 step_7 = max_ (0 , step_6 - step_5 )
3738 step_8 = step_7 * add_rate
38- step_9 = max_ (0 , profits - upl )
39+ step_9 = max_ (0 , profits - upl ) * add_rate
3940
4041 return select (
4142 [
0 commit comments