Skip to content

Property allowance is deducted on top of expenses already netted from property income #1900

Closed

Description

@MaxGhenis

property_allowance_deduction returns min_(property_income, property_allowance) and taxable_property_income subtracts it from property_income. That input is net of expenses. The enhanced FRS imputes it from SPI INCPROP, which the SPI Public Use Tape documentation (UKDS SN 9422, 2022-23) defines as "Net income from UK and overseas property (income - expenses)". So the allowance is stacked on expenses already deducted.

This is the same defect #1880 fixed for the trading allowance (PR #1881).

Statute. The property allowance is ITTOIA 2005 Part 6A Chapter 2 (ss. 783B–783BQ):

  • s. 783BD: the allowance is £1,000.
  • s. 783BF, full relief: relievable receipts and associated expenses are not brought into account.
  • s. 783BH, partial relief (by election under s. 783BK): receipts are brought in, "No relevant expenses are brought into account", and the deductible amount is brought in instead.
  • s. 783BI(4): partial relief cannot create a loss.
  • s. 783BB: rent-a-room receipts are excluded.
  • s. 783BL: no relief where the s. 274A finance-cost reducer applies.

Other defects in the same code.

  • The variable cites s. 783AF, which is a trading-allowance section. It should cite ss. 783BF, 783BH and 783BD.
  • parameters/gov/hmrc/income_tax/allowances/property_allowance.yaml starts at 2005-04-01, but the allowance has effect from 2017-18 (F(No.2)A 2017 Sch 3 para 13).

Suggested fix. Mirror #1881:

  • Add an optional gross property receipts input. With receipts known, relief is max(0, min(net, 1000 − expenses)).
  • With receipts unknown, give full relief only where net property income is within £1,000.
  • Add YAML tests and Hypothesis property tests: bounds, a statutory reference, no stacking, and monotonicity.
  • Measure the revenue effect on the published enhanced FRS.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions