I've been managing my finances with spreadsheets for a few decades. A couple weeks ago, a coworker introduced me to Beancount and double entry accounting and I've been pleased with how well it handles my accounts.
One type of accounting that I haven't yet figured out how to do with Beancount (or double entry accounting in general) is tracking expenses that are eligible for withdrawal from a special purpose account like a Health Savings Account (HSA) or a 529 account. (These are USA tax advantaged accounts which allow funds to be invested and withdrawals can only be made tax- and penalty-free for a specific purpose, like health or higher education. Since funds are invested free of capital gains tax, withdrawals are often postponed till long after the eligible expense is incurred.)
I can track my HSA in Beancount as an Assets:HSA account. As I incur HSA-eligible expenses, what's the best way to track those so that I know I can later withdraw them from the HSA? Suppose I pay $100 to a doctor for an office visit. In Beancount, I'd add a transaction that decreases my Assets:Cash account and increases my Expenses:Health account, each by $100. But what that fails to capture is that $100 became eligible for withdrawal from my Assets:HSA account.
I suppose I could make it work by introducing 2 new accounts:
2023-11-29 * "Dr. Hu" "pain killers"
Assets:Cash -100.00 USD
Expenses:Health 100.00 USD
Liabilities:HSA-Eligible -100.00 USD
Expenses:HSA-Eligible 100.00 USD
Then, later, I could withdraw it from the HSA:
2035-06-22 * "HSA withdrawal using eligible expenses"
Liabilities:HSA-Eligible 100.00 USD
Assets:HSA -100.00 USD
But the duplicate Expenses account makes me feel like the model doesn't fit reality well.