Slipsheet · Content Back to ledger
Home / Receipt to Wave: Turn Photos and PDFs Into Import-Ready Rows
Receipt to Wave: Turn Photos and PDFs Into Import-Ready Rows

Receipt to Wave: Turn Photos and PDFs Into Import-Ready Rows

It's Friday afternoon and Wave is open in one tab. Everything you need to put in it is somewhere else. The hardware-store slip is a curled thermal strip in the glovebox. The office-supply invoice is a PDF in an email thread. The client lunch is a photo between two screenshots. The parking charge is a line on the card statement, and no paper ever existed.

Wave wants clean rows. You have a pile of photos, PDFs, and confirmations. Getting from one to the other is the whole job, and most of it is typing.

What is a receipt-to-Wave workflow?

A receipt-to-Wave workflow turns each receipt into one row (date, vendor, total, tax, category) and lands that row in Wave as a transaction. Wave is the ledger the row ends up in; the photos, PDFs, and emails are only where it starts.

The rule that keeps it sane is one receipt, one row. Not one row per line item, and not one folder per month. When every receipt has the same shape, checking the pile against the books takes minutes.

Where does Wave stop and the row start?

Wave is accounting software, and it does handle receipts on its own. According to Wave's help center, its receipts scan feature creates an expense transaction from each receipt you upload or forward, and it comes with a Receipts Plan or Pro Plan subscription. Emailed receipts go in one at a time.

Wave also takes transactions by statement upload. That path reads a CSV with a date, an amount, and a description. Wave's help says extra columns can stop the file from reading, and that PDFs aren't supported for transaction uploads.

Slipsheet doesn't sync with Wave, and it isn't a second ledger. It is the step before: get the pile into reviewed rows in a sheet you own, then upload a CSV. If you already pay for Wave's scanning and like it, use it. The comparison is a separate page. This one is for the week you want to look at every row before it touches your books.

What does a messy pile look like as rows?

Here is one invented week: a thermal slip, an emailed PDF, a phone photo, and a charge that only exists on the card statement.

datevendortotaltaxcategorysource
2026-09-04Hollis Hardware$48.72$3.60Suppliesthermal slip
2026-09-09Kestrel Office Supply$129.00$9.56Office suppliesemail PDF
2026-09-11Dovetail Cafe$22.40$1.66Mealsphone photo
2026-09-15PARKWELL LOT 0412$35.00not shownTravelcard statement line
Example with invented data: four messy sources, four rows. The statement-only charge has no tax line, so the tax cell says so instead of guessing.

Every row has the same six fields, whatever the source. The source column is your paper trail: it says where to look if someone asks what the charge was.

The category column is a label to map, not a chart of accounts. Keep the categories you already use in Wave. The row just carries a category field so you can match it to yours. This is bookkeeping mechanics, not accounting or tax advice, and the numbers in the table are invented.

What does the file you upload to Wave look like?

Wave's help asks for a date, an amount, and a description. So the upload copy is the ledger trimmed down:

datedescriptionamount
2026-09-04Hollis Hardware - Supplies$48.72
2026-09-09Kestrel Office Supply - Office supplies$129.00
2026-09-11Dovetail Cafe - Meals$22.40
2026-09-15PARKWELL LOT 0412 - Travel$35.00
4 rows$235.12
Example with invented data: the same four rows trimmed to date, description, and amount. Vendor and category ride in the description. Tax and source stay in your sheet.

Same four charges, same total: $235.12 in both tables. Tax ($14.82 across the three rows that show it), source, and the full vendor field stay in your sheet, where they still count.

In Wave, the path per its help center is Accounting, then Transactions, then More, then Upload transactions. You pick the payment account and confirm the date, amount, and description columns. Dates in YYYY-MM-DD are fine. The table shows purchases as positive amounts, which is what Wave's help says for credit card uploads. Check the same page if you're uploading to another account type.

Two things to do around the upload. Categorize inside Wave afterward, using your sheet's category column as the guide, because Wave's help says statement uploads aren't auto-categorized. And check that a charge isn't already in Wave through a bank connection or an earlier upload, so nothing counts twice.

Why isn't the card statement enough?

The statement line proves money left. It doesn't carry the receipt: no tax line, and often a vendor name you'd never recognize. The parking row above is the extreme case, and the reason its tax cell says "not shown." The longer argument is in a card statement is not a receipt.

Slipsheet handles the middle of this. Photograph the slip, upload the PDF, or forward the confirmation to receipts@slipsheet.app. Each one becomes a row you review, with date, vendor, total, tax, and a category to map. Then you export a CSV you own, trim it to what Wave reads, and import it. You keep the full sheet.

A few straight answers

Which columns does Wave need to import a CSV?

Per Wave's help center, a CSV needs a date, an amount (one column, or separate deposit and withdrawal columns), and a description. If the file has more than four columns with inconsistent information, Wave may not be able to read it, so trim the extras from the copy you upload.

Can Wave read PDF receipts?

Wave's receipts scan feature accepts PDF files, along with JPG, GIF, and PNG, and it requires a Receipts Plan or Pro Plan subscription. Its transaction upload is different: Wave's help center says PDF files are not supported there, and lists CSV, OFX, QBO, QFX, and ASO as the formats it reads.

Do I need a separate tool if Wave already scans receipts?

Not necessarily. If Wave's scanning fits how you work, use it. A spreadsheet-first step makes sense when you want to review every row, keep a sheet you own, or handle charges that never had a receipt before anything reaches your books.

Do my Wave categories carry over from the CSV?

Wave's CSV upload reads date, amount, and description, so plan to apply categories inside Wave. Keep your own categories there. The category column in your sheet is the label you map from, and statement uploads are not auto-categorized, per Wave's help center.

Ready to stop typing receipts?

Open your ledger.

14-day trial. No card. Cancel anytime. Your receipts write themselves while you do literally anything else.