Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/2170.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Added landlords' residential finance-cost tax reduction (ITTOIA 2005 ss. 272A, 274A and 274AA) from three new optional inputs: `property_rental_income` (gross receipts), `property_finance_costs` and `property_finance_costs_brought_forward`. The reduction is the property basic rate (the basic rate before 2027-28) on the lowest of the relievable costs, the property profits and adjusted total income, is limited to the tax left at Step 5, and reports the unrelieved costs as `property_finance_costs_carried_forward`. A new `disallowed_share` parameter carries the 2017-18 to 2020-21 phase-in, and setting it to nil restores full deductibility. Universal Credit sets the reduction against the tax on property income, not the tax on earnings, and the means tests that count property income (tax credits, Housing Benefit, Income Support, Pension Credit and council tax reduction) count it after finance costs.
1 change: 1 addition & 0 deletions changelog.d/2170.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Stopped the property allowance being deducted on top of expenses already netted out of `property_income` (ITTOIA 2005 Part 6A Chapter 2). It now gives full relief only where profit, or receipts when known, are within the allowance, and partial relief when `property_rental_income` shows that expenses fall short of it. A landlord takes the allowance or the finance-cost reduction, whichever leaves less income tax. The allowance now starts in 2017-18.
4 changes: 2 additions & 2 deletions docs/book/assumptions/growthfactors.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ We derive these rates from OBR GDP growth and ONS population projections.
|-------------|------|------|------|------|------|------|------|------|
| Growth rate | 9.2% | 5.0% | 3.8% | 2.8% | 2.8% | 3.1% | 3.3% | 3.3% |

We use per capita GDP for these variables: `capital_gains`, `capital_gains_badr`, `capital_gains_before_response`, `capital_gains_carried_interest`, `capital_gains_residential_property`, `corporate_wealth`, `dividend_income`, `gross_financial_wealth`, `household_lifetime_isa_balance`, `lifetime_isa_balance`, `lump_sum_income`, `main_residence_value`, `maintenance_income`, `miscellaneous_income`, `mortgage_capital_repayment`, `net_financial_wealth`, `non_residential_property_value`, `other_investment_income`, `other_residential_property_value`, `owned_land`, `pension_income`, `private_pension_wealth`, `private_transfer_income`, `property_income`, `savings`, `savings_interest_income`, `sublet_income`
We use per capita GDP for these variables: `capital_gains`, `capital_gains_badr`, `capital_gains_before_response`, `capital_gains_carried_interest`, `capital_gains_residential_property`, `corporate_wealth`, `dividend_income`, `gross_financial_wealth`, `household_lifetime_isa_balance`, `lifetime_isa_balance`, `lump_sum_income`, `main_residence_value`, `maintenance_income`, `miscellaneous_income`, `mortgage_capital_repayment`, `net_financial_wealth`, `non_residential_property_value`, `other_investment_income`, `other_residential_property_value`, `owned_land`, `pension_income`, `private_pension_wealth`, `private_transfer_income`, `property_income`, `property_rental_income`, `savings`, `savings_interest_income`, `sublet_income`

## Council tax

Expand All @@ -80,7 +80,7 @@ We use the OBR's mortgage interest rate index growth rates.
|-------------|------|------|------|------|------|------|------|------|
| Growth rate | 26.2% | 48.5% | 22.1% | 13.6% | 12.6% | 8.2% | 4.2% | 4.7% |

We apply this to: `mortgage_interest_repayment`
We apply this to: `mortgage_interest_repayment`, `property_finance_costs`, `property_finance_costs_brought_forward`

## Private pension index

Expand Down
8 changes: 4 additions & 4 deletions docs/book/programs/gov/hmrc/income-tax.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@
" <td>Property Allowance</td>\n",
" <td>Property Allowance</td>\n",
" <td>1000.0</td>\n",
" <td>2005-04-01</td>\n",
" <td>2017-04-06</td>\n",
" <td>currency-GBP</td>\n",
" </tr>\n",
" <tr>\n",
Expand Down Expand Up @@ -483,7 +483,7 @@
"15 Personal Savings Allowance Basic Threshold 1000.0 2005-04-01 \n",
"16 Personal Savings Allowance Higher Threshold 500.0 2005-04-01 \n",
"17 Dividend Allowance Dividend Allowance 2000.0 2015-06-05 \n",
"18 Property Allowance Property Allowance 1000.0 2005-04-01 \n",
"18 Property Allowance Property Allowance 1000.0 2017-04-06 \n",
"19 Trading Allowance Trading Allowance 1000.0 2017-04-06 \n",
"\n",
" Unit \n",
Expand Down Expand Up @@ -638,8 +638,8 @@
"property_allowance_data = {\n",
" \"Attribute\": [\"Property Allowance\"],\n",
" \"Type\": [\"Property Allowance\"],\n",
" \"Value\": [property_allowance.values_list[-1].value],\n",
" \"Effective Date\": [property_allowance.values_list[-1].instant_str],\n",
" \"Value\": [property_allowance.values_list[0].value],\n",
" \"Effective Date\": [property_allowance.values_list[0].instant_str],\n",
" \"Unit\": [property_allowance.metadata[\"unit\"]],\n",
"}\n",
"\n",
Expand Down
3 changes: 3 additions & 0 deletions policyengine_uk/data/uprating_indices.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ gov.economic_assumptions.yoy_growth.obr.petrol_spending_litre_proxy:
- petrol_spending
gov.economic_assumptions.yoy_growth.obr.mortgage_interest:
- mortgage_interest_repayment
- property_finance_costs
- property_finance_costs_brought_forward
gov.economic_assumptions.yoy_growth.obr.per_capita.gdp:
- capital_gains
- capital_gains_before_response
Expand All @@ -110,6 +112,7 @@ gov.economic_assumptions.yoy_growth.obr.per_capita.gdp:
- private_pension_wealth
- private_transfer_income
- property_income
- property_rental_income
- savings
- savings_interest_income
- sublet_income
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ values:
- working_tax_credit
- state_pension
- private_pension_income
- property_income
- property_income_after_finance_costs
- pension_credit_deemed_income
- esa_contrib
- jsa_contrib
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
description: Amount of income from property untaxed per year.
description: Amount of property allowance, which relieves property receipts in place of deducting actual expenses.
values:
2005-04-01:
value: 0
reference:
- title: Finance (No. 2) Act 2017 Sch. 3 para. 13 (allowance has effect from 2017-18)
href: https://www.legislation.gov.uk/ukpga/2017/32/schedule/3/paragraph/13
2017-04-06:
value: 1_000
reference:
- title: Income Tax (Trading and Other Income) Act 2005 s. 783BD
href: https://www.legislation.gov.uk/ukpga/2005/5/section/783BD
- title: Finance (No. 2) Act 2017 Sch. 3
href: https://www.legislation.gov.uk/ukpga/2017/32/schedule/3
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ metadata:
reference:
- title: Income Tax Act 2007 s. 23
href: https://www.legislation.gov.uk/ukpga/2007/3/section/23
- title: Income Tax Act 2007 s. 26(1)(a)
href: https://www.legislation.gov.uk/ukpga/2007/3/section/26
values:
0000-01-01:
- capped_mcad
- other_tax_credits
- property_finance_cost_relief
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
description: Share of the costs of dwelling-related loans that cannot be deducted in calculating property business profits, and is relieved as a tax reduction instead.
values:
2005-04-06:
value: 0
reference:
- title: Finance (No. 2) Act 2015 s. 24 (inserts the restriction, which has effect from 2017-18)
href: https://www.legislation.gov.uk/ukpga/2015/33/section/24
2017-04-06:
value: 0.25
reference:
- title: Income Tax (Trading and Other Income) Act 2005 s. 272A(1)
href: https://www.legislation.gov.uk/ukpga/2005/5/section/272A
2018-04-06:
value: 0.5
reference:
- title: Income Tax (Trading and Other Income) Act 2005 s. 272A(2)
href: https://www.legislation.gov.uk/ukpga/2005/5/section/272A
2019-04-06:
value: 0.75
reference:
- title: Income Tax (Trading and Other Income) Act 2005 s. 272A(3)
href: https://www.legislation.gov.uk/ukpga/2005/5/section/272A
2020-04-06:
value: 1
reference:
- title: Income Tax (Trading and Other Income) Act 2005 s. 272A(4)
href: https://www.legislation.gov.uk/ukpga/2005/5/section/272A
metadata:
label: Disallowed share of residential property finance costs
period: year
unit: /1
reference:
- title: Income Tax (Trading and Other Income) Act 2005 s. 272A
href: https://www.legislation.gov.uk/ukpga/2005/5/section/272A
- title: Finance (No. 2) Act 2015 s. 24
href: https://www.legislation.gov.uk/ukpga/2015/33/section/24
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
parent:
age: 30
employment_income: 20_000
property_rental_income: 5_000
property_income: 5_000
child:
age: 5
Expand All @@ -41,7 +42,8 @@
rent: 9_600
output:
# Earnings take the personal allowance first: (20,000 - 12,570) x 20%.
# Property income is taxed on (5,000 - 1,000) x 20% = 800, not deducted.
# Property income (5,000 of receipts with no expenses) is taxed on
# (5,000 - 1,000) x 20% = 800, not deducted.
income_tax: [2_286, 0]
uc_income_tax_on_earnings: [1_486, 0]
# (20,000 - 12,569.96) x 8%.
Expand All @@ -59,6 +61,42 @@
# fix, gave 11,748.50: 0.55 x 800 = 440 too much.
universal_credit: 11_308.50

- name: The finance-cost reduction comes off the tax on property, not on earnings
period: 2026
absolute_error_margin: 0.01
input:
people:
parent:
age: 30
employment_income: 20_000
property_rental_income: 5_000
property_income: 5_000
property_finance_costs: 3_000
child:
age: 5
benunits:
benunit:
members: [parent, child]
households:
household:
members: [parent, child]
tenure_type: RENT_FROM_COUNCIL
rent: 9_600
output:
# Actual expenses beat the allowance: 5,000 x 20% - 20% x 3,000 = 400 of
# tax on property, against 800. The 600 reduction (ITTOIA 2005 s. 274AA)
# is limited by the property profits, so it does not come off the tax on
# earnings, which stays (20,000 - 12,570) x 20%.
property_finance_cost_relief: [600, 0]
income_tax: [1_886, 0]
uc_income_tax_on_earnings: [1_486, 0]
uc_individual_earned_income: [17_919.60, 0]
uc_earned_income: 12_795.60
uc_maximum_amount: 18_346.08
# Unchanged by the finance costs. Taking the 600 reduction off the tax on
# earnings would give 10,978.50: 0.55 x 600 = 330 less.
universal_credit: 11_308.50

- name: Mixed-age couple, the pensioner's tax on State Pension does not reduce the partner's earnings
period: 2026
absolute_error_margin: 0.01
Expand Down Expand Up @@ -247,9 +285,11 @@
input:
age: 35
employment_income: 20_000
property_rental_income: 5_000
property_income: 5_000
output:
# Property: (5,000 - 1,000) x 22% = 880.
# Property: 5,000 of receipts with no expenses, so (5,000 - 1,000) x 22%
# = 880.
property_income_tax: 880
income_tax: 2_366
uc_income_tax_on_earnings: 1_486
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,20 @@
output:
property_allowance_deduction: 100
taxable_property_income: 0
- name: Property allowance partial deduction
- name: Property allowance does not stack on a profit already net of expenses
period: 2020
absolute_error_margin: 0
input:
property_income: 1001
output:
property_allowance_deduction: 0
taxable_property_income: 1001
- name: Property allowance partial deduction with receipts and no expenses
period: 2020
absolute_error_margin: 0
input:
property_rental_income: 1001
property_income: 1001
output:
property_allowance_deduction: 1000
taxable_property_income: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
- name: Property Allowance Deduction
period: 2024
input:
property_rental_income: 3000
property_income: 3000
gov.hmrc.income_tax.allowances.property_allowance: 1000
output:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# Property allowance, ITTOIA 2005 Part 6A Chapter 2 (ss. 783B-783BQ).
# property_income is profit after actual expenses. The allowance is an
# alternative to those expenses (s. 783BH(3)), so it may only add the part of
# the £1,000 that actual expenses have not already used. Receipts within the
# allowance are fully relieved (s. 783BF).

- name: Landlord with £25,000 profit gets no allowance on top of expenses
period: 2027
absolute_error_margin: 0.01
input:
property_income: 25_000
output:
property_allowance_deduction: 0
taxable_property_income: 25_000
adjusted_net_income: 25_000
# (25,000 - 12,570) * 22% (property basic rate from 2027-28)
income_tax: 2_734.60

- name: Profit within the allowance, receipts unknown, is fully relieved
period: 2027
absolute_error_margin: 0
input:
property_income: 600
output:
uses_property_allowance: true
property_allowance_deduction: 600
taxable_property_income: 0

- name: Profit equal to the allowance, receipts unknown, is fully relieved
period: 2027
absolute_error_margin: 0
input:
property_income: 1_000
output:
property_allowance_deduction: 1_000
taxable_property_income: 0

- name: Profit above the allowance, receipts unknown, is taxed as reported
period: 2027
absolute_error_margin: 0
input:
property_income: 1_001
output:
uses_property_allowance: false
property_allowance_deduction: 0
taxable_property_income: 1_001

- name: Receipts of £900 are fully relieved (s. 783BF)
period: 2025
absolute_error_margin: 0
input:
employment_income: 30_000
property_rental_income: 900
property_income: 900
output:
property_allowable_expenses: 0
property_allowance_deduction: 900
taxable_property_income: 0
property_income_tax: 0

- name: Partial relief beats £600 of expenses on £5,000 of receipts (s. 783BH)
period: 2025
absolute_error_margin: 0
input:
employment_income: 30_000
property_rental_income: 5_000
property_income: 4_400
output:
property_allowable_expenses: 600
uses_property_allowance: true
property_allowance_deduction: 400
# 5,000 receipts - 1,000 allowance
taxable_property_income: 4_000
property_income_tax: 800
property_finance_cost_relief: 0

- name: Actual expenses above the allowance leave no extra relief
period: 2025
absolute_error_margin: 0
input:
property_rental_income: 25_000
property_income: 20_000
output:
property_allowable_expenses: 5_000
property_allowance_deduction: 0
taxable_property_income: 20_000

- name: Receipts below profit are inconsistent and treated as unknown
period: 2025
absolute_error_margin: 0
input:
property_rental_income: 500
property_income: 1_500
output:
property_allowable_expenses: 0
property_allowance_deduction: 0
taxable_property_income: 1_500

- name: A property loss gets no allowance and is not taxed
period: 2025
absolute_error_margin: 0
input:
property_rental_income: 800
property_income: -400
output:
property_allowance_deduction: 0
taxable_property_income: 0

- name: No property allowance before 2017-18
period: 2016
absolute_error_margin: 0
input:
property_income: 600
output:
property_allowance_deduction: 0
taxable_property_income: 600

- name: The allowance applies from 2017-18
period: 2017
absolute_error_margin: 0
input:
property_income: 600
output:
property_allowance_deduction: 600
taxable_property_income: 0
Loading
Loading