Menu

Guides · Receipt to CSV

Receipt to CSV for freelancers: stop re-typing expenses every month

The freelancer receipt pile is email PDFs plus the camera roll: a ride, a client lunch, hosting, a software renewal you meant to file. Re-typing that into a tracker every month is the admin tax of working solo. A receipt-to-CSV export puts each expense on one row you can keep.

The freelancer receipt pile

Two sources, one close-the-month problem. Vendors email PDF invoices. Everything else is a photo. A receipt tracker that lives in your head, or in a notes app, does not survive a tax conversation. You want one spreadsheet: what you paid, who you paid, and which file proves it.

Vendor invoices that arrive as clean PDFs are the same spreadsheet. The invoice-to-CSV guide is the folder-of-PDFs version of this page. Mix both in a batch when the month is both.

Why OCR alone isn’t enough without a stable schema

Scanning a receipt gets you text. Text is not a ledger. A receipt scanner that only hands back a paragraph still leaves you as the person who types the row. Tools in this space often change shape every run: sometimes a merchant, sometimes a total buried in a sentence, sometimes a new header name.

ParseKit’s job is the row. Same headers on every batch, so “receipt scanner to Excel” is an import. You are not rebuilding the sheet in March because February’s export invented new columns. The fixed-schema guide is the longer version of that lock.

From receipt image to one spreadsheet row

Upload the photo or PDF with the rest of the batch. Each receipt should become one line:

  • Date of the charge.
  • Vendor.
  • Amount and currency, in separate columns.
  • A category you can correct.
  • A short note.
  • source_file set to the image or PDF name.

One receipt, one row. A month of receipts, one CSV. Open it in Excel or Google Sheets and you are looking at a freelancer expense sheet, not a zip of photos.

Categories you can edit before tax season

Categories are helpers for the human closing the month. Labels such as software, travel, meals, hosting, and contractor make a scan of the sheet possible. Change a label before you send the file. “Convert receipts to Excel for taxes” means a clean sheet a preparer can read. You still decide what is deductible. ParseKit does not file a return and does not give tax advice.

Keeping source_file so you can prove where a row came from

When a number looks wrong in March, you should be able to open the original without hunting a camera roll named IMG_2044. The source_file column is that breadcrumb: this row came from that photo or that PDF. Keep the original under the name you uploaded. That is an audit trail a spreadsheet can hold, without a separate document product.

Name files in a way you will recognize later — vendor and date is enough. The column stores that name. It does not rename your archive for you.

How this fits a Sheets-only workflow

Plenty of freelancers keep the year in Google Sheets and never open QuickBooks. Import the CSV, keep a running tab or a tab per month, and share the sheet with whoever closes the books. ParseKit does not replace the sheet. It fills the next rows with a header that already matches.

If a formula row sits under the data, import the new month onto a blank tab or beneath the last real expense, and leave the formula row alone. A fixed header is what makes that repeatable. A new set of column names each month is what breaks it.

When Pro ($39/mo) pays for itself in hours saved

Free covers 3 batches a month. Use it on a real receipt folder before you pay anyone. If re-typing expenses already costs about an hour a month, Pro at $39/mo is that hour, with higher caps and the same columns. A tiny agency dumping a shared folder hits the cap sooner than a solo month of eight receipts.

Lemon Squeezy is the checkout when it is live. Until then, the path is a free account: start free, and upgrade once paid signup is open.

Pro is $39/mo when you outgrow Free. Lemon Squeezy checkout may still be pending, so the button today is Start free.

Start free — 3 batches, no card