Balance Transaction Types

    Learn more about the different types of balance transactions that represent funds moving through your Stripe account.

    Balance transactions are our recommended starting point for reporting on your account’s balance activity. They are created for every type of transaction that comes into, or flows out of, your Stripe account’s balance.

    You can create reports that make use of balance transactions using the API or Sigma.

    When a payment is first received, it is initially reflected as a pending balance (less any Stripe fees). This balance becomes available according to your payout schedule. The status attribute on balance transactions indicates the type of the balance.

    Balance transaction source

    Balance transactions include a source field which contains the ID of the related Stripe object. The API can be used to retrieve additional information about the payment activity that caused the Balance transaction to be created. Using Sigma, you can also join the balance_transactions table with other tables using the source_id column.

    Balance transaction types

    Balance transaction types can be grouped into different groups based on the underlying activity that generated the balance transactions. If you are not using the Connect or Issuing APIs, your balance transactions will be in the first two groups (“related to charges and payments” or “related to Stripe balance changes”).

    These balance transaction types are related to creating and refunding charges as part of processing payments.

    Type Description
    charge

    Created when a credit card charge is created successfully.

    payment

    Created when an alternative payment method charge is created successfully.

    payment_failure_refund

    ACH, direct debit, and other asynchronous payment methods remain in a pending state until they either succeed or fail. You will see a pending Balance transaction with the type payment when the payment is created; a Balance transaction with the type payment_failure_refund will appear if the pending payment later fails.

    payment_refund

    Created when an alternative payment method refund is initiated.

    Additionally, if your customer’s bank or card issuer is unable to correctly process a refund (e.g., due to a closed bank account or a problem with the card) Stripe returns the funds to your balance. The returned funds are represented as a Balance transaction with the type payment_refund.

    refund

    Created when a credit card charge refund is initiated.

    Note that if you are separately authorizing and capturing and capture an amount less than the initial authorization, you will see a balance transaction with the type charge for the full authorization amount, and another balance transaction with the type refund for the uncaptured portion.

    refund_failure

    Created when a credit card charge refund fails, and Stripe returns the funds to your balance.

    This may occur if your customer’s bank or card issuer is unable to correctly process a refund (e.g., due to a closed bank account or a problem with the card).

    These balance transaction types are related to changes that affect your Stripe balance such as payouts, fees and top-ups.

    Type Description
    adjustment

    Adjustments correspond to additions or deductions from your Stripe balance that are made outside of the normal charge/refund flow. For example, some of the most common reasons for adjustments are:

    • Refund failures. If your customer’s bank or card issuer is unable to correctly process a refund (e.g., due to a closed bank account or a problem with the card) Stripe returns the funds to your balance. The returned funds are represented as a Balance transaction with the type adjustment, where the description indicates the related refund object.
    • Disputes. When a customer disputes a charge, Stripe deducts the disputed amount from your balance. The deduction is represented as a Balance transaction with the type adjustment, where the source object is a dispute.
    • Dispute reversals. When you win a dispute, the disputed amount is returned to your balance. The returned funds are represented as a Balance transaction with the type adjustment, where the source object is a dispute.
    • In the past, fees for Stripe software and services (e.g., for Radar, Connect and Billing) were represented as adjustments.
    • In the past, Connect platform fee refunds were represented as adjustments.

    The description field on the Balance transaction describes the purpose of each adjustment.

    payout

    Payouts from your Stripe balance to your bank account.

    payout_cancel

    Created when a payout to your bank account is cancelled and the funds are returned to your Stripe balance.

    payout_failure

    Created when a payout to your bank account fails and the funds are returned to your Stripe balance.

    reserved_funds

    When Stripe holds your funds in reserve to mitigate risk, two balance transactions are created: one to debit the funds from your balance, and a second to credit the funds back to your balance at the end of the reserve period.

    stripe_fee

    Fees for Stripe software and services (e.g., for Radar, Connect, and Billing).

    stripe_fx_fee

    Stripe currency conversion fee

    tax_fee

    Taxes collected by Stripe to be remitted to the appropriate local governments. Typically, this is a tax on Stripe fees.

    topup

    Funds you transferred into your Stripe balance from your bank account. Learn more.

    topup_reversal

    If an initially successful top-up fails or is cancelled, the credit to your Stripe balance is reversed. Learn more.

    These balance transaction types are created as part of using the Issuing API.

    Type Description
    issuing_authorization_hold

    When an issued card is used to make a purchase, an authorization is created. If the authorization is approved, a balance transaction is created with the type issuing_authorization_hold to hold the authorized amount in reserve from your account balance, until the authorization is either captured or voided. Some merchants can also update an authorization to request an additional amount (e.g., to extend a hotel booking or add a tip), and this is also represented as a balance transaction with the type issuing_authorization_hold.

    issuing_authorization_release

    When an authorized purchase, made with an issued card, is captured by the merchant, the funds previously held for the authorization (issuing_authorization_hold) are released with a issuing_authorization_release balance transaction. Simultaneously, an issuing transaction is created, and the purchase amount is deducted from your Stripe balance in another balance transaction with the type issuing_transaction.

    issuing_transaction

    When an authorized purchase, made with an issued card, has been authorized and captured by the merchant, an issuing transaction is created, and the purchase amount is deducted from your Stripe balance with a issuing_transaction balance transaction.

    These balance transaction types are related to using the Connect API and related APIs, such as instant payouts.

    Type Description
    advance

    Incrementing available funds for instant payouts. This occurs when you create an instant payout and the requested payout amount is greater than your connected account’s available balance. Funds are added to your available balance and removed from your pending balance to cover the difference.

    advance_funding

    Decrementing pending funds for instant payouts. This occurs when you create an instant payout and the requested payout amount is greater than your connected account’s available balance. Funds are added to your available balance and removed from your pending balance to cover the difference.

    application_fee

    Earnings you’ve generated by collecting platform fees via Stripe Connect charges.

    application_fee_refund

    Platform fees that you have returned to your connected accounts.

    connect_collection_transfer

    If one of your connected accounts has a negative balance for 180 days, Stripe transfers a portion of your balance, to zero out that account’s balance. Learn more.

    reserve_transaction

    If one of your connected accounts’ balances becomes negative, Stripe temporarily reserves a portion of your balance to ensure that funds can be covered.

    If one of your connected accounts’ previously negative balance becomes less negative due to activity on account, another reserve_transaction is created to release a corresponding portion of the funds held in reserve. Learn more.

    transfer

    Funds sent from your balance to the balance of your connected accounts.

    transfer_cancel

    Transfers to your connected accounts that have been cancelled.

    transfer_failure

    Transfers to your connected accounts that failed. Transfer failures add to your platform’s balance and subtract from the connected account’s balance.

    transfer_refund

    Transfers to your connected accounts that you have reversed. Transfer reversals add to your platform’s balance and subtract from the connected account’s balance.

    Questions?

    We're always happy to help with code or other questions you might have! Search our documentation, contact support, or connect with our sales team. You can also chat live with other developers in #stripe on freenode.

    Was this page helpful? Yes No

    Send

    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.