113 lines
3.1 KiB
Python
113 lines
3.1 KiB
Python
# DrCr: Web-based double-entry bookkeeping framework
|
|
# Copyright (C) 2022–2024 Lee Yingtong Li (RunasSudo)
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
# Base income tax
|
|
# https://www.ato.gov.au/rates/individual-income-tax-rates/
|
|
# Maps each financial year to list of (upper limit (INclusive), flat amount, marginal rate)
|
|
base_tax = {
|
|
2024: [
|
|
(18200, 0, 0),
|
|
(45000, 0, 0.19),
|
|
(120000, 5092, 0.325),
|
|
(180000, 29467, 0.37),
|
|
(None, 51667, 0.45)
|
|
],
|
|
2023: [
|
|
(18200, 0, 0),
|
|
(45000, 0, 0.19),
|
|
(120000, 5092, 0.325),
|
|
(180000, 29467, 0.37),
|
|
(None, 51667, 0.45)
|
|
]
|
|
}
|
|
|
|
# Study and training loan (HELP, etc.) repayment thresholds and rates
|
|
# https://www.ato.gov.au/Rates/HELP,-TSL-and-SFSS-repayment-thresholds-and-rates/
|
|
# Maps each financial year to list of (upper limit (EXclusive), repayment rate)
|
|
repayment_rates = {
|
|
2024: [
|
|
(51550, 0),
|
|
(59519, 0.01),
|
|
(63090, 0.02),
|
|
(66876, 0.025),
|
|
(70889, 0.03),
|
|
(75141, 0.035),
|
|
(79650, 0.04),
|
|
(84430, 0.045),
|
|
(89495, 0.05),
|
|
(94866, 0.055),
|
|
(100558, 0.06),
|
|
(106591, 0.065),
|
|
(112986, 0.07),
|
|
(119765, 0.075),
|
|
(126951, 0.08),
|
|
(134569, 0.085),
|
|
(142643, 0.09),
|
|
(151201, 0.095),
|
|
(None, 0.1)
|
|
],
|
|
2023: [
|
|
(48361, 0),
|
|
(55837, 0.01),
|
|
(59187, 0.02),
|
|
(62739, 0.025),
|
|
(66503, 0.03),
|
|
(70493, 0.035),
|
|
(74723, 0.04),
|
|
(79207, 0.045),
|
|
(83959, 0.05),
|
|
(88997, 0.055),
|
|
(94337, 0.06),
|
|
(99997, 0.065),
|
|
(105997, 0.07),
|
|
(112356, 0.075),
|
|
(119098, 0.08),
|
|
(126244, 0.085),
|
|
(133819, 0.09),
|
|
(141848, 0.095),
|
|
(None, 0.1)
|
|
]
|
|
}
|
|
|
|
# Medicare levy thresholds
|
|
# https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-reduction/Medicare-levy-reduction-for-low-income-earners/
|
|
# Maps each financial year to list of (lower threshold, upper threshold)
|
|
medicare_levy_threshold = {
|
|
2024: (26000, 32500), # Treasury Laws Amendment (Cost of Living—Medicare Levy) Act 2024
|
|
2023: (24276, 30345),
|
|
2022: (23365, 29207)
|
|
}
|
|
|
|
# Medicare levy surcharge rates (singles)
|
|
# https://www.ato.gov.au/individuals-and-families/medicare-and-private-health-insurance/medicare-levy-surcharge/medicare-levy-surcharge-income-thresholds-and-rates
|
|
# Maps each financial year to list of (upper limit (INclusive), MLS rate)
|
|
# FIXME: Only supports singles
|
|
medicare_levy_surcharge_single = {
|
|
2024: [
|
|
(93000, 0),
|
|
(108000, 0.01),
|
|
(144000, 0.0125),
|
|
(None, 0.015)
|
|
]
|
|
}
|
|
|
|
# FBT type 1 gross-up factor
|
|
# https://www.ato.gov.au/rates/fbt/#GrossupratesforFBT
|
|
fbt_grossup = {
|
|
2024: 2.0802,
|
|
2023: 2.0802
|
|
}
|