Stripe
Fetch balance transactions from Stripe, including automatic payout grouping and synthetic fee rows.
Generate a restricted API key at Stripe Dashboard > API keys with read access to Balance Transactions and Payouts.
export STRIPE_API_KEY=sk_live_...vgrid fetch stripe --from 2026-01-01 --to 2026-02-01 --out stripe.csvFor Stripe Connect sub-accounts, pass --account:
vgrid fetch stripe --from 2026-01-01 --to 2026-02-01 --account acct_1234 --out stripe.csvOptions
Section titled “Options”| Flag | Description | Default |
|---|---|---|
--from |
Start date inclusive (YYYY-MM-DD) | required |
--to |
End date exclusive (YYYY-MM-DD) | required |
--api-key |
Stripe secret key | STRIPE_API_KEY env |
--account |
Stripe Connect account ID (acct_...) |
— |
--out |
Output CSV path | stdout |
-q / --quiet |
Suppress progress messages | off |
Type mapping
Section titled “Type mapping”| Stripe type | Canonical type |
|---|---|
charge, payment |
charge |
payout |
payout |
stripe_fee, application_fee |
fee |
refund |
refund |
| anything else | adjustment |
Unmapped types include the original Stripe type in the description (e.g. [stripe_type: transfer]).
Date handling
Section titled “Date handling”effective_date—createdtimestamp converted to YYYY-MM-DD (UTC)posted_date—available_ontimestamp converted to YYYY-MM-DD (UTC)
Synthetic fee rows. When a balance transaction has a non-zero fee and is not itself a fee type, VisiGrid emits an additional fee row with source_id = "{source_id}_fee" and amount = -fee.
Payout grouping. After fetching all transactions, VisiGrid makes per-payout API calls to resolve which balance transactions belong to each payout. Transactions and their synthetic fee rows are tagged with group_id = po_xxx.
Pagination. Cursor-based (starting_after, 100 items per page) with stuck-cursor detection.
Sort order. created ascending, then source_id ascending.