How to Account for Stripe Payments and Fees
Before You Start
Add these accounts to your chart of accounts if they do not already exist: Stripe Sales Revenue (income account), Stripe Processing Fees (expense account), and optionally a Stripe Clearing Account (bank-type account that tracks the balance Stripe holds between charges and payouts). You also need your business bank account connected to your accounting software so bank deposits can be matched against your Stripe entries.
Step-by-Step Stripe Accounting Setup
You have three options: automated integration through A2X or Synder, manual recording from Stripe payout reports, or bank feed matching with manual fee tracking. Automated integration is best for sellers processing more than 100 transactions per month through Stripe. Manual recording works for lower volumes. Bank feed matching is the simplest approach but requires careful handling to capture fees correctly.
If using A2X, connect your Stripe account and your accounting software. A2X creates a journal entry for each Stripe payout that debits your bank account for the net deposit amount, debits Stripe Processing Fees for the total fees in that payout, credits Stripe Sales Revenue for the gross charge amounts, and handles refunds as a debit to revenue (reducing sales). Map each component to the appropriate account in your chart of accounts. Once configured, every future payout generates a properly formatted entry automatically.
Whether automated or manual, every Stripe payout should break down into at least three components. Example: Stripe processes $5,200 in charges during a payout period, deducts $165.80 in fees (2.9% + $0.30 per transaction average), and includes $150 in refunds. The payout to your bank is $4,884.20. Your journal entry: debit Bank $4,884.20, debit Stripe Processing Fees $165.80, debit Refunds $150.00, credit Stripe Sales Revenue $5,200.00. This entry records all components and balances to zero.
When you refund a customer through Stripe, Stripe refunds the charge amount to the customer but does not refund your processing fee on the original charge (Stripe does refund the fee on some plan types, so check your specific Stripe plan). A $100 charge with a $3.20 fee that gets refunded returns $100 to the customer, but you do not get the $3.20 fee back. In your books, record the $100 refund as negative revenue. The $3.20 fee remains in your processing fee expense, accurately reflecting that you paid the fee and did not recover it. This makes the true cost of a refund $3.20, not just a wash.
Each Stripe payout should match a corresponding deposit in your bank account within one to two business days (depending on your payout schedule). When the bank feed imports the deposit, match it against the journal entry from your integration app or manual recording. The amounts should be identical. If you see a Stripe deposit in your bank feed that does not have a matching journal entry, investigate immediately, because unmatched deposits mean revenue and fees are not being recorded. Monthly, compare your total Stripe revenue and fees in your accounting software against the Stripe Dashboard's monthly summary to verify completeness.
Understanding Stripe's Fee Structure
Stripe's standard pricing is 2.9% + $0.30 per successful card charge for domestic transactions. International cards add 1.5%, and currency conversion adds 1%. These fees are deducted from each payout, not billed separately. Your total processing fee depends on your average transaction size, international mix, and card types.
On a $50 domestic transaction: $50 x 2.9% + $0.30 = $1.75 (3.5% effective rate). On a $10 transaction: $10 x 2.9% + $0.30 = $0.59 (5.9% effective rate). The $0.30 fixed component makes small transactions proportionally more expensive. If your average order value is below $20, processing fees consume a larger percentage of revenue and are worth tracking carefully.
Stripe also charges for specific features: Stripe Radar for fraud prevention ($0.05 to $0.07 per screened transaction), Stripe Billing for subscription management (0.5% to 0.8% of recurring revenue), Stripe Connect for marketplace payments (additional per-transaction fee), and dispute fees ($15 per dispute). These additional fees appear in your Stripe payouts and should be categorized correctly in your books, either as processing fees or as separate expense categories if the amounts are significant enough to track independently.
Stripe for Multiple Revenue Sources
If you use Stripe for multiple purposes, such as your WooCommerce store, a subscription service, and one-time invoices, your Stripe payouts bundle all sources together. Without careful tracking, you cannot determine how much revenue came from each source based on the payout alone.
Use Stripe's metadata and reporting features to separate revenue by source. In the Stripe Dashboard, filter payments by metadata, product, or description to see breakdowns by source. If your integration app supports it, map different Stripe payment sources to different income accounts in your accounting software. Synder can categorize Stripe transactions by source metadata. A2X groups by the connected platform (Shopify charges vs. direct Stripe charges).
If you cannot automate the source separation, create a manual reconciliation process: download the Stripe payment list for the month, filter by source or product, calculate totals by source, and create manual journal entries allocating the payout proportionally. This is only necessary if you need source-level profitability reporting within your accounting system.
Year-End Stripe Reconciliation
Stripe issues a 1099-K reporting total gross payment volume for the year. This number includes all successful charges before fee deductions and includes charges that were later refunded. Compare this number against your total Stripe Sales Revenue account in your books for the year. The numbers should match within a small margin (timing of December 31 transactions can cause minor differences).
If the 1099-K amount is higher than your recorded revenue, the difference usually represents refunds that reduced your net revenue but were included in the gross volume reported on the 1099-K. Document this reconciliation and provide it to your CPA so they can explain the difference on your tax return if needed.
Pull the Stripe annual summary (available in the Stripe Dashboard under Reports) and compare total charges, total refunds, total fees, and total payouts against your accounting records. Resolve any discrepancies before filing your tax return.
