Skip to content
Closed
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/ab26-trading-allowance.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Raise the trading allowance to £3,000 from 6 April 2027 (Budget 2026).
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,18 @@ values:
href: https://www.legislation.gov.uk/ukpga/2005/5/section/783AD
- title: Finance (No. 2) Act 2017 Sch. 3
href: https://www.legislation.gov.uk/ukpga/2017/32/schedule/3
# Budget 2026 raises the allowance to £3,000 from 6 April 2027, to be
# legislated in Finance Bill 2026-27. The s. 783AD amount also relieves
# miscellaneous income (s. 783B); the model applies it to trading income.
2027-04-06:
value: 3_000
reference:
- title: Budget 2026, paragraph 6.254 (Increase Trading Allowance)
href: https://assets.publishing.service.gov.uk/media/6ae1ec57bdb574cf1c9b3f12/E03668986_HMT_Budget_2026_ELAY__2_.pdf#page=142
- title: Budget 2026 policy costings, page 23 (from 6 April 2027)
href: https://assets.publishing.service.gov.uk/media/6ae1883fe4367e5c8b0467df/AB26_Policy_Costing.pdf#page=23
- title: Budget 2026, Table 6.1, item 15
href: https://assets.publishing.service.gov.uk/media/6ae187a2779378370fd80a9a/Table_6.1_and_6.2_Budget_2026_Policy_Decisions.xlsx
metadata:
label: Trading allowance
period: year
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# Trading allowance, ITTOIA 2005 Part 6A Chapter 1 (ss. 783A-783AR).
# self_employment_income is profit after actual expenses. The allowance is an
# alternative to those expenses (s. 783AI; HMRC BIM86050), so it may only add
# the part of the £1,000 that actual deductions have not already used.
# the part of the allowance that actual deductions have not already used.
# The allowance is £1,000 to 2026-27 and £3,000 from 2027-28 (Budget 2026,
# paragraph 6.254); the cases above the 2027-28 block use 2026-27.

- name: Sole trader with £25,000 profit gets no allowance on top of expenses
period: 2027
period: 2026
absolute_error_margin: 0.01
input:
self_employment_income: 25_000
Expand All @@ -16,7 +18,7 @@
income_tax: 2_486

- name: Profit within the allowance, receipts unknown, is fully relieved
period: 2027
period: 2026
absolute_error_margin: 0
input:
self_employment_income: 600
Expand All @@ -25,7 +27,7 @@
taxable_self_employment_income: 0

- name: Profit equal to the allowance, receipts unknown, is fully relieved
period: 2027
period: 2026
absolute_error_margin: 0
input:
self_employment_income: 1_000
Expand All @@ -34,7 +36,7 @@
taxable_self_employment_income: 0

- name: Profit above the allowance, receipts unknown, is taxed as reported
period: 2027
period: 2026
absolute_error_margin: 0
input:
self_employment_income: 1_001
Expand All @@ -43,7 +45,7 @@
taxable_self_employment_income: 1_001

- name: Full relief when receipts are within the allowance (s. 783AE-783AF)
period: 2027
period: 2026
absolute_error_margin: 0
input:
self_employment_gross_receipts: 800
Expand All @@ -53,7 +55,7 @@
taxable_self_employment_income: 0

- name: Partial relief beats £100 of expenses (s. 783AI)
period: 2027
period: 2026
absolute_error_margin: 0
input:
self_employment_gross_receipts: 1_200
Expand All @@ -64,7 +66,7 @@
taxable_self_employment_income: 200

- name: Partial relief beats £500 of expenses
period: 2027
period: 2026
absolute_error_margin: 0
input:
self_employment_gross_receipts: 1_200
Expand All @@ -74,7 +76,7 @@
taxable_self_employment_income: 200

- name: Actual expenses above the allowance leave no extra relief
period: 2027
period: 2026
absolute_error_margin: 0
input:
self_employment_gross_receipts: 25_000
Expand All @@ -84,7 +86,7 @@
taxable_self_employment_income: 20_000

- name: The allowance replaces capital allowances as well as expenses
period: 2027
period: 2026
absolute_error_margin: 0
input:
self_employment_gross_receipts: 1_500
Expand All @@ -96,7 +98,7 @@
taxable_self_employment_income: 500

- name: Expenses plus capital allowances above the allowance use the profit method
period: 2027
period: 2026
absolute_error_margin: 0
input:
self_employment_gross_receipts: 1_500
Expand All @@ -117,11 +119,74 @@
taxable_self_employment_income: 600

- name: Receipts below profit are inconsistent and treated as unknown
period: 2027
period: 2026
absolute_error_margin: 0
input:
self_employment_gross_receipts: 500
self_employment_income: 1_500
output:
trading_allowance_deduction: 0
taxable_self_employment_income: 1_500

# 2027-28: £3,000 from 6 April 2027 (Budget 2026, paragraph 6.254; policy
# costings page 23).

- name: 2026-27 profit of £2,500, receipts unknown, is taxed as reported
period: 2026
absolute_error_margin: 0
input:
self_employment_income: 2_500
output:
trading_allowance_deduction: 0
taxable_self_employment_income: 2_500

- name: 2027-28 profit of £2,500, receipts unknown, is fully relieved
period: 2027
absolute_error_margin: 0
input:
self_employment_income: 2_500
output:
trading_allowance_deduction: 2_500
taxable_self_employment_income: 0

- name: 2027-28 profit equal to the £3,000 allowance is fully relieved
period: 2027
absolute_error_margin: 0
input:
self_employment_income: 3_000
output:
trading_allowance_deduction: 3_000
taxable_self_employment_income: 0

- name: 2027-28 profit above the £3,000 allowance, receipts unknown, is taxed as reported
period: 2027
absolute_error_margin: 0
input:
self_employment_income: 3_001
output:
trading_allowance_deduction: 0
taxable_self_employment_income: 3_001

- name: 2027-28 partial relief replaces £1,000 of expenses with £3,000
period: 2027
absolute_error_margin: 0.01
input:
employment_income: 30_000
self_employment_gross_receipts: 5_000
self_employment_income: 4_000
output:
trading_allowance_deduction: 2_000
# 5,000 receipts - 3,000 allowance
taxable_self_employment_income: 2_000
# (30,000 + 2,000 - 12,570) * 20%
income_tax: 3_886

- name: 2027-28 actual expenses above £3,000 leave no extra relief
period: 2027
absolute_error_margin: 0
input:
self_employment_gross_receipts: 6_000
self_employment_income: 2_500
output:
trading_allowance_deduction: 0
taxable_self_employment_income: 2_500
9 changes: 6 additions & 3 deletions policyengine_uk/tests/test_trading_allowance_properties.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,18 @@
pytestmark = pytest.mark.usefixtures("cloned_uk_tax_benefit_system")

YEAR = 2027
ALLOWANCE = 1_000
# £3,000 from 6 April 2027 (Budget 2026, paragraph 6.254); £1,000 before.
ALLOWANCE = 3_000
OTHER_EMPLOYMENT_INCOME = [0, 8_000, 30_000, 60_000, 110_000, 200_000]
CASES = 24 # Each case is simulated twice: as drawn, and with more profit.
PEOPLE = 2 * CASES

amount = st.one_of(
st.floats(min_value=0, max_value=2_500),
st.floats(min_value=0, max_value=7_500),
st.floats(min_value=0, max_value=300_000),
st.sampled_from([0.0, 999.99, 1_000.0, 1_000.01, 12_570.0, 50_270.0]),
st.sampled_from(
[0.0, 999.99, 1_000.0, 2_999.99, 3_000.0, 3_000.01, 12_570.0, 50_270.0]
),
)
case = st.tuples(
st.one_of(amount, st.floats(min_value=-5_000, max_value=0)), # profit
Expand Down
Loading