Glossary
Stripe Balance Transaction
A Stripe balance transaction is Stripe’s record of a single movement of money into or out of your Stripe balance, carrying the gross amount, the fee, and the net effect on your balance.
Also called: balance transaction, balance_transaction, Stripe balance history
Definition
Every time money moves through your Stripe balance, Stripe writes a balance transaction. A customer charge creates one. So does the refund you issue three weeks later, the monthly Radar bill, the disputed payment Stripe claws back, and the payout that sends the remainder to your bank.
This matters for bookkeeping because a payout is not a number Stripe invents. A payout is a batch of balance transactions. If your bank deposit is $4,163.27 and your sales for the day were $4,500.00, the difference lives in the balance transactions that came along for the ride: processing fees, a refund, maybe a reserve hold. Reconciling Stripe to QuickBooks is, in practice, the work of accounting for balance transactions that are not charges.
Key points
- +One balance transaction equals one movement of money into or out of your Stripe balance.
- +Key fields: amount (gross), fee, net (amount minus fee), type, currency, created, and available_on.
- +Status is either pending or available. Only available funds can be paid out.
- +Stripe defines more than 50 types, from everyday charge and refund to adjustment, stripe_fee, tax_fee, reserve_transaction, and advance.
- +Payouts are assembled from balance transactions, which is why a deposit rarely equals a day of sales.
The fields that decide your bookkeeping
Stripe describes the amount field as the "gross amount of this transaction (in the smallest currency unit)," where a positive value represents funds charged to another party and a negative value represents funds sent to another party. The fee field holds what Stripe took, always as a positive number, and net is simply amount minus fee. That three-field structure is the entire gross-versus-net problem in one object: your income statement wants the gross amount as revenue and the fee as an expense, while your bank account only ever sees something closer to the net.
The created and available_on timestamps are the other pair worth knowing. A charge is created the moment it succeeds, but the funds become available on a later date, which is when they can actually be paid out. Those two dates fall in different months often enough that they are a routine cause of period-end differences between what Stripe reports and what your bank shows.
Status is either pending or available, and reporting_category is Stripe’s own accounting-oriented grouping of the type field. If you are exporting balance-transaction reports to reconcile by hand, reporting_category is usually the column you want to group on.
The types you actually meet
Most balance transactions are ordinary: charge, payment, refund, and payout. The ones that create bookkeeping questions are the rest.
stripe_fee covers processing fees plus product fees such as Billing or Radar. stripe_fx_fee is the currency-conversion fee. tax_fee is tax Stripe charges you on its own fees, which is a fee expense and not sales tax you owe. adjustment is a correction outside the normal flow, most often a dispute or a failed refund returning funds. reserve_transaction and reserved_funds are temporary holds that net back to zero once released, though a hold in one month and a release in the next will make one period look worse and the following one better. application_fee is income to a Connect platform, and connect_collection_transfer is a real loss when a connected account stays negative for 180 days. advance and advance_funding are how Stripe fronts an instant payout and then recovers it.
None of these are exotic. A business doing a few thousand transactions a month will meet most of them within a year, which is why "sync my Stripe sales" is never the whole job.
Why your payout never matches your sales
Take a single day: $4,500.00 in successful charges, $130.50 in Stripe fees, one $200.00 refund, and a $6.23 currency-conversion fee. Stripe writes a balance transaction for each of these. The payout that eventually lands is $4,163.27.
If QuickBooks records only the $4,163.27 deposit, revenue is understated by $336.73 and fee expense is missing entirely. If it records $4,500.00 of revenue against a $4,163.27 deposit, the difference sits in a clearing account that never returns to zero. The only version that closes cleanly books gross revenue, the fee expense, and the refund separately, then shows the deposit as the net result. That is the whole reason a clearing or holding account exists in a Stripe workflow.
How Acodei handles balance transactions
Acodei imports balance-related types and posts them to QuickBooks through Account Mapping, under a section called Balance Transaction Mapping. During payout and daily-summary processing, each type’s aggregated amount posts as a line item using the product you mapped to it, and any type you have not mapped yet prompts you to map it.
The common types have set treatments. Stripe fees, FX fees, tax on fees, and network costs all post against the mapped Stripe Fees item: in real-time sync as a fee line on each sales receipt, in daily-summary mode as one aggregated fee line on the day’s deposit. Adjustments do not create a standalone QuickBooks transaction at all, because Acodei reverses or adjusts the original record instead, which is why a chargeback shows up as a sale being undone rather than as a new expense. Reserves and reserved funds are aggregated and posted as mapped line items, netting to zero over time. Payments Stripe releases after 90 days (payment_unreconciled) come in as other income. On a Connect account, application fees post as income and application fee refunds reverse that income, while a connect collection transfer posts as an outflow that many businesses reclassify to bad debt.
Instant payouts are worth calling out because they involve three separate records. The instant payout itself is recorded as a QuickBooks Transfer. Stripe’s recoup arrives on the next regular payout, appearing on an Undeposited Funds setup as a negative Advance line through Balance Transaction Mapping. The instant-payout fee is captured on the daily balance summary along with the day’s other fees.
Want to see this on your own Stripe data?
Start a free trialFrequently asked questions
What is a Stripe balance transaction?
It is Stripe’s record of one movement of money into or out of your Stripe balance. Each one carries a gross amount, the fee Stripe took, and the net effect on your balance, along with a type describing what caused it.
What is the difference between a charge and a balance transaction?
A charge is the customer payment. The balance transaction is the accounting record of what that charge did to your Stripe balance, including the fee and the date the funds become available. One charge produces one balance transaction, but plenty of balance transactions have no charge behind them, such as fees, disputes, and payouts.
Why does my Stripe payout not match my sales total?
Because the payout is a batch of balance transactions, not a list of sales. Fees, refunds, disputes, and reserve holds all reduce it, and funds only join a payout once their available_on date arrives. Recording just the deposit understates both revenue and expenses.
What does the available_on date mean?
It is the date the net funds become available in your Stripe balance and can therefore be paid out. It is usually later than the created date, and when the two fall in different months they are a common source of period-end differences.
Do balance transactions other than charges reach QuickBooks?
With Acodei they do. Balance-related types post through Balance Transaction Mapping in Account Mapping, using the product you map to each type, so fees, reserves, adjustments, and Connect movements land in QuickBooks rather than disappearing into an unexplained payout difference.
What customers say about running Stripe through Acodei

“If you're testing out all the different Stripe/QuickBooks integration apps right now, let me save you some time. This one is the best one by far.”
“Works well and is really helpful for massive transactions. The support is really fast and helpful. 100% recommended.”
Ready to try Acodei?
Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.