income_tax {grattan}R Documentation

Income tax payable

Description

Income tax payable

Usage

income_tax(
  income,
  fy.year = NULL,
  age = NULL,
  .dots.ATO = NULL,
  System = NULL,
  return.mode = c("numeric", "integer", "sum", "mean"),
  nThread = getOption("grattan.nThread", 1L)
)

Arguments

income

The individual assessable income.

fy.year

The financial year in which the income was earned. Tax years 2000-01 to 2018-19 are supported, as well as the tax year 2019-20, for convenience. If fy.year is not given, the current financial year is used by default.

age

The individual's age. Ignored if .dots.ATO is provided (and contains an age variable such as age_range or Birth_year).

.dots.ATO

A data.frame that contains additional information about the individual's circumstances, with columns the same as in the ATO sample files.

Age variables in .dots.ATO take precedence over age and providing both is a warning.

System

A tax-system created by System() or NULL, the default, corresponding to the tax system of the given year.

return.mode

The mode (numeric or integer) of the returned vector.

nThread

Number of threads to use.

Details

The function is inflexible by design. It is designed to return the correct tax payable in a year, not to model the tax payable under different tax settings. (Use model_income_tax for that purpose.)

The function aims to produce the personal income tax payable for the inputs given in the tax year fy.year. The function is specified to produce the most accurate calculation of personal income tax given the variables in the ATO's 2% sample files. However, many components are absent from these files, while other components could not be computed reliably.

For the 2018-19 tax year, the function calculates

tax on ordinary taxable income

The tax as specified in Schedule 7 of the Income Tax Rates Act 1986 (Cth).

Medicare levy

See medicare_levy for details.

LITO

See lito for details.

SAPTO

See sapto. For years preceding the introduction of SAPTO, the maximum offset is assumed to apply to those above age 65 (since the sample files only provide 5-year age groups).

SBTO

See small_business_tax_offset for details.

Historical levies

The flood levy and the temporary budget repair levy.

Notably, when used with a 2% sample file, the function will not be able to correctly account for different tax rates and offsets among taxpayers with dependants since the sample files (as of 2015-16) do not have this information.

Value

The total personal income tax payable.

Author(s)

Tim Cameron, Brendan Coates, Matthew Katzen, Hugh Parsonage, William Young

Examples


## Income tax payable on a taxable income of 50,000 
## for the 2013-14 tax year
income_tax(50e3, "2013-14")

## Calculate tax for each lodger in the 2013-14 sample file.

 # library(data.table)
 # library(taxstats)
  
 # s1314 <- as.data.table(sample_file_1314)
 # s1314[, tax := income_tax(Taxable_Income, "2013-14", .dots.ATO = s1314)]


[Package grattan version 2024.1.1 Index]