CSV the way
spreadsheets actually want it.
One row per item, receipt-level fields repeated on each row. UTF-8 with proper escaping. International characters, commas inside fields, embedded newlines all handled the way the standard says they should be.
receipt_2yK3pQ.csv
CSVreceipt_id,merchant,date,currency,item_name,variant,category,quantity,unit_price,tax_rate,line_total,confidence
rcpt_2yK3pQ,"Brew & Butter",2026-04-28,USD,"Oat milk latte",Large,Drinks,1,5.50,0.085,5.50,96
rcpt_2yK3pQ,"Brew & Butter",2026-04-28,USD,"Blueberry muffin",Gluten-free,Pastry,1,4.25,0.085,4.25,94
rcpt_2yK3pQ,"Brew & Butter",2026-04-28,USD,"Drip coffee",Medium,Drinks,1,3.75,0.085,3.75,98When to use
- You're piping into a spreadsheet, pivot table, or accounting tool
- Your bookkeeper or accountant works in Excel or Sheets
- You're importing into QuickBooks, Xero, or FreshBooks
- You need a quick visual review of a batch of receipts
Probably not the right pick when
- You're piping into a database or another structured system (use JSON)
- You need nested data like the items array in its native shape
- You're building a programmatic integration (the API's native JSON is cheaper)
The endpoint
POST /v1/receipts/:id/export?format=csvFAQ
About the
.csv export.
Why one row per item?
Most spreadsheet workflows assume flat rows. Repeating the receipt-level fields means you can pivot by merchant, by category, or by date without writing any formulas.
How are commas and quotes inside fields handled?
RFC 4180 escaping. Fields with commas, quotes, or newlines are wrapped in double quotes, and embedded quotes are doubled. Drops cleanly into Excel, Numbers, Sheets, or any spec-compliant CSV reader.
Does it handle non-ASCII characters?
Yes. UTF-8 with a BOM optional via query param. Café, 北京, São Paulo, and emoji all round-trip correctly.
Can I export multiple receipts at once?
Yes. Use the bulk export endpoint with a date range or list of receipt IDs. The result is a single CSV with all items concatenated.