Skip to content
RowDocs

Receipt generator from Excel sales records

Generate one receipt per sales-record row, numbered and named consistently.

Free up to 20 rows per run. No signup.

Need more? Pro is $12/mo for unlimited rows

Runs entirely in your browser · No upload · No signup · Open the network tab and check

This tool works from your own sales records — the export your register, booking system, or ledger already produces. It turns each recorded sale into a clean receipt PDF for your customers and your files.

How it works

  1. 1

    Drop your sales export

    A .xlsx or .csv from your own records — one row per sale, with customer, amount, and receipt-number columns. Parsed in your browser; nothing uploads.

  2. 2

    Check the rows it found

    The tool shows the row count. Amount-like columns (Amount, Price, Fee, Tax, Subtotal) become line items; a Total column becomes the total.

  3. 3

    Generate the receipts

    One PDF per sale: receipt number top right, the customer under Billed to, each amount as its own line, and the total ruled off beneath — zipped, in your export's order.

A worked example: 15 sales, 15 numbered receipts

Your week's export is sales-week-32.csv: 15 rows with columns Receipt No, Customer, Date, Amount, Tax, and Total. One run produces 15 receipts — each with its Receipt No printed top right, the customer under “Billed to”, Amount and Tax as ruled lines, and the Total beneath them — zipped in export order.

  • Free run: files are named row-1.pdf through row-15.pdf.
  • Pro run with the pattern {Receipt No}.pdf: files are named 2026-0141.pdf, 2026-0142.pdf, … — your own numbering, straight into the bookkeeping folder.

Constraints & edge cases

Where does the receipt number come from?

From your data first: a column named Receipt, Invoice, Reference, Number, or ID is printed as the receipt number. If no such column exists, receipts number sequentially by row — 0001, 0002, and so on. The tool never invents or reorders numbers, so gaps in your sequence stay visible instead of being papered over: the numbering is only as clean as the export.

How is currency shown?

Amounts print as plain numbers with two decimals — 1234.50 — with no currency symbol added, so the receipt stays correct whatever you bill in. Cells that contain formatted amounts like “$1,234.50” are read as the number 1234.50. If you want the currency visible, add a Currency column (“USD”, “EUR”) and it prints as a detail line.

How do tax and subtotal lines work?

Every numeric column whose header looks amount-like — Amount, Price, Cost, Fee, Subtotal, Tax, Paid, Charge — becomes its own labelled line on the receipt. A column with Total in the header is used as the printed total; without one, the line amounts are summed. Check one generated receipt against a known row before running the full export.

What if my export has duplicate rows?

Every row generates a receipt — the tool does not deduplicate, because it cannot know whether two identical rows are a data error or two genuine identical sales. Identical filenames get a (2) suffix so nothing is overwritten. Clean the export first if duplicates are unintended.

Is a month of sales within the free tier?

Each run covers the first 20 rows free, unlimited runs, no signup. A 15-row export runs entirely free; bigger months are Pro ($12/mo, unlimited rows) or several free batches.

How to make receipts from sales records, by hand

Receipts have a constraint the other generate jobs do not: the numbers have to be right and they have to be traceable back to the record they came from, which rules out some of the quicker copy-paste routes.

A template with a lookupHalf an hour to build, then one export per receipt

  1. 1Build a receipt sheet whose fields read from your sales table with VLOOKUP or XLOOKUP, keyed on a receipt or order number.
  2. 2Type the next number into the key cell and the receipt populates.
  3. 3Export to PDF, then change the number and repeat.

Where it breaks. The lookup means the figures are always consistent with the source, which is the right property here. What does not scale is the export: it is one Save As PDF per receipt, named by hand, and a mistyped filename disconnects a receipt from its record.

Word mail merge from the sales tableTwenty minutes, plus the split problem

  1. 1Use the sales table as the merge source and lay out the receipt in Word.
  2. 2Merge and export to PDF.

Where it breaks. Same one-combined-document wall as every Word merge. Worse here than elsewhere, because currency and date fields arrive from Excel unformatted unless you add numeric picture switches to each merge field — so totals show up as 1234.5 rather than $1,234.50 until you fix every field by hand.

Set a print area and export per receiptUnder a minute per receipt once the template exists

  1. 1Lay the receipts out down one sheet, one block per sale.
  2. 2Select a block and use Page Layout → Print Area → Set Print Area, then export to PDF.
  3. 3Clear the print area, select the next block, and repeat.

Where it breaks. It avoids building a lookup, which is why people reach for it, and it is the most error-prone route here. The print area is a single per-sheet setting, so forgetting to clear it exports the previous receipt again under the new filename — and because the file is named correctly, nothing looks wrong until a customer queries an amount that belongs to someone else.

Windows and Mac

Windows. Print Area and the PDF export options both sit on the Page Layout and Save As dialogs, and mail-merge numeric picture switches are documented for the Windows build.

Mac. PDF export runs through the print dialog rather than Save As, which changes where the page-scaling options live — a common reason a receipt that looked right on screen prints across two pages on a Mac.

The lookup template is genuinely good practice and worth building whatever else you do, because it keeps the figures tied to the source record. What does not scale is everything after that: one export, one filename, and one chance to leave a stale print area set, per receipt. Receipts are also the job where a silent error costs the most — an attendance sheet with the wrong header is embarrassing, a receipt with the wrong total is a dispute.

Generate them here instead — free, no signup, and your file never leaves your machine.

Often done next

Ran out of rows? Pro lifts the 20-row ceiling for $12/mo — see what Pro costs.