Skip to content
Chillar's

Guides

A free expense tracker template you can import later

A usable expense tracker template needs eight columns: date, amount, type, title, description, category, account and currency. Keep amounts as text rather than floats, enter rows daily, and reconcile weekly. The CSV below carries that header row and a month of example data.

By Anup Maurya and Chaitanya Vartak ·

The steps

  1. Download the template and open it

    The CSV opens in Excel, Numbers or Google Sheets. It carries the header row and ten example rows for one month, so you can see the shape before deleting them.

  2. Format the amount column as text or four-decimal currency

    A spreadsheet stores 0.1 as the nearest binary fraction, not as 0.1. Over a year of rows that drift becomes a total that does not match the rows it came from.

  3. Enter rows the day they happen

    A week of receipts is a chore; four rows is a minute. Daily entry is the only frequency that reliably survives past the second week.

  4. Keep the category list under fifteen

    A category you hesitate over is a row you skip, and a skipped row is a wrong total. Split a category only after a month where you wanted the detail.

  5. Reconcile one account balance every week

    Compare the sheet's balance for one account against the real one. Fifteen seconds if they agree, and a findable gap if they do not.

  6. Import it when the sheet stops being enough

    Because the header row is already the mapping an importer expects, moving to an app is a file upload rather than a retyping job.

What a template is actually for

A spreadsheet template is the cheapest way to start tracking expenses, and for the first month it is often the right one. It costs nothing, it opens on any device, and you can see the whole thing at once.

It is also the tool most people abandon, and always for the same three reasons: entering a row takes too long on a phone, the formulas break the first time someone inserts a row in the wrong place, and nothing tells you when a total has silently stopped being true.

So use a template, but use one whose columns match where you will eventually move. That way the month you outgrow it is an import, not a retyping job.

The eight columns an expense tracker needs

Every expense tracker worth moving to reads some version of these:

ColumnRequiredNotes
DateyesISO YYYY-MM-DD travels between tools without ambiguity. 03/04/2026 does not.
AmountyesPositive number. Keep the sign out of it and use Type.
Typenoincome or expense. Without it, importers guess.
TitlenoWhat it was. Two or three words.
DescriptionnoThe note you will want in nine months.
CategorynoFewer than fifteen of them.
AccountnoWhich pocket it left. This is what makes reconciliation possible.
CurrencynoOnly matters if you hold more than one.

Download the template as CSV. It has that header row and ten filled example rows for one month, so you can see the shape before you delete them. Open it in Excel, Numbers, or Google Sheets — File → Import → Upload.

Why the amount column should hold text, not a float

This is the part templates get wrong and nobody notices.

A spreadsheet stores 0.1 as the nearest binary fraction it can, which is not 0.1. Add enough of them and the total drifts by a cent, then by more. In Google Sheets, =0.1+0.2-0.3 does not return zero; it returns something like 5.55e-17, and the display rounding hides it.

For a month of groceries this does not matter. For a year of expenses you are handing to an accountant, or a split you are billing someone for, it does. Format the amount column as plain text or as a currency with four decimal places, keep the raw string, and do the arithmetic somewhere that treats money as a decimal. Chillar's stores every amount as NUMERIC(19,4) in the database and handles it with big.js in the browser for exactly this reason — there is a longer version of that argument here.

Filling it in without giving up in week two

  • Enter rows the day they happen, not weekly. A week of receipts is a chore; four rows is a minute.
  • Keep the category list under fifteen. A category you hesitate over is a row you skip, and a skipped row is a wrong total.
  • Record the account, always. Without it you cannot check your sheet against a bank balance, and a sheet you cannot check is a sheet you cannot trust.
  • Reconcile once a week. Compare the sheet's balance for one account with the real one. Fifteen seconds if they agree, and a findable gap if they do not.
  • Never insert a row into the middle of a formula range. This is the failure that quietly stops your totals being totals.

When a template stops being enough

Move off a spreadsheet when any of these is true:

  1. You are entering on a phone. Spreadsheet cell entry on a touchscreen is the single biggest cause of abandonment.
  2. You have more than one currency. Rate handling in a sheet means a hard-coded rate that is wrong by the time you read it.
  3. You want the same data in two places. Sheets sync as files. They conflict.
  4. You crossed a few thousand rows. Filtering and pivoting stops being pleasant.
  5. You have stopped trusting the total. This one is decisive, and it usually arrives without warning.

Moving the template into Chillar's

The template's header row is already the mapping Chillar's expects, so the import is four steps:

  1. In your spreadsheet, File → Download → Comma-separated values.
  2. In Chillar's, open Settings → Data → Import CSV and choose the file.
  3. Check the column mapping. If you kept the header row, it is already correct.
  4. Import, then check one account balance against the sheet.

Nothing is destroyed on the spreadsheet side — you still have the file. If you later want out of Chillar's, the full JSON export contains every row and imports back, and any filtered view exports to CSV, XLSX or PDF.

Frequently asked questions

Is this expense tracker template free?
Yes. The CSV template is free to download with no sign-up, and it opens in Excel, Numbers and Google Sheets. Chillar's itself is also free to use, with a single tier and no feature held back behind an upgrade.
Does it work as a monthly expense tracker template?
Yes. The example rows cover one month, and because every row carries its own date you can keep one sheet per month or one sheet per year and filter by date. A monthly total is a sum over the rows for that month.
Can I use it as an income and expense tracker template?
Yes. The Type column takes income or expense, so both live in the same sheet with the amount always positive. Keeping the sign out of the amount column is what lets an importer read the file later without guessing.
When should I stop using a spreadsheet template?
When you are entering rows on a phone, holding more than one currency, needing the same data in two places, past a few thousand rows, or no longer trusting the total. The last one is decisive and usually arrives without warning.

About the authors

Anup Maurya · Chaitanya Vartak

Anup Maurya and Chaitanya Vartak build and run Chillar's. Everything published here is checked against the app's own behaviour before it goes out.

Start tracking in about two minutes

Free to use, and everything you enter is exportable. No card and no trial.