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"
receipt: "http://example.com/2023-11-29_Dr.Hu_meds.pdf"
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.
--
You received this message because you are subscribed to the Google Groups
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beancount/cc24b99b-905d-476a-8a14-7c58cade7489n%40googlegroups.com.