How to convert a stripe json export to csv for accounting
- Step 1Pull the data from the Stripe API — Loop /v1/charges?limit=100 (or invoices, payouts) until has_more is false. Save the combined data array to a JSON file.
- Step 2Drop the JSON file in — Auto-detect handles JSON arrays directly; switch to NDJSON if you saved one record per line.
- Step 3Leave flattening on — Nested address and metadata fields become individual columns labelled by their dot-path.
- Step 4Hand off the CSV to accounting — Most accounting tools import CSV directly; pick the semicolon delimiter for European software like DATEV.
Frequently asked questions
Are Stripe amounts in cents or dollars?+
Cents. Stripe stores all amounts as integer minor units. Divide by 100 in your spreadsheet (or the relevant divisor for zero-decimal currencies).
How do I handle the metadata field?+
metadata flattens to metadata.<key> columns. If the keys vary per row, the CSV gets one column per distinct key with empty cells where unset.
Is Stripe data uploaded anywhere?+
No. Conversion runs in your browser. The export never leaves your machine unless you send it on yourself.
Privacy first
Conversion runs locally in your browser. No file is uploaded — only metadata counters are saved for signed-in dashboard stats.