diff --git a/changelog_entry.yaml b/changelog_entry.yaml
index e69de29bb..1a1623bf3 100644
--- a/changelog_entry.yaml
+++ b/changelog_entry.yaml
@@ -0,0 +1,4 @@
+- bump: patch
+ changes:
+ fixed:
+ - Add 2026-27 Scottish income tax threshold freeze to baseline (higher, advanced, and top rates) per Scottish Budget 2025-26.
diff --git a/policyengine_uk/parameters/gov/hmrc/fuel_duty/calculate_fuel_duty_rates.py b/policyengine_uk/parameters/gov/hmrc/fuel_duty/calculate_fuel_duty_rates.py
index f24f902fb..f7864b055 100644
--- a/policyengine_uk/parameters/gov/hmrc/fuel_duty/calculate_fuel_duty_rates.py
+++ b/policyengine_uk/parameters/gov/hmrc/fuel_duty/calculate_fuel_duty_rates.py
@@ -18,7 +18,6 @@
import yaml
-
# Years to calculate rates for
CALCULATION_YEARS = range(2026, 2031)
diff --git a/policyengine_uk/parameters/gov/hmrc/income_tax/rates/scotland/rates.yaml b/policyengine_uk/parameters/gov/hmrc/income_tax/rates/scotland/rates.yaml
index 328ef24ec..488f0af08 100644
--- a/policyengine_uk/parameters/gov/hmrc/income_tax/rates/scotland/rates.yaml
+++ b/policyengine_uk/parameters/gov/hmrc/income_tax/rates/scotland/rates.yaml
@@ -45,6 +45,8 @@ brackets:
2023-04-06: 31_092
2024-04-06: 31_092
2025-04-06: 31_092
+ # Scottish Budget 2025-26 announced freeze through 2026-27
+ 2026-04-06: 31_092
metadata:
uprating: gov.economic_assumptions.indices.obr.consumer_price_index
rate:
@@ -57,6 +59,8 @@ brackets:
2023-04-06: 125_140
2024-04-06: 62_430
2025-04-06: 62_430
+ # Scottish Budget 2025-26 announced freeze through 2026-27
+ 2026-04-06: 62_430
metadata:
uprating: gov.economic_assumptions.indices.obr.consumer_price_index
rate:
@@ -69,6 +73,8 @@ brackets:
2017-04-06: null
2024-04-06: 125_140
2025-04-06: 125_140
+ # Scottish Budget 2025-26 announced freeze through 2026-27
+ 2026-04-06: 125_140
metadata:
uprating: gov.economic_assumptions.indices.obr.consumer_price_index
rate:
@@ -81,3 +87,5 @@ metadata:
reference:
- title: GOV.UK
href: https://www.gov.uk/government/publications/rates-and-allowances-income-tax/income-tax-rates-and-allowances-current-and-past
+ - title: Scottish Budget 2025-26 - Higher rate threshold freeze
+ href: https://www.gov.scot/publications/scottish-budget-2025-26/
diff --git a/policyengine_uk/tests/microsimulation/test_reform_impacts.py b/policyengine_uk/tests/microsimulation/test_reform_impacts.py
index 4e036dd34..24cfde006 100644
--- a/policyengine_uk/tests/microsimulation/test_reform_impacts.py
+++ b/policyengine_uk/tests/microsimulation/test_reform_impacts.py
@@ -8,7 +8,6 @@
from pathlib import Path
from policyengine_uk import Microsimulation
-
# Load configuration from YAML file
config_path = Path(__file__).parent / "reforms_config.yaml"
with open(config_path, "r") as f:
diff --git a/policyengine_uk/tests/microsimulation/test_salary_sacrifice_cap_reform.py b/policyengine_uk/tests/microsimulation/test_salary_sacrifice_cap_reform.py
index 5a76645d9..ec5353ddd 100644
--- a/policyengine_uk/tests/microsimulation/test_salary_sacrifice_cap_reform.py
+++ b/policyengine_uk/tests/microsimulation/test_salary_sacrifice_cap_reform.py
@@ -20,7 +20,6 @@
import pandas as pd
from policyengine_uk import Microsimulation
-
# Policy year when the salary sacrifice cap takes effect
POLICY_YEAR = 2030 # Use 2030 to ensure cap is active (cap starts 2029-04-06)
diff --git a/policyengine_uk/tests/test_behavioral_responses.py b/policyengine_uk/tests/test_behavioral_responses.py
index f28b0c2e6..16f7b50ff 100644
--- a/policyengine_uk/tests/test_behavioral_responses.py
+++ b/policyengine_uk/tests/test_behavioral_responses.py
@@ -16,7 +16,6 @@
from policyengine_uk import Microsimulation
from policyengine_uk.model_api import Scenario
-
# Check if HF token is available for data-dependent tests
HF_TOKEN_AVAILABLE = bool(os.environ.get("HUGGING_FACE_TOKEN"))
requires_hf_data = pytest.mark.skipif(
diff --git a/policyengine_uk/utils/dependencies.py b/policyengine_uk/utils/dependencies.py
index c1ea9d059..71f4126d3 100644
--- a/policyengine_uk/utils/dependencies.py
+++ b/policyengine_uk/utils/dependencies.py
@@ -179,14 +179,12 @@ def create_waterfall_change_chart(
def add_fonts():
- fonts = HTML(
- """
+ fonts = HTML("""
- """
- )
+ """)
return display_html(fonts)
diff --git a/policyengine_uk/variables/gov/hmrc/fuel_duty/fuel_duty.py b/policyengine_uk/variables/gov/hmrc/fuel_duty/fuel_duty.py
index 3169b8db6..b0806780c 100644
--- a/policyengine_uk/variables/gov/hmrc/fuel_duty/fuel_duty.py
+++ b/policyengine_uk/variables/gov/hmrc/fuel_duty/fuel_duty.py
@@ -1,6 +1,5 @@
from policyengine_uk.model_api import *
-
STATUTORY_CONSUMER_INCIDENCE = 0.5
ECONOMIC_CONSUMER_INCIDENCE = 1
diff --git a/policyengine_uk/variables/gov/hmrc/income_tax/reliefs/loss_relief.py b/policyengine_uk/variables/gov/hmrc/income_tax/reliefs/loss_relief.py
index fc5aaecc6..ced48ecb1 100644
--- a/policyengine_uk/variables/gov/hmrc/income_tax/reliefs/loss_relief.py
+++ b/policyengine_uk/variables/gov/hmrc/income_tax/reliefs/loss_relief.py
@@ -1,6 +1,5 @@
from policyengine_uk.model_api import *
-
"""
The section detailing some tax reliefs applicable is section 24 of the Act, but others are described in the 2003 and 2005 Acts as deductions from the respective components.
"""