I take it that you're getting unpredictable results?
Without seeing your code, it's going to be hard to help.
I'd start with making sure that you're using "Option Explicit" in
your code module.
Also, you can use:
Function tax(status As String, income As Currency) As Currency
to force "tax" to return currency...
then, at least if the code results in something else, it should
produce an error before it leaves the function.
Let us know what kind of results you're getting.
We should be able to help.