Skip to content

Use the State Pension Credit qualifying age, and start-of-year status for Class 4 NI - #1907

Draft
MaxGhenis wants to merge 9 commits into
mainfrom
spc-qualifying-age-class-4-spa
Draft

MaxGhenis wants to merge 9 commits into
mainfrom
spc-qualifying-age-class-4-spa

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #1906

Depends on #1899 (State Pension age by date of birth). Until #1899 merges, this PR's diff includes its commits. This PR's own commits are aa45dd76, the review fixes b9d8573d and cae31319, 09ec4bf0, which follows a merge of main, and 0408ef14, a docs rewrap.

Summary

Two statutory age tests read the wrong State Pension age status. The statutes below were all read on legislation.gov.uk for this PR.

1. The qualifying age for State Pension Credit

State Pension Credit Act 2002 s.1(6): "the qualifying age" means "(a) in the case of a woman, pensionable age; or (b) in the case of a man, the age which is pensionable age in the case of a woman born on the same day as the man." A man born before 6 December 1953 has a pensionable age of 65 (Pensions Act 1995 Sch 4 para 1 rule (1)). His qualifying age is earlier: the day table 1 gives a woman with his date of birth. The model used his own pensionable age (is_SP_age) wherever the law uses the qualifying age.

  • New variables.
  • Refactor. The timetable logic moves from state_pension_age into policyengine_uk/utils/state_pension_age.py, so both ages share one implementation. Set State Pension age from date of birth, including the rise to 67 #1899's full test suite passes unchanged.
  • Who changes. Only men born before 6 December 1953, and only in 2018-19 and earlier. Example: a man born 6 April 1952 reached the qualifying age on 6 May 2014, nearly three years before 65. In 2016-17 the model had him eligible for Universal Credit and not Pension Credit; now it is the reverse.
Consumer Statutory test Now uses
is_pension_credit_eligible, pension_credit_assessable_capital SPCA 2002 s.1(2)(b) "has attained the qualifying age"; s.4(1A) (other member "has not attained the qualifying age") qualifying age
is_uc_eligible (was via is_WA_adult) WRA 2012 s.4(1)(b) "has not reached the qualifying age for state pension credit"; s.4(4) points to SPCA s.1(6); UC Regs 2013 reg 3(2)(a) qualifying age
housing_benefit_eligible, _applicable_amount, _assessable_capital, _applicable_income, _tariff_income HB Regs 2006 reg 5 and HB (SPC) Regs 2006 reg 5 (which set applies); SI 2014/1230 reg 6A(4) (new claims) qualifying age
council_tax_reduction_household_has_pensioner, council_tax_reduction_applicable_amount SI 2012/2885 reg 3(1)(a)(i) (England), SI 2013/3029 reg 3(1)(a)(i) (Wales), SSI 2012/319 reg 12(1) (Scotland) qualifying age
income_support_eligible SSCBA 1992 s.124(1)(aa) "has not attained the qualifying age for state pension credit" qualifying age
is_benefit_cap_exempt_other No age exception in UC Regs 2013 regs 79-83 or HB Regs 2006 Part 8A. Pensioners fall outside the cap because working-age HB (reg 5) and UC (s.4(1)(b)) end at the qualifying age qualifying age
winter_fuel_allowance SI 2000/729 reg 2(1)(b) (as at 2016): "has attained the qualifying age for state pension credit". Revoked 16 September 2024; SI 2024/869 reg 2 uses "has reached pensionable age", and the two agree for every date of birth from 2019-20 qualifying age
ni_liable (Class 1 employee, Class 2), state_pension_type, additional_state_pension, meets_savings_credit_age_requirement (SPCA s.3(1)(a): "has attained pensionable age before 6 April 2016"), HBAI pensioner status pensionable age unchanged (is_SP_age)
pawhp (Scotland), contrib basic income not checked; the payment starts in 2024-25, when the two ages agree for everyone unchanged

is_benefit_cap_exempt_earnings and _health_disability still compute an unused has_pensioner from is_SP_age. That is dead code, which #1820 removes, so this PR leaves it alone to avoid a conflict.

2. Class 4 National Insurance at the start of the tax year

SI 2001/1004 reg 91 excepts "any earner who (a) at the beginning of a year of assessment is over pensionable age". ni_class_4 and ni_class_4_main used defined_for = "ni_liable", which is status on 6 October, so they excepted anyone who reached State Pension age between 6 April and 6 October. HMRC NIM24510: "A person who attains State pension age during the course of the year of assessment remains liable for Class 4 NICs for the whole of that year."

  • New variable. ni_class_4_liable = over_16 and not (months_since_state_pension_age ≥ 6), since 6 April is six months before 6 October. Class 4 now uses it in place of ni_liable.
  • 6 April itself. A person who attains pensionable age on 6 April is over it at the beginning of that year. Pensionable age is attained at the commencement of a day, and the enabling power (SSCBA 1992 s.17(2)(b)) is "to a person having attained pensionable age". The YAML tests pin both sides.
  • ni_liable. Charge employer NI on employees over state pension age #1895, merged since, described ni_liable as covering Class 4 too. 09ec4bf0 narrows its label and documentation to primary Class 1 and Class 2, and the National Insurance docs page now states the Class 4 age rule.
  • Class 1. Employee Class 1 stays on ni_liable: SSCBA 1992 s.6(3) stops primary Class 1 on earnings paid "after he attains pensionable age".
  • Under-16s. The existing over_16 condition is kept. Reg 93's under-16 exception applies only on application for a certificate.

Invariants (stated and tested)

  1. Qualifying age = statute, day by day. test_state_pension_credit_qualifying_age.py reuses Set State Pension age from date of birth, including the rise to 67 #1899's differential population: births every third day from 1945 to 1984 plus both sides of every statutory boundary, both sexes, 13 fiscal years. Set State Pension age from date of birth, including the rise to 67 #1899's statute-text reference (reference_attainment_day) shares no code with the model. For every person, the model's qualifying day equals that reference's day for a woman born the same day, and status on 6 October follows it.
  2. Class 4 = statute, day by day. On the same population, ni_class_4_liable equals "attains pensionable age after 6 April" (reference day vs 6 April), for every person and year.
  3. Ordering. Qualifying age ≤ pensionable age for everyone. They are equal for women and for men born on or after 6 December 1953. has_attained_state_pension_credit_qualifying_age ⊇ is_SP_age, with equality in every year from 2019-20. A companion test checks that 2015-16 to 2018-19 do contain people where the two differ, all of them men born before 6 December 1953, so the checks are not vacuous.
  4. Consumers follow the qualifying age (Hypothesis). Take any set of birth dates, either sex, any year from 2015 to 2030, and single people with no income or capital. Then is_pension_credit_eligible, council_tax_reduction_household_has_pensioner and is_benefit_cap_exempt_other equal the statutory qualifying-age status, is_uc_eligible is its negation, the pension-age CTR personal allowance applies exactly when it holds, and Winter Fuel Payment follows it through 2023-24. A second property test samples only the cohort where the two ages differ (men born 6 April 1950 to 6 December 1953, in 2015-16 to 2018-19), so every run exercises the change.
  5. Class 4 properties (Hypothesis).
    • Liability never resumes: liable next year implies liable this year.
    • Liability ⇔ months_since_state_pension_age < 6.
    • Anyone under State Pension age on 6 October is liable.
    • Class 4 is positive exactly when liable (profits of £60,000).

YAML tests:

  • state_pension_credit_qualifying_age.yaml (20 cases): men born 1950-1953 in 2015-16 to 2018-19, the 6 December 1953 boundary, a woman born the same day, and a couple both born 6 June 1953 who are not a mixed-age couple. The cases cover Pension Credit (eligibility and capital), Universal Credit, Housing Benefit (new claims, applicable amount, tariff income, capital and the guarantee credit route), Income Support, Council Tax Reduction (pensioner status and applicable amount), the benefit cap and Winter Fuel Payment. Every expected day comes from Sch 4 para 1 table 1. Of cases 14-20, the four on the qualifying-age side fail on the parent commit; the three controls pass on both.
  • ni_class_4_liable.yaml (9 cases): the issue's example (born 6 June 1960, State Pension age 6 September 2026: pays (30,000 − 12,570) × 6% = £1,045.80 for 2026-27 and nothing for 2027-28); State Pension age after 6 October; exactly on 6 April 2025 (excepted); on 9 April 2025 (liable); a 2016-17 case at 9%; and Class 1 still stopping at State Pension age.

Tests run locally:

The full suite runs in CI.

Microsimulation impact

Every figure is from full microsimulation runs on Enhanced FRS 2024-25 (policyengine-uk-data-private, snapshot ace89433): the parent commit c820eed9 (#1899 merged with main) against this branch, for each fiscal year 2024-25 to 2030-31.

Qualifying age. There is no change in any year the data covers. In every year from 2024-25 to 2030-31, no person in the data has has_attained_state_pension_credit_qualifying_age different from is_SP_age (0 records, 0 weighted people). Pension Credit, Universal Credit, Housing Benefit, Council Tax Reduction, Income Support and Winter Fuel Payment totals and absolute poverty (BHC and AHC) are unchanged (zero to the nearest £100 and the nearest person). The years this fix changes, 2015-16 to 2018-19, cannot be run: the earliest PolicyEngine UK dataset is Enhanced FRS 2022-23, and simulations extend datasets forward only.

Class 4. Differences are this branch minus the parent commit.

2024-25 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31
Class 4 NI (£m) +35.0 +35.4 +4.4 +5.2 +1.2 +1.3 +1.4
Class 4 payers (thousands) +11.3 +11.4 +3.9 +4.2 +1.5 +3.8 +3.8
Survey records newly paying 48 48 20 32 20 29 29
Household net income (£m) −35.0 −35.4 −4.4 −5.2 −1.2 −1.3 −1.4
Government balance (£m) +35.0 +35.4 +4.4 +5.2 +1.2 +1.3 +1.4
People in absolute poverty, BHC and AHC 0 0 0 0 0 0 0
Class 4 NI on the parent commit (£bn) 2.57 2.61 2.78 2.93 3.08 3.21 3.36
  • Who pays. Everyone newly paying reached State Pension age between 6 April and 6 October of the year (verified: all are over State Pension age on 6 October).
  • 2024-25 and 2025-26. About 265,000 weighted 66-year-olds reach it in that window, and 11,300 of them have profits above the lower profits limit.
  • 2026-27 and 2027-28. Pensions Act 2014 s.26 phases State Pension age up to 67, so fewer people reach it during those years: 120,000 and 150,000 in the window.
  • From 2028-29. It falls at 67. The data's self-employed 67-year-olds above the limit who fall in the window are few (20-29 records), so these years' figures rest on a small sample.
  • Other programmes. Universal Credit, Housing Benefit, Council Tax Reduction, Pension Credit, Income Support, income tax and poverty do not change in any year (zero to the nearest £100 and the nearest person).

Review

An independent Opus 5.5 review of aa45dd76 (Subfleet, --task review --tier standard) returned APPROVE. It verified the refactor, the qualifying-age boundaries, every hand-computed YAML value and the Class 4 rounding. b9d8573d addresses its findings. A second review of b9d8573d also returned APPROVE, with every finding resolved and cases 14-20 re-derived by hand; cae31319 applies its two optional nits, the Class 4 wording and the cohort test's end date. A third review, of cae31319 and 09ec4bf0, returned APPROVE with one cosmetic nit (a long docs line, fixed in 0408ef14); it re-read reg 91(a) and SSCBA s.11(7)(b) and found nothing else relying on ni_liable for Class 4. None of the three reviewers could run the tests, so the test results are the author's local runs and CI. Round-1 findings:

  • Benefit cap and CTR comments now say what the statutes do and what the model leaves out. The cap has no age exception, so a Universal Credit mixed-age couple can be capped. CTR's "pensioner" also requires that neither partner is on UC, IS, income-based JSA or income-related ESA. Behaviour is unchanged; both are follow-ups below.
  • Changelog. The qualifying-age entry now points to the Class 4 entry, which is a separate fragment and changes every year.
  • Tests. Deterministic cases now cover the six switched variables that had none, and a property test targets the affected cohort.
  • 6 April. Reaching State Pension age on 6 April is now labelled as the model's reading of reg 91(a).
  • s.4(1A) is dated from 15 May 2019 (SI 2019/37 art. 3).
  • The offset of 6 months is now a named constant, MONTHS_FROM_TAX_YEAR_START_TO_MID_YEAR.
  • is_WA_adult is left as it is. No model rule reads it now, and Replace generic child and adult flags with each programme's legal definitions #1896 deprecates it while keeping its formula for downstream users.

Caveats and follow-ups

  • Mixed-age couples before 15 May 2019. SPCA s.4(1A) now excludes them from Pension Credit. The model applies that rule in every year, including 2015-16 to 2018-19, the years this PR changes. Not changed here.
  • CTR pensioner status and means-tested benefits. SI 2012/2885 reg 3(1)(a)(ii) (and the Welsh and Scottish equivalents) excludes a person who, or whose partner, is on UC, IS, income-based JSA or income-related ESA. The model doesn't apply that condition. Not changed here.
  • The benefit cap and Universal Credit mixed-age couples. UC Regs 2013 regs 82-83 have no age exception, and GOV.UK says "If you're part of a couple and one of you is under State Pension age, the cap may apply". is_benefit_cap_exempt_other exempts any benefit unit with a member over the qualifying age. That is right for pension-age Housing Benefit, but not for Universal Credit mixed-age couples. Not changed here (Fix benefit cap exemption defects (#1818) #1820 is reworking these variables).
  • Pension-age personal allowances. The pension-age HB and CTR tables split at 65 until 2016, e.g. HB (SPC) Regs Sch 3 para 1 in 2016: £155.60 under 65, £168.70 at 65 or over. They now split by whether pensionable age was reached before 1 April 2021. The model has one aged rate (£181 a week for 2015-16 to 2020-21). Not changed here.

Axiom parity

axiom: uk/statute/ukpga/2002/16/1 encoded-correct (uk/statutes/ukpga/2002/16/1.test.yaml case man_uses_woman_same_birthday_age: a man's qualifying age is a woman's pensionable age for the same birthday)
axiom: uk/statute/ukpga/2012/5/4 encoded-correct (uk/statutes/ukpga/2012/5/4.test.yaml case person_does_not_meet_basic_conditions_after_reaching_state_pension_credit_qualifying_age_without_exception; the qualifying age is a leaf input)
axiom: uk/statute/ukpga/1995/26/schedule/4/paragraph/1 TheAxiomFoundation/rulespec-uk#369 queued (computing pensionable age, and so the qualifying age, from date of birth)
axiom: uk/regulation/uksi/2006/213/5 TheAxiomFoundation/rulespec-uk#370 queued (which Housing Benefit regulations apply, and new claims)
axiom: uk/regulation/uksi/2001/1004/91 TheAxiomFoundation/rulespec-uk#373 queued

🤖 Generated with Claude Code

MaxGhenis and others added 4 commits September 29, 2026 20:41
The State Pension age parameters held one age per year and stayed at 66
from 2020, so the model never applied the Pensions Act 2014 s.26 rise to
67 for people born on or after 6 April 1960. From 2026-27 every
66-year-old counted as over State Pension age.

Encode Pensions Act 1995 Sch 4 para 1 by date of birth, row for row:
age_by_birth_date (the age, in months) and day_by_birth_date (the day,
where the statute sets one), for women and for men born on or after 6
December 1953, plus rule (1) for men born earlier. A person attains
State Pension age on the later of the two.

months_since_last_birthday places each date of birth within the year of
age, measured at 6 October, the middle of the fiscal year. A fractional
age is the exact age; single households use the middle of the year of
age; representative microdata spreads each single year of age and sex
evenly by weight, so the weighted share over State Pension age is the
statutory share (three quarters of 66-year-olds in 2026-27, a quarter
in 2027-28, none after).

state_pension_age is now the person's own State Pension age, and
is_SP_age, the basic/new State Pension split and the Savings Credit age
test (SPCA 2002 s.3(1)(a), including its age-65 limb) all follow it.
No additional State Pension is paid below State Pension age.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A birth instant within a day is the day starting at or after it, so a
  person's legal age on 6 October is their age and each age is attained at
  the commencement of the anniversary (Family Law Reform Act 1969 s.9(1)).
  The time-of-day carry onto the anniversary is gone.
- One helper gives exact age in months (float64), capping months since the
  last birthday a few minutes short of 12 so it never rounds onto the next
  birthday. Hypothesis found that edge.
- Birthdays are spread over the year in any simulation built from data
  (Simulation.built_from_dataset), not whenever weights exceed a million,
  so a constituency or local authority filtered from the data is still
  spread, and filter_dataset carries each person's place into an extract.
- Rewrite the old Savings Credit cases from dates of birth, keep one that
  tests the state_pension_age override, and test the attainment day
  exactly in the day-level differential test.
- male/born_before is a YYYYMMDD number like the scales; labels no longer
  hardcode the date; the NI reference notes its numbering; the removed
  fragment and docs say how to reform the timetable now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… for Class 4

State Pension Credit Act 2002 s.1(6) sets the qualifying age as a woman's
pensionable age, and for a man that of a woman born on the same day. Pension
Credit, Universal Credit (WRA 2012 s.4(1)(b), (4)), Housing Benefit (reg 5 of
SI 2006/213 and 2006/214; SI 2014/1230 reg 6A(4)), Council Tax Reduction
pension-age schemes, Income Support (SSCBA 1992 s.124(1)(aa)), the benefit
cap's pensioner exception and Winter Fuel Payment (SI 2000/729 reg 2(1)(b))
now use it instead of the person's own pensionable age. They differ only for
men born before 6 December 1953, so only in 2018-19 and earlier.

Class 4 NI (SI 2001/1004 reg 91(a)) now excepts only people over State
Pension age at the beginning of the tax year (6 April), not on 6 October.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 2 commits September 30, 2026 08:21
…more tests

- is_benefit_cap_exempt_other: say the cap has no age exception and that
  exempting any unit with a member over the qualifying age misses Universal
  Credit mixed-age couples (UC Regs 2013 reg 3(2)(a)); behaviour unchanged.
- council_tax_reduction_household_has_pensioner: note the unmodelled
  "not on UC, IS, JSA(IB) or ESA(IR)" limb of SI 2012/2885 reg 3(1)(a)(ii).
- is_pension_credit_eligible and YAML case 13: s.4(1A) is in force from 15 May
  2019 (SI 2019/37 art. 3); the model applies it in every year.
- ni_class_4_liable: label the 6 April reading as an interpretation; name the
  six-month offset MONTHS_FROM_TAX_YEAR_START_TO_MID_YEAR (also used by the
  Savings Credit age test).
- Changelog and docs: describe the benefit cap as reaching only working-age
  HB and UC, and point the qualifying-age entry to the Class 4 entry.
- Tests: YAML cases 14-20 pin the HB and CTR applicable amounts, HB tariff
  income and capital, the guarantee credit route and Pension Credit capital
  (4 of the 7 fail on the parent commit; 3 are controls). A property test
  now samples only the cohort where the two ages differ (men born 6 April
  1950 to 6 December 1953, 2015-16 to 2018-19) and also checks the
  pension-age CTR allowance.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Class 4 "stops from the first tax year that begins on or after the day State
Pension age is reached", matching the 6 April reading. The cohort property
test samples births up to 5 December 1953, the last day rule (1) covers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

Overlap with #1940 (mixed-age couples, SI 2019/37). #1940 routes is_pension_credit_eligible, new-claim housing_benefit_eligible and is_uc_eligible through one variable, meets_pension_credit_age_conditions. It also dates this PR's 'the model applies s.4(1A) in every year' exclusion from 15 May 2019, with the art. 4 saving. Whichever merges second should read has_attained_state_pension_credit_qualifying_age in is_mixed_age_couple and meets_pension_credit_age_conditions in place of is_SP_age, and drop the local all-adults test in the three eligibility files in favour of the shared variable.

@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

Coordination with #1944 (mixed-age couples on UC: benefit cap and CTR pensioner status). #1944 rewrites the two is_SP_age lines this PR changes:

  • is_benefit_cap_exempt_other now reads a new housing_benefit_pension_age_regulations_apply (HB Regs 2006 reg 5).
  • council_tax_reduction_household_has_pensioner now reads a new council_tax_reduction_pensioner (SI 2012/2885 reg 3). It includes the UC and legacy-benefit condition that this PR's comment calls "not modelled".

Whichever lands second should:

  1. Move the qualifying-age switch into those two new variables. Both use is_SP_age on is_uc_claimant members, for the attained test and for the working-age-claimant test on the UC award. Keep is_uc_claimant.
  2. Drop this PR's "not modelled" comment.

A review agent merged the two branches in a scratch clone and took #1944's side of the two conflicting files. #1907's consumer assertion then failed for men born 1951-53 in 2017, because the new variables still read is_SP_age. Step 1 is needed, not just a clean textual merge.

🤖 Generated with Claude Code

MaxGhenis and others added 3 commits September 30, 2026 22:47
#1895 described ni_liable as covering primary Class 1, Class 2 and Class 4.
Class 4 now uses ni_class_4_liable (status at 6 April, SI 2001/1004 reg
91(a)), so ni_liable covers primary Class 1 and Class 2 only. The National
Insurance docs page states the Class 4 age rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vahid-ahmadi

Copy link
Copy Markdown
Collaborator

Reviewed: not ready.

The law is right. SPCA 2002 s.1(6) gives men born before 6 December 1953 a qualifying age earlier than their own pensionable age. Reg 91(a) makes Class 4 depend on status at 6 April, and months_since_state_pension_age >= 6 encodes exactly that.

  1. Blocking: this depends on Set State Pension age from date of birth, including the rise to 67 #1899. Rebase after Set State Pension age from date of birth, including the rise to 67 #1899 merges: the branch lacks Set State Pension age from date of birth, including the rise to 67 #1899's latest main merge, and it carries Set State Pension age from date of birth, including the rise to 67 #1899's three state-pension-age-67-phase-in.* changelog fragments.
  2. Blocking: as your own comments say, Date the mixed-age couple Pension Credit exclusion and model the SI 2019/37 saving #1940 and Apply the benefit cap to mixed-age couples on Universal Credit, and keep them off pensioner Council Tax Reduction #1944 need a semantic merge, not just a textual one. Agree the order first. Then move the qualifying-age test into meets_pension_credit_age_conditions, is_mixed_age_couple, housing_benefit_pension_age_regulations_apply and council_tax_reduction_pensioner, and rerun the consumer property test.
  3. Nit: ni_class_4_liable.py:33: treating someone who reaches State Pension age on 6 April as excepted is defensible. But in a household simulation, anyone exactly at State Pension age (66 in 2020-21 to 2025-26, 67 from 2028-29) has a 6 April birthday, so this reading decides every such result. State it in the docs.
  4. Nit: consider dropping the unweighted survey-record counts from the Class 4 table in the description.

Verified: I read SPCA s.1(6), SI 2001/1004 reg 91, SSCBA s.17(2)(b) and NIM24510. SSCBA Sch 2 para 6 is about interest; the age exception is reg 91(a). I checked Class 4 case 1 by hand: (30,000 − 12,570) × 6% = £1,045.80. The new and #1899 YAML tests passed (69/69). The new Python tests and test_state_pension_age.py passed (67/67). Zero effect from the qualifying-age change in the data is expected, because it only changes years up to 2018-19. CI is green.

@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

Composition note: #2015 (stacked on #2009 → #2006) deletes council_tax_reduction_household_has_pensioner in favour of a per-family council_tax_reduction_pensioner (BenUnit). Whichever lands second should move this PR's has_attained_state_pension_credit_qualifying_age test into council_tax_reduction_pensioner.py.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use the State Pension Credit qualifying age, and Class 4 status at the start of the tax year

2 participants