Closed ChrisCScott closed 6 years ago
Implemented in commit de8f5a91cce671bfe76ce8c742e3b0c2ee937736
to master
.
Only basic functionality was implemented. Withdrawals are made in the following year, and only if there is insufficient contribution room to cover it. The hooks suggested above are the subject of issue #34.
Provide means to increase withdrawals based on tax liability. For example, allow user to indicate whether withdrawals are pre-tax or post-tax and, if the latter, provide a way to determine how much must be withdrawn to cover the existing tax liability and any additional liability for the increased withdrawals.
This could be approached in a couple of ways:
pre_tax_equivalent
method toTax
which converts post-tax amounts to pre-tax amounts (so that the appropriate amount can then be withdrawn). We may further need to add hooks toTaxSource
objects (especiallyAccount
) to determine what proportion of withdrawn amounts result in taxable income. Since this behaviour can be non-linear, it may not be practicable to do this accurately with a single call; a search algorithm may be required.Note that any overwithdrawals can be recontributed in full at the beginning of the next year, whereas underwithdrawals will impact living standard, so when in doubt favour overwithdrawals.