tried to be smarter with tax, decided in the end to use non-code to come up with a figure and hard-code, hopefully not an issue soon anyway :)

This commit is contained in:
2026-02-06 12:12:06 +11:00
parent 0a0a7b321b
commit 2ba2ece1d0

23
calc.py
View File

@@ -66,7 +66,7 @@ def calculate_savings_depletion(finance, bill_data, bill_type):
CBA_price = finance['CBA_price'] CBA_price = finance['CBA_price']
Ioniq6_future = finance['Ioniq6_future'] Ioniq6_future = finance['Ioniq6_future']
### COMPLEX tax implications with my leave I have not taken. It will be taxed in the year I 'quit' ### ### COMPLEX tax implications with my leave I have not taken. It will be taxed in the financial year I 'quit' ###
# leave in days, 10 business days to a fortnight, # leave in days, 10 business days to a fortnight,
# paid before tax I earn $7830.42 / fortnight. Tax on that will be at 37% or $4933.16 after tax # paid before tax I earn $7830.42 / fortnight. Tax on that will be at 37% or $4933.16 after tax
@@ -76,27 +76,30 @@ def calculate_savings_depletion(finance, bill_data, bill_type):
# this is what I now earn before-tax (and I *THINK* vehicle allowance won't be paid X 12 weeks) # this is what I now earn before-tax (and I *THINK* vehicle allowance won't be paid X 12 weeks)
pre_tax_D_earning = 8143.65 pre_tax_D_earning = 8143.65
# whenever I leave, I get 12 weeks (or 60 business days) + whatever leave they owe me # whenever I quit, I get my leave paid out and I get 12 weeks (or 6 pays) -- notice
payout = ((60+D_leave_owed_in_days)/bus_days_in_fortnight) * pre_tax_D_earning payout = ((D_leave_owed_in_days/bus_days_in_fortnight) + 6) * pre_tax_D_earning
# just use redundancy calc... # just use redundancy calc...
payout = 83115.84 # payout = 83115.84
print( f"leave payout gross={payout}" ) print( f"leave payout gross={payout}" )
# However, if I quit in the next fin year - tax will be: $4,288 plus 30c for each $1 over $45,000 # However, if I quit in the next fin year - tax will be: $4,288 plus 30c for each $1 over $45,000
# (assuming the 7830.42 * ~90/bus_days_in_fortnight = ~ $64k - > 45k and < $135k bracket is 30%) # (assuming the 7830.42 * ~90/bus_days_in_fortnight = ~ $64k - > 45k and < $135k bracket is 30% OR .37c for $135->$190k)
# - IF I am close to $190k+, just wait a month and quit in new financial year
# Given, I probably can't stop Deakin doing PAYG deductions, I won't get # Given, I probably can't stop Deakin doing PAYG deductions, I won't get
# the tax back until the end of the financial year, so work out the # the tax back until the end of the financial year, so work out the
# amount of tax I will get back info: tax_diff_D_leave # amount of tax I will get back into: tax_diff_D_leave
tax_on_leave = (payout - 45000)*.37 + 4288 tax_on_leave = (payout - 45000)*.30 + 4288
D_leave_after_tax = payout - tax_on_leave D_leave_after_tax = payout - tax_on_leave
# just use redunancy calc... print(f"my calc would say D_leave_after_tax = {D_leave_after_tax}" )
D_leave_after_tax = 56518.77
# just use quick google/calc - it claims tax rules apply and are capped at 32% - its possible I get more like 75k then pay tax in July?
D_leave_after_tax = 59000
tax_diff_D_leave = payout - D_leave_after_tax tax_diff_D_leave = payout - D_leave_after_tax
### FIXME: for now, assume no tax back after leave - think this may be needed if I quit anytime nowish until end of Jun ### FIXME: for now, assume no tax back after leave - see above comment
tax_diff_D_leave = 0 tax_diff_D_leave = 0
print( f"tax_diff_D_leave: {tax_diff_D_leave}") print( f"tax_diff_D_leave: {tax_diff_D_leave}")