Learn R Programming

optiRum (version 0.37.1)

calcNetIncome: Calculate income after tax and benefits

Description

Based on current UK taxation rules this function calculates components that subtract from gross income and provides net income.

Usage

calcNetIncome(persons = data.table(personID = 1:2, householdID = 1,
  employedIncome = c(15000, 40000), investmentIncome = c(0, 5000),
  nonTaxableIncome = 0, selfEmployedProfits = 0, taxCode = "1000L",
  numberOfChildren = 1, salarySacrificePercentage = c(0, 0.05), studentLoan =
  0:1), incomeGrain = "Month", financialYear = taxYear(Sys.Date()),
  modelArgs = list(model = FALSE, inflation = 1, years = 3, childBenefitChange
  = 1, personalAllowanceChange = 500),
  thresholdsTable = fread(system.file("extdata", "annualthresholds.csv",
  package = "optiRum")), taxRateTable = fread(system.file("extdata",
  "annualtaxthresholds.csv", package = "optiRum")))

Arguments

persons
Provide the information required for calculating income, values should be provided as annual incomes
incomeGrain
Define the time period in which the income return should be expressed i.e. "Annual", "Month", "Week"
financialYear
What financial year the calculation should be performed for. Can't go back further than 2014, if you need to go back please submit a pull request on the CSVs in inst/extdata with them filled in.
modelArgs
Indicate whether a forward prediction with some changing values should be performed, and what scenario values should be used
thresholdsTable
The values needed for calculating various components
taxRateTable
The values needed for calculating Income Tax and NI (Class 1 and 4). Rate tables contain lower bound (LB), upper bound (UB) and the prevailing tax rates (Rate) at which portions of income are taxed at. LB >= Income < UB

Value

  • income Income components for each person at the relevant grain

Details

Current, in the context of default values, is Tax Year 2014

See Also

Other tax: taxYear