[Draft] Fix fiscal year parameter handling (on-the-fly approach - needs work) #1434
+290
−12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Problem
Previously,
convert_to_fiscal_year_parameters()only covered years 2015-2025 (range(2015, 2026)). When querying parameters for year 2026 or later, the system fell back to January 1 as the reference date instead of April 30.This caused policies that change on April 6 (UK fiscal year start) to not be reflected in annual simulations. For example:
limit=2for 2026 simulations instead oflimit=infinitySolution
convert_instant_to_fiscal_year()function that converts year-only and January 1 queries to April 30 of that yearget_parameters_at_instant()inCountryTaxBenefitSystemto apply this conversion on-the-flyconvert_to_fiscal_year_parameters()a no-op (deprecated) since the conversion is now done on-the-flyThis ensures:
param("2026")returns the April 30, 2026 value (fiscal year 2026/27)param("2026-04-05")are unchangedTest plan
🤖 Generated with Claude Code