Skip to content
Draft
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/trading-loss-relief.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Trade loss relief against general income (ITA 2007 s.64): a trading loss (`trading_loss`) now reduces net income for the loss-making year, within the s.24A cap of the greater of £50,000 and 25% of adjusted total income (s.24A(8): total income less relieved pension contributions). Beyond non-savings income it comes off savings, then dividends, in the model's allowance order (#2106). New variables `net_income_before_trade_loss_relief`, `trade_loss_relief_against_general_income`, `trade_loss_relief_against_savings_and_dividends`, `income_tax_relief_cap`, `adjusted_total_income`, `ni_class_4_profits` and the input `ni_class_4_losses_brought_forward` (SSCBA 1992 Sch 2 para 3(4)(b)).
1 change: 1 addition & 0 deletions changelog.d/trading-loss-relief.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
`trading_loss` is now an uprated input read by each programme's own rule: Class 4 and Class 2 NICs deduct the relief from trading profits only (SSCBA 1992 Sch 2 para 3, s.11(3)); tax credit income deducts the claimants' losses (SI 2002/2006 reg 3(1) Step 4); UC sets a loss against the person's other trades' profits but never employed earnings (UC Regs 2013 reg 57(2)); the other means tests never offset it; market income and HBAI household income count it as negative income. `loss_relief` now holds only losses brought forward (s.83); it no longer adds the previous year's `trading_loss`, which relief against general income may already have used.
1 change: 1 addition & 0 deletions policyengine_uk/data/uprating_indices.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ gov.economic_assumptions.yoy_growth.obr.per_capita.gdp:
- sublet_income
gov.economic_assumptions.yoy_growth.obr.per_capita.mixed_income:
- self_employment_income
- trading_loss
gov.economic_assumptions.yoy_growth.obr.private_pension_index:
- private_pension_income
gov.economic_assumptions.yoy_growth.ons.population:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ metadata:
label: Deductions from self-employment income
period: year
reference:
- title: "Income Tax Act 2007, s. 64"
href: https://www.legislation.gov.uk/ukpga/2007/3/section/64
- title: "Income Tax Act 2007, s. 83"
href: https://www.legislation.gov.uk/ukpga/2007/3/section/83
- title: "Capital Allowances Act 2001, s. 1"
href: https://www.legislation.gov.uk/ukpga/2001/2/section/1
- title: "Income Tax (Trading and Other Income) Act 2005, s. 783A"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Cap on certain reliefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: Reliefs against general income listed in ITA 2007 s.24A, such as trade loss relief, are limited to the greater of this amount and a share of adjusted total income.
values:
0000-01-01: .inf
2013-04-06: 50_000
metadata:
label: Cap on certain income tax reliefs, fixed amount
period: year
unit: currency-GBP
reference:
- title: Income Tax Act 2007 s. 24A(3)
href: https://www.legislation.gov.uk/ukpga/2007/3/section/24A
- title: Finance Act 2013 Sch. 3 (cap introduced from 2013-14)
href: https://www.legislation.gov.uk/ukpga/2013/29/schedule/3
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: Reliefs against general income listed in ITA 2007 s.24A, such as trade loss relief, are limited to the greater of a fixed amount and this share of adjusted total income.
values:
# No cap before 2013-14: the fixed amount is infinite then.
0000-01-01: 0
2013-04-06: 0.25
metadata:
label: Cap on certain income tax reliefs, share of adjusted total income
period: year
unit: /1
reference:
- title: Income Tax Act 2007 s. 24A(3)
href: https://www.legislation.gov.uk/ukpga/2007/3/section/24A
- title: Finance Act 2013 Sch. 3 (cap introduced from 2013-14)
href: https://www.legislation.gov.uk/ukpga/2013/29/schedule/3
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# SI 2002/2006 reg 3(1) Step 4: a trading loss in the year is subtracted from
# the income of Steps 1 to 3, so it reduces the claimants' joint income.

- name: A trading loss reduces the claimant's other income
period: 2024
absolute_error_margin: 0
input:
people:
claimant:
age: 40
employment_income: 20_000
trading_loss: 5_000
benunits:
benunit:
members: [claimant]
households:
household:
members: [claimant]
output:
tax_credits_applicable_income: 15_000

- name: One partner's loss reduces the couple's joint income
period: 2024
absolute_error_margin: 0
input:
people:
claimant:
age: 40
employment_income: 20_000
partner:
age: 38
trading_loss: 8_000
benunits:
benunit:
members: [claimant, partner]
households:
household:
members: [claimant, partner]
output:
tax_credits_applicable_income: 12_000

- name: Income does not go below zero
period: 2024
absolute_error_margin: 0
input:
people:
claimant:
age: 40
employment_income: 3_000
trading_loss: 9_000
benunits:
benunit:
members: [claimant]
households:
household:
members: [claimant]
output:
tax_credits_applicable_income: 0

- name: A child's trading loss does not reduce the claimants' income
period: 2024
absolute_error_margin: 0
input:
people:
claimant:
age: 40
employment_income: 20_000
child:
age: 15
trading_loss: 5_000
benunits:
benunit:
members: [claimant, child]
households:
household:
members: [claimant, child]
output:
tax_credits_applicable_income: 20_000
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# UC Regs 2013 reg 57(2): Steps 1-2 add the profit or loss of each trade and
# Step 3 makes a negative total nil, so one trade's loss reduces another
# trade's profits but never employed earnings.

- name: A loss in one trade reduces another trade's profits for UC
period: 2026
absolute_error_margin: 0
input:
age: 40
self_employment_income: 30_000
trading_loss: 10_000
uc_is_in_startup_period: true
output:
uc_mif_capped_earned_income: 20_000

- name: A loss never reduces employed earnings for UC
period: 2026
absolute_error_margin: 0
input:
age: 40
employment_income: 20_000
trading_loss: 10_000
output:
uc_mif_capped_earned_income: 20_000

- name: Self-employed earnings for UC are never below nil
period: 2026
absolute_error_margin: 0
input:
age: 40
employment_income: 20_000
self_employment_income: 5_000
trading_loss: 10_000
uc_is_in_startup_period: true
output:
uc_mif_capped_earned_income: 20_000

- name: The benefit cap earnings test nets trades too (reg 82 with reg 57(2))
period: 2026
absolute_error_margin: 0.01
input:
people:
parent:
age: 40
self_employment_income: 12_000
trading_loss: 5_000
uc_is_in_startup_period: true
income_tax: 0
national_insurance: 0
child_1:
age: 1
child_2:
age: 4
child_3:
age: 7
child_4:
age: 10
benunits:
benunit:
members: [parent, child_1, child_2, child_3, child_4]
households:
household:
members: [parent, child_1, child_2, child_3, child_4]
region: LONDON
rent: 24_000
tenure_type: RENT_PRIVATELY
output:
uc_trading_losses_set_against_profits: [5_000, 0, 0, 0, 0]
# £7,000 of earnings, below the reg 82 threshold, so the cap applies,
# exactly as for £7,000 of profits and no loss.
is_benefit_cap_exempt_earnings: false
universal_credit: 21_124
Original file line number Diff line number Diff line change
@@ -1,80 +1,39 @@
- name: No trading losses
period: 2024
input:
trading_loss:
2023: 0
2024: 0
output:
loss_relief: 0

- name: Current year trading loss only
period: 2024
input:
trading_loss:
2023: 0
2024: 5000
output:
loss_relief: 5000

- name: Previous year trading loss only
period: 2024
input:
trading_loss:
2023: 3000
2024: 0
output:
loss_relief: 3000

- name: Trading losses in both years
period: 2024
input:
trading_loss:
2023: 2500
2024: 3500
output:
loss_relief: 6000

- name: High trading losses
period: 2024
input:
trading_loss:
2023: 50000
2024: 75000
output:
loss_relief: 125000
# loss_relief holds trade losses brought forward from earlier years (ITA 2007
# s.83). A loss made in the year itself is trading_loss, relieved against
# general income instead (see trade_loss_relief_against_general_income.yaml).

- name: Very low positive trading losses
- name: Losses brought forward come off the trade's profits
period: 2024
absolute_error_margin: 0
input:
trading_loss:
2023: 1
2024: 1
self_employment_income: 10_000
loss_relief: 4_000
trading_allowance_deduction: 0
output:
loss_relief: 2
taxable_self_employment_income: 6_000

- name: Uneven trading losses
- name: Losses brought forward never reduce other income
period: 2024
absolute_error_margin: 0
input:
trading_loss:
2023: 1234.56
2024: 5678.90
self_employment_income: 1_000
employment_income: 20_000
loss_relief: 5_000
trading_allowance_deduction: 0
output:
loss_relief: 6913.46
taxable_self_employment_income: 0
taxable_employment_income: 20_000
adjusted_net_income: 20_000

- name: Large previous year loss, small current year loss
- name: Last year's trading loss is not brought forward automatically
period: 2024
absolute_error_margin: 0
input:
self_employment_income: 10_000
trading_allowance_deduction: 0
trading_loss:
2023: 100000
2024: 1000
output:
loss_relief: 101000

- name: Small previous year loss, large current year loss
period: 2024
input:
trading_loss:
2023: 1000
2024: 100000
2023: 5_000
2024: 0
output:
loss_relief: 101000
loss_relief: 0
taxable_self_employment_income: 10_000
Loading
Loading