I'm using GnuCash, and trying to figure out how to structure a couple of accounts to track contributions to accounts like Roth IRAs and HSAs that have an annual contribution limit that I need to track.

Take the HSA for example: I have accounts at two banks, and I'd like a bookkeeping account to track the overall contributions for the year so that I don't accidentally over-contribute.

  • Is this the right approach?

  • How do I classify these bookkeeping accounts?

  • What entries will I make when I transfer money from my regular personal checking account to make a contribution to the account at Bank X?

  • Would the entries be different if my employer makes a direct contribution to the account?

  • What are the year-end closing entries?

  • What if there are contributions in year N+1 that apply to tax-year N? (E.g. I make a contribution on 2011-02-27 for tax year 2010?)

1 Answer 1


I don't know if this is "valid" from a bookkeeping/accounting standpoint, but I'm just trying to keep records for myself so this works for me unless someone has another suggestion.

I created two Expense accounts for the HSA (Roth, etc would work the same way):

  • Expense:HSA Contribution
  • Expense:HSA Contribution:HSA CY

("CY" meaning current year.)

When I make a $50 contribution, I enter the following splits:

  • Debit: Expense:HSA Contribution:HSA CY: $50
  • Credit: Expense:HSA Contribution: $50
  • (and debit/credit the actual to/from checking accounts like I normally would)

When you look at this in the Accounts tab, it shows the parent account with a zero balance (because the subaccount balance is positive and the parent account is negative). The subaccount has the balance accumulated so far; this lets me see the YTD contributions to my HSAs.

At the end of the year I will make a closing transaction in the opposite direction (for whatever the total balance of the CY account is):

  • Debit: Expense:HSA Contribution: $600
  • Credit: Expense:HSA Contribution:HSA CY: $600

This will zero-balance these two accounts.

The only complication I see remaining is the issue of making contributions for the prior year during the January-April time frame. I don't generally make current-year contributions followed by prior-year contributions, so I can just wait to enter the closing transaction until I know I'm done with prior-year contributions.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .