Software collection playbook
Stripe: trace activity and payouts to bank evidence
Gross/fee/net, payments balance and exact transfers.
By Sam Yang · Updated
Which balance moved, and which transfer reached the bank?
Use the correct account product and time zone first. Explain activity and settlement as linked movements; a matching amount alone does not identify a transfer.
Evidence basis: Saved balance/activity and account-product review observations. Product and account scopes require verification.
Check Balance transaction and reporting objects for the exact account and required cutoff; native exports are another source.
The owner wants to explain a payout
Use the balance activity underlying that payout, retaining refunds, fees and adjustments, then verify the bank occurrence.
A Financial Account is involved
Collect its own ledger and balance movement separately. Do not treat it as interchangeable with the payments balance report.
Use supported API or native report access for the required scope. A permitted browser session can collect a specific gap. Neither route proves reconciliation or complete costs.
Put the evidence to work
Why does a successful payment not explain the bank deposit?
Payment status, balance availability, payout initiation and bank receipt are separate events. Trace the Stripe balance transactions included in the payout, retain refunds and fees, and use the receiving bank occurrence to establish arrival. Keep a Financial Account or another balance product on its own rollforward. Before proposing entries, check the approved processor recognition basis and its retained source evidence. Payout arithmetic alone does not authorize an estimated fee gross-up.
Reproduce an automatic payout
- Bind the Stripe account, balance product, automatic payout ID, currency and reporting timezone. For manual or instant payouts, use the applicable balance/transaction approach instead of assuming an automatic settlement batch.
- Collect the payout's underlying balance transactions with source identities, signed amounts, fees and net amounts. For the native automatic-payout report, the selected range uses estimated arrival date; it is not the bank posting date.
- Read the approved recognition basis for this entity, processor and period, with the retained evidence and existing postings. An evidenced net-bank-receipts election can resolve that policy-specific fee estimate; do not infer the election from a net deposit or invent missing gross charges and fees.
- Reproduce activity and payout totals. Do not add a payout movement to charges as another sale.
- Compare to the actual receiving account and bank occurrence, retaining delayed, failed or returned transfers.
Bring to the review: A charge/refund/fee-to-payout bridge plus bank receipt evidence.
Then decide: Investigate an unmatched movement by identity and account before choosing a same-amount bank row.
Explain a period-end balance
- Choose the balance/product and cutoff first, distinguishing created activity from when funds become available.
- Collect opening balance, complete signed activity and outgoing movements, then retain pending/available classifications.
- Reproduce the ending balance and investigate refunds, disputes, reserves or transfers omitted by a charge-only file.
- If a Financial Account is involved, collect its separate ledger and identify exact transfers between products.
Bring to the review: A product-specific balance rollforward with unresolved items.
Then decide: Resolve the difference or retain it explicitly; a zero unexplained difference in one product says nothing about another.
Which collection route answers this question?
Choose the route for the missing evidence and the access available in your account. The comparison below distinguishes documented coverage from coverage that still needs checking.
Supported API
- What it supplies
- Stripe documents BalanceTransaction id, source, amount, fee, net, currency, created and available_on. Amounts use the smallest currency unit; net equals amount minus fee.
- What still needs proof
- The correct account/product, authorization, pagination and complete payout grouping must be verified. A Payments balance object is not proof of Financial Account coverage.
Choose it when: Structured recurring transaction extraction with verified account scope.
Native export
- What it supplies
- Stripe documents a payout reconciliation report for automatic payouts, including transaction-level breakdowns.
- What still needs proof
- Generally unavailable for manual payouts, except a platform with automatically paid Connected Accounts. Instant-payout timing/amounts are user-controlled, so Stripe cannot identify a transaction batch for each instant payout. Verify the actual configuration.
Choose it when: Reproducing the provider's automatic-payout population as an original report.
Permitted browser
- What it supplies
- Use the authorized dashboard to verify report configuration and collect native files when a registered API or connector does not supply that source.
- What still needs proof
- A visible total or payment status cannot prove population completeness or receiving-bank settlement.
Choose it when: Inspect a missing report setting or original source file without initiating transfers or refunds.
Reproduce the diagnostic
Fictional gross-to-net payout in cents
All records and amounts below are fictional teaching inputs. This example demonstrates the calculation, not a customer outcome or a reproduced software defect.
40000 captured cents less 5000 refunded cents equals 35000 signed cents. Deduct 1200 fee cents to get 33800 net cents, or 338 USD. Divide USD cents by 100 once; the fixture has no reserves, disputes or other activity.
What the CSV columns mean
- id: teaching balance-transaction ID
- type: charge or refund
- amount_minor: signed USD cents
- fee_minor: positive fee USD cents
- net_minor: amount_minor less fee_minor
- Captured gross
- 400 USD
- Charge rows expressed in USD.
- Signed activity
- 350 USD
- Charges less the refund before fees.
- Fees
- 12 USD
- Processing costs in this fixture.
- Payout net
- 338 USD
- Expected transfer amount, requiring separate bank evidence.
Inspect stripe-balance.csv
id,type,amount_minor,fee_minor,net_minor txn_A,charge,25000,750,24250 txn_B,charge,15000,450,14550 txn_C,refund,-5000,0,-5000Download this CSV
Next decision: Match the payout identity to bank receipt; do not classify 338 as gross sales.
Run the example locally
Save the CSV files, expected-results.json and reproduce.mjs in one folder. With Node.js installed, run the command below. It calculates the checks from the CSV bytes and rejects a changed input or expected result.
node reproduce.mjs expected-results.json
No software login, customer records or API key is required.
When the result does not make sense
A deposit was booked as sales
Check: Read the approved recognition basis and retained source evidence before treating the entry as an error. Compare its net amount to charges, refunds, fees and adjustments in the payout.
Resolve the question: Prepare the gross-to-net explanation and, where supported, a reviewed accounting correction; preserve the existing bank leg. If an evidenced net-bank-receipts election resolves the estimated gross-up, retain that disposition instead of manufacturing fees. Actual supported discrepancies, refunds and missing source coverage still need review.
Report amounts are a hundred times too large
Check: Check currency and smallest-unit semantics in API fields versus formatted report dollars.
Resolve the question: Convert according to the source currency definition before summing; keep original integer fields.
Two bank credits have the same amount
Check: Compare payout ID, transfer reference, account, currency and occurrence chronology.
Resolve the question: Retain both candidates until source identity disambiguates them; amount equality alone is insufficient.
Where automation earns its place
Good work for automation
- Paginate by supported identifiers, preserve currency units and reproduce signed balance/payout arithmetic.
Keep a person on these decisions
- Review disputed amounts, account-product transfers, cutoffs and ambiguous bank occurrences; an extracted status does not settle those questions. Confirm the evidenced recognition basis before any fee-estimate proposal. This review workflow does not recommend net receipts as a universal GAAP or tax method.
References behind these workflows
Product documentation supports the specific scope stated beside each source. Level's diagnostic methods and fictional calculations remain distinct from vendor capabilities.
- Stripe BalanceTransaction object
Identity, source, smallest-unit fields and availability. Reviewed .
- Stripe payout reconciliation
Automatic-payout reconciliation population and report scope. Reviewed .
Collect and verify the population
- Charges, refunds and fees
- Retain native identities and the source period/time zone.
- Payout and receiving bank
- Bind the transfer and bank occurrence; preserve ambiguous same-amount candidates.
- Account balance rollforward
- Explain opening balance, activity, transfers and ending balance for the actual product used.
Collect the appropriate balance and activity files for aligned dates and time zone. Preserve charge, refund, fee and payout identities. Review any Financial Account ledger separately. Explain both balance rollforwards and exact transfers, retaining unresolved matches.
Evidence acceptance checklist
- Align balance, activity and payout dates and timezone.
- Retain charge, refund, fee and payout identifiers instead of only net deposits.
- Review separate account products and exact bank-transfer occurrences.
Fictional collection example
A fictional deposit is the net of several charges, a refund and processing fees. A matching total can support a totals bridge, but the charge and payout identities are still required for transaction review. A separate Financial Account balance does not share the same source definition by default.
Invented teaching scenario, not a customer result or a reproduced vendor defect.
Capture the setup with the evidence
- Company, legal entity or account, report name, period, basis, currency and timezone.
- Selected filters, status, page count, original record identifiers and control totals.
- Collection time, source route and authorized role. Record browser and automation versions when using a browser.
- Original files and exceptions. Keep credentials, customer identifiers and financial artifacts private.
A browser version helps reproduce an interface issue. It does not validate the financial conclusion.
Pitfalls and stop conditions
Net deposits are not gross sales. Ledger marketing totals do not establish customer acquisition economics. Different account products need separate source definitions; date and amount alone can leave ambiguous matches.
How a plausible answer can go wrong
Net payout treated as sales understates gross activity and hides fees. A second ledger product with a similar total is not proof that either balance reconciles.
Stop if account identity, permission, cutoff or population is uncertain. Return the missing evidence for review. Do not fill the gap with an invented record, a balancing entry or an assumed zero.
Read-only AI collection prompt
Replace the bracketed scope before use. This prompt collects evidence; it does not permit edits, approvals or accounting execution. Requesting an emailed report is a separate account action and requires explicit authorization.
Collect read-only evidence for Stripe to answer [financial question]. Confirm [company], [account/entity], [period], [basis], [currency] and [allowed reports]. Collect the appropriate balance and activity files for aligned dates and time zone. Preserve charge, refund, fee and payout identities. Review any Financial Account ledger separately. Explain both balance rollforwards and exact transfers, retaining unresolved matches. Retain original files, complete record IDs, counts, filters, collection timestamp and exceptions. Net deposits are not gross sales. Ledger marketing totals do not establish customer acquisition economics. Different account products need separate source definitions; date and amount alone can leave ambiguous matches. Stop if the source or scope is uncertain. Do not post, match, reconnect, delete or change settings. Return the evidence for financial review; do not claim the books are correct. Do not approve, submit payroll, pay, transfer, refund, send messages, invite users or accept terms. Stop at any login, MFA or credential prompt and hand back to the account owner. Store files only in [approved private location]. Do not paste customer artifacts into public tools. Use only preauthorized collection actions. Request an emailed report only when its delivery is explicitly authorized; otherwise ask the account owner to supply the file.
Next decision
What does the evidence support?
Can the owner reproduce both the source balance movement and the exact transfer to the receiving account? Retain unexplained differences instead of selecting the closest amount.
Compare the same population, identities and cutoff. Keep unsupported costs or settlements visible before using the result for pricing, cash or close.
Open the financial acceptance guide →Sources and scope
Base product-reference scopes were reviewed . No end-to-end dated native UI walkthrough is published for this software. Individual source rechecks are dated with their citations. Operator decision guidance was reviewed 2026-10-07. The references below support their stated product scope, not every observed interface detail. It is not a vendor capability certification, a measured customer result or an independently reconciled account. Verify current features and entitlement in the account you use.
- Stripe payout transaction reconciliation
Payout and balance-transaction tracing, not separate Financial Account coverage.