improved when I finish work vs bluring the 12 week payout and changed to using today() instead of now() as I dont need anything but dates
This commit is contained in:
1
README
1
README
@@ -3,7 +3,6 @@ TODO:
|
||||
CONSIDER in code:
|
||||
* when we time the payment of GMHBA / HCF (and at what cadence) and include it in calcs better
|
||||
- it kicks in after pay stops, and could be paid monthly say, but it is higher than if we pay yearly (I think)
|
||||
* could try to get smarter with +6 fortnights at end -> as it also ends in different car repayments for 6 fortnights
|
||||
* could make bills be paid quarterly rather than as 'daily' living expenses
|
||||
- also could be more painful with bill increases, they seem to go up more than CPI
|
||||
|
||||
|
||||
22
calc.py
22
calc.py
@@ -49,17 +49,22 @@ def calculate_savings_depletion(finance):
|
||||
# this is what I earn before-tax (and I *THINK* vehicle allowance won't be paid X 12 weeks)
|
||||
pre_tax_D_earning = 7830.42
|
||||
|
||||
# whenever I leave, I get 12 weeks (or 60 business days) + whatever leave they owe me
|
||||
payout = ((60+D_leave_owed_in_days)/bus_days_in_fortnight) * pre_tax_D_earning
|
||||
|
||||
# as the leave is just on top of my existing earnings and if in 2024 fin year, just take tax at 37% for the extra leave amount
|
||||
D_leave_after_tax = (D_leave_owed_in_days/bus_days_in_fortnight) * pre_tax_D_earning * (1-0.37)
|
||||
# hardcoded 6 represents the 12 weeks or 6 fornights of pay owed to me when I give notice or they sack me
|
||||
D_leave_after_tax = payout * (1-0.37)
|
||||
|
||||
# However, if I quit in the next fin year - tax for 2025 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%)
|
||||
# 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
|
||||
# amount of tax I will get back info: tax_diff_D_leave
|
||||
tax_on_leave = (pre_tax_D_earning * (D_leave_owed_in_days/bus_days_in_fortnight) - 45000)*.3 + 4288
|
||||
D_leave_after_tax_new_fin_year = pre_tax_D_earning * (D_leave_owed_in_days/bus_days_in_fortnight) - tax_on_leave
|
||||
tax_on_leave = (payout - 45000)*.37 + 4288
|
||||
D_leave_after_tax_new_fin_year = payout - tax_on_leave
|
||||
tax_diff_D_leave = D_leave_after_tax_new_fin_year-D_leave_after_tax
|
||||
print( f"tax_diff_D_leave: {tax_diff_D_leave}")
|
||||
|
||||
### leave / tax items finished ###
|
||||
|
||||
@@ -75,7 +80,7 @@ def calculate_savings_depletion(finance):
|
||||
daily_interest_rate = annual_interest_rate / 365
|
||||
|
||||
# main loop range -- start from now, and simulate till D is 60 (April 2031)
|
||||
current_date = datetime.now()
|
||||
current_date = datetime.today()
|
||||
end_date = datetime(2031, 4, 15)
|
||||
|
||||
# Calculate daily living expenses
|
||||
@@ -139,11 +144,14 @@ def calculate_savings_depletion(finance):
|
||||
# okay, if we leave before Jun 30th 2024, then I pay full tax, otherwise I get 'extra', but have to await end of next fin year
|
||||
if current_date > new_fin_year_25:
|
||||
claim_tax_on_leave = True
|
||||
print(f"{current_date}: D has resigned in new year- get paid out my 12 weeks + remaining leave and lose some to tax - ${D_leave_after_tax_new_fin_year}" )
|
||||
current_savings += D_leave_after_tax_new_fin_year
|
||||
add_annotation(finance, current_date, current_savings, D_leave_after_tax_new_fin_year, "D quit" )
|
||||
else:
|
||||
claim_tax_on_leave = False
|
||||
print(f"{current_date}: D has resigned - get paid out my 9 weeks leave and lose 45% to tax - ${D_leave_after_tax}" )
|
||||
current_savings += D_leave_after_tax
|
||||
add_annotation(finance, current_date, current_savings, D_leave_after_tax, "D quit" )
|
||||
print(f"{current_date}: D has resigned - get paid out my 12 weeks + remaining leave and lose some to tax - ${D_leave_after_tax}" )
|
||||
current_savings += D_leave_after_tax
|
||||
add_annotation(finance, current_date, current_savings, D_leave_after_tax, "D quit" )
|
||||
D_leave_after_tax = 0
|
||||
|
||||
# its end of 'next' fin year, if tax_diff > 0, then ddp quit after new tax year and gets back the overpaid tax
|
||||
|
||||
2
main.py
2
main.py
@@ -41,7 +41,7 @@ def index():
|
||||
|
||||
# Row 2
|
||||
r=[]
|
||||
r.append( FP_VAR( 'D # Fortnights pay', 'D_Num_fortnights_pay' ) )
|
||||
r.append( FP_VAR( 'D # Pays to quit', 'D_Num_fortnights_pay' ) )
|
||||
r.append( FP_VAR( 'Interest Rate', 'Interest_Rate' ) )
|
||||
r.append( FP_VAR( 'Car Loan (monthly)', 'Car_loan', 'readonly' ) )
|
||||
r.append( FP_VAR( 'Inflation', 'Inflation' ) )
|
||||
|
||||
Reference in New Issue
Block a user