It’s not as simple. Tax payable
account is kind of a weird case.
Basically, let’s call all these built-in accounts as conditional accounts.
They only appear if certain conditions are met. I do not want conditional accounts to have ability to have starting balances.
This is because if you set starting balance on conditional account and sometime in future conditions for that account to exist are no longer met, it must disappear from your chart of accounts automatically. But if it disappears while having starting balance, then your starting balances will no longer be correct.
Not having starting balances on conditional accounts is working fine because most of these accounts in Manager are control accounts. Control accounts such as Accounts receivable
, Inventory on hand
etc do not have starting balances. If you decide one day, you do not want built-in Accounts receivable
. You are going to create custom control accounts and re-assign all your customers to your custom control accounts, built-in Accounts receivable
will disappear without having material effect on anything. It’s safe to do without consequences.
However, Tax payable
is not a control account. The conditions for Tax payable
built-in account to exist is that you have at least 1 tax code which has non-zero tax rate and is not linked to any custom general ledger account. Then Manager will post tax amounts to Tax payable
account. Thus Tax payable
will exist.
I know what you say now… why not extend the conditions so Tax payable
will only disappear if
- No tax code using it
- And no direct entries debiting or crediting the account
- And no starting balance set
And I could… but this would have performance implications. Now the conditions for this account to exist relies on scanning the entire general ledger to see whether anything is manually posted into this account.
So this is why some time ago, I got rid of Tax payable
account altogether and simply all tax amounts were posted to Suspense
account by default and user was expected to create and select custom general ledger account when creating tax codes.
Eventually I realized Suspense
is too much. Because if user has bunch of tax amounts in Suspense
account, it’s not so obvious why there are there or even what they are. And Manager knows why they are there and what they are. It’s just not obvious to user. So to make it obvious to user, instead of dumping all these tax amounts to Suspense
account, I’m just dumping them into built-in Tax payable
.
So to recap…
- There is a performance reason why I don’t want conditional accounts such as
Tax payable
to have starting balances or ability to directly post to them. - But I do not want to get rid of
Tax payable
account completely. It’s still useful as a temporary placeholder account so tax amounts end up there rather than in general purposeSuspense
account.