Expense summary

Add expenses by hand or import a CSV to get totals per currency, per month and per category. Two different currencies are never added together unless you type an exchange rate yourself. It turns the CSV from your spreadsheet or expense tracker into a clear expense summary you can download.

Loading the tool…

Processing and privacy: CSV files are read, totals are calculated and the export files are built inside your browser. Your data is not uploaded to any server.

How to use it

  1. Add a row per expense: date, category, amount, currency and an optional note, or import a CSV with those columns.
  2. If your file uses different column names, map each one to the right field. Rows that could not be read are listed with their row number instead of being dropped silently.
  3. Read the totals: per currency, then by month and by category, each currency on its own line.
  4. If you need a single figure, pick a reporting currency and type a rate for every other currency. The converted amount appears next to the original ones, labelled as using your own rates.
  5. Download the summary as CSV or PDF.

Example

Four expenses: Shipping 120.50 SAR on 2026-01-05, Packaging 80 SAR on 2026-01-18, Shipping 45.25 AED on 2026-02-02, Ads 300 SAR on 2026-02-09.

Result: SAR 500.50 in total (January 200.50, February 300.00) and AED 45.25 in February.

The Shipping category shows 120.50 SAR and 45.25 AED on two separate lines; they are never merged into one number.

Limits and caveats

  • Two different currencies are never added into one number. A converted amount appears only after you type a rate for each currency, and it stays your own rate at that moment; the tool does not fetch exchange rates and does not know the official rate on the date of each expense.
  • Dates must be written YYYY-MM-DD. Any other format (such as 05/01/2026) is reported as an error with its row number, because guessing the day/month order changes the result.
  • A currency must be a three-letter code such as SAR or AED. Any well-formed code is accepted and counted with two decimals, except KWD, BHD, OMR and JOD which use three.
  • A negative amount is read as a refund and lowers the total. Check the sign before relying on the figure.
  • Categories are grouped case-insensitively (“Shipping” and “shipping” are one category) and shown with the first spelling seen. Surrounding spaces are trimmed, but “Shipping” and “Shipping costs” remain two categories.
  • Import is tested up to 2,000 rows and a 2 MB file, and reads UTF-8 encoded files only.
  • This is a summariser, not accounting software: no tax, no depreciation, no carried-over balances, and nothing is stored after you close the page.

Questions about this tool

Why does the tool not add SAR and AED together?

Adding them without a rate produces a meaningless number. Every currency is shown separately, and if you want one figure you type the rate yourself; the converted amount is then labelled as using your rates.

What happens to bad rows in a CSV file?

They are listed with their row number (the header is row 1) and the reason: an invalid date, a non-numeric amount or a missing currency. They are never dropped silently and never counted in the totals.

Does it handle commas inside fields and line breaks inside notes?

Yes. The file is read with papaparse following standard CSV rules, so a quoted field keeps its commas, its line breaks and its doubled quotation marks.

How do I make a monthly expense summary?

Add one row per expense with its date, category, amount and currency, and the tool totals each month and each category for you. Two expenses in January of 120.50 and 80 in the same currency appear on the January line as 200.50. If your expenses are in Excel, save the sheet as CSV UTF-8 with dates written YYYY-MM-DD and import it, then download the summary as CSV or PDF.

Can I use it as an expense tracker?

Not on its own, because nothing is saved after you close the page: the tool summarises expenses rather than storing them. Keep your expenses in a spreadsheet or an expense tracker that exports CSV, one row per expense, and import the file here whenever you want monthly or per-category totals.