How to put receipts into a spreadsheet — from three messy lines to a working workbook
Expense data almost never arrives in columns. It arrives as lines where the date, the merchant, the amount and the category sit in a different order each time, sometimes with a category and sometimes without, and with no header row telling you which is which. Getting it into a spreadsheet means inferring the shape from the values themselves — this looks like a date, that looks like money, the trailing word is probably a bucket — and then holding that inference consistent across every row. Below is a real run doing exactly that, and one thing about it you should know before copying the approach.
How to do it
- Do not write the header row yourself Hand over the raw lines exactly as they arrived, including the inconsistent ones. Cleaning them first throws away the evidence of what the columns are.
- Ask for the summary as a separate sheet Category and monthly totals belong on their own sheet, not as subtotal rows wedged under the data. Subtotals inside the data break the moment you sort it.
- Check the rows that had no category Lines missing a field are where an inference gets applied rather than read. Those are the rows to audit first.
The exact request
Here are three lines of expenses copied out of our team's receipts, and they are a mess: `AWS 2026-06-12 412.55 infra`, `lunch client 2026-06-13 88.20`, and a couple more like it. Work out what the columns are and build me a proper expense spreadsheet from them, with a summary by category and by month. .xlsx.
What came back
What it cost
| Expense workbook run | $0.260554 |
| Total | $0.260554 |
What it got wrong
- The forty rows in this workbook are invented. Three real lines went in; the rest were generated to match their shape so the summary sheets had something to total. That makes it a working template, not your data — delete the rows and paste your own in.
- Nothing was read from a receipt image or a PDF. The input was text lines that had already been copied out.
- Category assignment is inferred from a trailing word. Where your data uses the same word for two different buckets, it will not know.
Questions people ask
How do I get receipts into Excel without typing them?
If the data is already text — copied out of an inbox or an app — hand the raw lines over as they are and let the column structure be worked out from the values. The example below did that with three deliberately inconsistent lines. If your receipts are photographs, this run does not cover that case.
What did it cost?
$0.260554 on the Smart tier, about ninety seconds. The full receipt is on this page.
Opens with this request already filled in. You pay for the run, not a plan.