Skip to content

Commit fa96368

Browse files
authored
Merge pull request #1562 from PolicyEngine/codex/fix-1045
Add qualifying provider check for tax-free childcare
2 parents 2ebdb51 + 3b70486 commit fa96368

5 files changed

Lines changed: 31 additions & 3 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Tax-Free Childcare now requires childcare expenses to be paid to a qualifying provider when that input is supplied.

policyengine_uk/tests/policy/baseline/gov/hmrc/tax_free_childcare/tax_free_childcare.yaml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,15 @@
6767
is_disabled_for_benefits: false
6868
childcare_expenses: 1_000
6969
output:
70-
tax_free_childcare: 250
70+
tax_free_childcare: 250
71+
72+
- name: Non-qualifying provider gets no support
73+
period: 2025
74+
input:
75+
tax_free_childcare_eligible: true
76+
is_parent: false
77+
is_disabled_for_benefits: false
78+
childcare_expenses: 10_000
79+
tax_free_childcare_uses_qualifying_provider: false
80+
output:
81+
tax_free_childcare: 0

policyengine_uk/tests/policy/baseline/gov/hmrc/tax_free_childcare/tax_free_childcare_eligibility.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,3 @@
4949
tax_free_childcare_work_condition: false
5050
output:
5151
tax_free_childcare_eligible: false
52-

policyengine_uk/variables/gov/hmrc/tax_free_childcare/tax_free_childcare.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,13 @@ def formula(person, period, parameters):
2424

2525
# Get childcare expenses
2626
childcare_expense = person("childcare_expenses", period)
27+
uses_qualifying_provider = person(
28+
"tax_free_childcare_uses_qualifying_provider", period
29+
)
30+
eligible_childcare_expense = childcare_expense * uses_qualifying_provider
2731

2832
# Calculate contribution using rate from parameters
29-
contribution = (childcare_expense * p.rate) / (1 - p.rate)
33+
contribution = (eligible_childcare_expense * p.rate) / (1 - p.rate)
3034

3135
# Cap the contribution at the maximum amounts
3236
max_amount = (
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from policyengine_uk.model_api import *
2+
3+
4+
class tax_free_childcare_uses_qualifying_provider(Variable):
5+
label = "Tax-Free Childcare uses a qualifying childcare provider"
6+
documentation = (
7+
"Whether this person's childcare expenses are paid to a qualifying "
8+
"childcare provider for Tax-Free Childcare purposes."
9+
)
10+
entity = Person
11+
definition_period = YEAR
12+
value_type = bool
13+
default_value = True

0 commit comments

Comments
 (0)