Learn R Programming

grattan (version 1.5.2.5)

income_tax: Income tax payable

Description

Income tax payable

Usage

income_tax(income, fy.year, age = NULL, family_status = "individual",
  n_dependants = 0L, .dots.ATO = NULL, return.mode = c("numeric",
  "integer"), allow.forecasts = FALSE)

Arguments

income

The individual assessable income.

fy.year

The financial year in which the income was earned. Tax years 2000-01 to 2016-17 are provided, as well as the tax years 2017-18 to 2019-20, for convenience, under the assumption the 2017 Budget measures will pass. In particular, the tax payable is calculated under the assumption that the rate of the Medicare levy will rise to 2.5% in the 2019-20 tax year.

age

The individual's age.

family_status

For Medicare and SAPTO purposes.

n_dependants

An integer for the number of children of the taxpayer (for the purposes of the Medicare levy).

.dots.ATO

A data.frame that contains additional information about the individual's circumstances, with columns the same as in the ATO sample files. If .dots.ATO is a data.table, I recommend you enclose it with copy().

return.mode

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

allow.forecasts

should dates beyond 2019-20 be permitted? Currently, not permitted.

Value

The total personal income tax payable.

Details

The function 'rolling' is inflexible by design. It is designed to guarantee the correct tax payable in a year. For years preceding the introduction of SAPTO, the maximum offset is assumed to apply to those above pensionable age.

Examples

Run this code
# NOT RUN {
income_tax(50e3, "2013-14")

## Calculate tax for each lodger in the 2013-14 sample file.
if (requireNamespace("taxstats", quietly = TRUE)) {
  library(data.table)
  library(taxstats)
  
  s1314 <- as.data.table(sample_file_1314)
  s1314[, tax := income_tax(Taxable_Income, "2013-14", .dots.ATO = s1314)]
}

# }

Run the code above in your browser using DataLab