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.

Reply via email to