Skip to content

Commit ac9cb69

Browse files
Add rural fuel duty relief (#1672)
Co-authored-by: Max Ghenis <mghenis@gmail.com>
1 parent 22f3fbb commit ac9cb69

5 files changed

Lines changed: 88 additions & 1 deletion

File tree

changelog.d/676.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add the Rural Fuel Duty Relief Scheme.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
description: Per-litre reduction in fuel duty applied to petrol and diesel purchased in eligible rural areas under the Rural Fuel Duty Relief Scheme.
2+
values:
3+
2012-03-01: 0.05
4+
metadata:
5+
unit: currency-GBP
6+
label: Rural Fuel Duty Relief rate
7+
reference:
8+
- title: Rural fuel duty relief scheme - Notice 2001
9+
href: https://www.gov.uk/guidance/rural-duty-relief-scheme-notice-2001
10+
- title: Hydrocarbon Oil (Mileage Allowance for Rural Petrol Filling Stations) Regulations 2011 (SI 2011/2935)
11+
href: https://www.legislation.gov.uk/uksi/2011/2935/contents/made
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
- name: Household outside the Rural Fuel Duty Relief area pays the full fuel duty rate
2+
period: 2025
3+
absolute_error_margin: 0.01
4+
input:
5+
people:
6+
adult:
7+
age: 40
8+
benunits:
9+
benunit:
10+
members: [adult]
11+
households:
12+
household:
13+
members: [adult]
14+
petrol_litres: 1_000
15+
diesel_litres: 0
16+
in_rural_fuel_duty_relief_area: false
17+
output:
18+
fuel_duty: 529.5
19+
20+
- name: Household inside the Rural Fuel Duty Relief area receives the 5p/L reduction
21+
period: 2025
22+
absolute_error_margin: 0.01
23+
input:
24+
people:
25+
adult:
26+
age: 40
27+
benunits:
28+
benunit:
29+
members: [adult]
30+
households:
31+
household:
32+
members: [adult]
33+
petrol_litres: 1_000
34+
diesel_litres: 0
35+
in_rural_fuel_duty_relief_area: true
36+
output:
37+
fuel_duty: 479.5
38+
39+
- name: Rural relief applies to both petrol and diesel litres
40+
period: 2025
41+
absolute_error_margin: 0.01
42+
input:
43+
people:
44+
adult:
45+
age: 40
46+
benunits:
47+
benunit:
48+
members: [adult]
49+
households:
50+
household:
51+
members: [adult]
52+
petrol_litres: 600
53+
diesel_litres: 400
54+
in_rural_fuel_duty_relief_area: true
55+
output:
56+
fuel_duty: 479.5

policyengine_uk/variables/gov/hmrc/fuel_duty/fuel_duty.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,8 @@ def formula(household, period, parameters):
1212
fd = parameters(period).gov.hmrc.fuel_duty
1313
petrol_litres = household("petrol_litres", period.this_year) / MONTHS_IN_YEAR
1414
diesel_litres = household("diesel_litres", period.this_year) / MONTHS_IN_YEAR
15-
return fd.petrol_and_diesel * (petrol_litres + diesel_litres)
15+
in_relief_area = household("in_rural_fuel_duty_relief_area", period.this_year)
16+
effective_rate = (
17+
fd.petrol_and_diesel - in_relief_area * fd.rural_fuel_duty_relief
18+
)
19+
return effective_rate * (petrol_litres + diesel_litres)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from policyengine_uk.model_api import *
2+
3+
4+
class in_rural_fuel_duty_relief_area(Variable):
5+
label = "In Rural Fuel Duty Relief scheme area"
6+
documentation = (
7+
"Whether the household is located in a postcode eligible for the Rural "
8+
"Fuel Duty Relief Scheme, which provides a flat per-litre reduction on "
9+
"petrol and diesel purchased from registered retailers."
10+
)
11+
entity = Household
12+
definition_period = YEAR
13+
value_type = bool
14+
default_value = False
15+
reference = "https://www.gov.uk/guidance/rural-duty-relief-scheme-notice-2001"

0 commit comments

Comments
 (0)