Guides

Free HSA reimbursement spreadsheet template (Excel + CSV)

Published

An HSA reimbursement spreadsheet is a log of the medical expenses you paid with your own money and plan to reimburse from your HSA later. One row per expense: what it was, who it was for, what you paid, where the proof is saved, and whether you have reimbursed it yet. This page has a free template you can download, the columns it uses and why, and how to keep it up to date.

This is general information, not tax advice. Rules can change, and your situation may differ. Ask a tax professional before you rely on it.

Download the free template: Excel (.xlsx) · CSV

No signup. The Excel file opens in Excel, Numbers, LibreOffice, and Google Sheets. In Google Sheets, choose File, then Import, then Upload.

Why keep a spreadsheet at all

There is no federal deadline to reimburse yourself from an HSA, as long as the expense is a qualified medical expense, it was incurred after your HSA was established, and you keep records that prove it. That is the rule covered in the HSA shoebox rule, explained.

The records are the part that falls on you. Publication 969 says you must keep records sufficient to show that:

  • the distributions were used only to pay or reimburse qualified medical expenses,
  • those expenses had not already been paid or reimbursed from another source, and
  • you had not taken them as an itemized deduction in any year.

It also says not to send these records with your tax return. You keep them with your tax records in case the IRS asks.

Receipts alone don’t answer the question you will have years from now: which expenses are still unreimbursed, and how much can I take out? A spreadsheet does. Each row points to the receipt, and the reimbursed columns stop you from claiming the same expense twice.

The columns to track

The template has one row per expense. Each column ties back to something the IRS rules ask you to be able to show.

Columns in the HSA reimbursement spreadsheet template
ColumnWhat to enterWhy it matters
Date of serviceThe date you got the care or bought the itemPublication 969: expenses incurred before you establish your HSA aren’t qualified medical expenses. This is the date that counts, not the billing date.
Date paidWhen you paid the billHelps you match the row to a card or bank statement.
ProviderThe doctor, dentist, pharmacy, or storeShows what the expense was and lets you find the paperwork.
PatientYou, your spouse, or a dependentQualified medical expenses are for you, your spouse, and your dependents.
DescriptionWhat it was: an office visit, a prescription, glassesShows it was medical care. Publication 502 lists most of what counts.
Amount paidWhat you paid out of pocket, after insuranceOnly the part insurance or another plan didn’t pay can be a qualified medical expense.
Paid fromPersonal card, bank account or check, cash, HSA card, or otherShows the money came from you. Rows paid with your HSA card are already paid by the HSA, so there is nothing to reimburse.
Receipt linkA link or file path to the itemized receipt or billThe record that shows the provider, date, patient, what it was, and the amount.
EOB linkA link or file path to the explanation of benefitsIf insurance was involved, the EOB shows what the plan paid and what you owed, which covers the “not paid from another source” part.
Proof of payment linkA card or bank statement, or a receipt marked paidShows you actually paid it. A card slip alone usually doesn’t show what was bought, so keep it with the receipt, not instead of it.
Reimbursed dateThe date of the HSA withdrawal that paid you backBlank until you reimburse yourself. Filling it in keeps the expense from being claimed twice.
Withdrawal amountHow much of this expense that withdrawal coveredLets you check that a withdrawal is no more than the expenses it covers.
NotesClaim numbers, a partial insurance payment, where the paper copy isAnything that will help you, or the IRS, follow the trail later.

The Excel version adds two columns it fills in for you, and three tabs:

  • Status reads each row as Available to claim, Missing receipt, Partly reimbursed, Reimbursed, Paid by HSA, or Before HSA opened.
  • Left to claim is the amount paid minus the withdrawal amount, for rows that have a receipt link.
  • Setup holds the date your HSA was established. Any row dated before it is flagged in red, because those expenses never qualify.
  • Summary adds up what is available to claim, what is waiting on a receipt, and what you have already reimbursed.
  • Example shows five rows of made-up sample data so you can see how each status looks.

The CSV has the same 13 columns as plain headers, with no formulas, for any app that takes a CSV.

How to use it

1. Enter your HSA established date

Ask your HSA custodian for the date if you aren’t sure, and type it on the Setup tab. If you funded your HSA by rolling over an older HSA, Publication 969 says it counts as established on the date the older account was.

2. Add a row when you pay

Each time you pay a qualified medical expense with money that isn’t from your HSA, add a row. Do it the same day if you can, while the receipt is in your hand.

3. Save the documents and link them

Save a digital copy of the receipt, the EOB if there is one, and proof of payment. A photo or PDF in a folder you control is easier to keep for years than paper, and thermal receipts fade. Put the link or file path in the row. A simple naming pattern helps, such as 2026-03-14 Lakeside Dental $220.00.pdf.

Until a row has a receipt link, the template marks it Missing receipt and leaves it out of Available to claim.

4. Reimburse yourself when you decide to

Look at Available to claim on the Summary tab. Request a withdrawal from your HSA custodian for no more than that amount. Then fill in Reimbursed date and Withdrawal amount on every row the withdrawal covers. The steps with your custodian and on Form 8889 are in how to pay yourself back from your HSA later.

5. Keep it with your tax records

The withdrawal is reported for the year you take it, so keep a copy of the spreadsheet and the documents for each reimbursed row with that year’s tax files. Keep them for as long as the IRS can question that return. IRS Tax Topic 305 explains how long that generally is.

Mistakes the template helps you avoid

  • Logging an expense from before your HSA was established. The Setup date flags it.
  • Reimbursing a row with no receipt. It stays out of Available to claim.
  • Counting an HSA card payment as something to reimburse. Paid by HSA rows are left out.
  • Claiming the same expense twice. Reimbursed rows drop to zero in Left to claim.
  • Withdrawing a round number that is more than your receipts add up to. The Summary total is the ceiling.

It can’t check whether an expense qualifies, whether insurance later paid part of it, or whether you deducted it on Schedule A. Those are still on you.

To see what your unreimbursed total could grow to if the money stays invested, try the HSA shoebox calculator. It can also read this spreadsheet in your browser and point out rows missing a receipt and likely duplicates. Your file isn’t uploaded.

Or let PocketHSA keep it for you

A spreadsheet works. The hard part is keeping it up to date for years and finding the receipt for each row when you need it. PocketHSA does the same job with less typing:

  • The PocketHSA Ledger. Connect Google Drive and your expenses are copied to a Google Sheet called PocketHSA Ledger, in a PocketHSA folder in your own Drive. Your receipt files go in the same folder, with a folder for each year. The sheet is a one-way copy, so you make changes in the app. PocketHSA can only open the files it creates in your Drive.
  • AI receipt reading. Upload a receipt photo or PDF and AI reads the date, provider, and amount. You check it and fix anything before it is saved.
  • Spreadsheet import. Bring this template, or the tracker you already keep, as a CSV or Excel file. PocketHSA reads the column names, you confirm the preview, and every row is saved as an expense. Columns it doesn’t have a field for, such as EOB link, are kept in the notes.

The free plan keeps 25 expenses active and includes 35 AI receipt readings and one spreadsheet import. Import saves every row; past 25, the extra expenses are saved and become active with Pro. Pro is $24.99 a year or $2.99 a month and makes every expense active. You can export your expenses and receipts on every plan.

One difference from the template: PocketHSA marks an expense as reimbursed or not. If a withdrawal covered only part of an expense, split it into two rows before you import.

Keep the records in PocketHSA

Bring the HSA spreadsheet you already keep: every row is saved as an expense after you check the preview. Upload receipts and AI reads the date, provider, and amount for you to confirm. Connect Google Drive and your receipt files go in a folder you own, with a copy of your expenses in a Google Sheet. You can export everything on every plan.

IRS sources

Checked against the IRS pages for tax year 2025. If the IRS changes a rule, the IRS page is what counts.