How to Track Stripe Fees in WooCommerce (And Why You Should)
Your WooCommerce dashboard says you made $10,000 this month. Great. But Stripe took $320 in processing fees. Refunds cost you another $150 (and Stripe kept the original processing fees on those). Your shipping labels cost $800. Your actual profit? A lot less than $10,000.
The problem is that WooCommerce doesn't natively track payment processing fees. Your revenue numbers are gross revenue — they don't account for what Stripe (or PayPal, or Square) takes from each transaction. This creates a dangerous blind spot where you think you're profitable but your bank account tells a different story.
How Stripe Fees Work
Stripe's standard pricing for US-based businesses is 2.9% + $0.30 per successful transaction. But the actual fee varies based on several factors:
- Card type: International cards are charged at 3.4% + $0.30
- Currency conversion: An additional 1% for currency conversion
- Disputed charges: $15 per dispute (refunded if you win)
- Stripe Radar: $0.05–0.07 per screened transaction (if enabled)
- Stripe Tax: 0.5% per transaction (if using Stripe's tax calculation)
For a $50 order from a domestic customer, Stripe takes $1.75. For a $50 order from an international customer with currency conversion, it's $2.50. That's a 43% higher fee that you might not even notice without per-order tracking.
Method 1: WooCommerce Stripe Gateway Plugin (Built-In)
The official WooCommerce Stripe Payment Gateway plugin (by WooCommerce/Automattic) stores Stripe fee data as order meta. Since version 7.0+, each order includes:
_stripe_fee— The processing fee charged by Stripe_stripe_net— The net amount after fees_stripe_currency— The processing currency
This data is available in the order details screen but isn't surfaced in WooCommerce reports by default. To see it in reports, you need either a custom report or a plugin that reads this meta data.
Viewing Stripe Fees in WooCommerce Analytics
WooCommerce's built-in Analytics (Analytics → Revenue) doesn't include a "fees" column. To add one, you have a few options:
Option A: Custom code snippet. A small PHP snippet can add a "Stripe Fee" and "Net Revenue" column to the orders list table. This requires adding code to your theme's functions.php or a custom plugin.
Option B: Export and calculate. Export your orders to CSV (including custom fields), then calculate fees in a spreadsheet. Functional but tedious for ongoing tracking.
Option C: Use a reporting plugin. Several plugins can read Stripe fee meta data and include it in dashboards and reports. This is the most practical approach for non-developers.
Method 2: Dedicated Fee Tracking Plugins
Cost of Goods for WooCommerce (by Jetveo)
This plugin lets you set cost of goods per product AND track payment gateway fees. It reads the _stripe_fee meta from orders and includes it in profit calculations. The result is a profit report that shows revenue, COGS, payment fees, and actual profit per order and per product.
Price: $49/year
Best feature: Combined COGS + fee tracking in one plugin
Payment Gateway Based Fees for WooCommerce
This free plugin adds a surcharge or tracks fees for any payment gateway. While it's primarily designed to add surcharges (passing fees to customers), it can also be configured to record gateway fees as order meta for reporting purposes.
WooCommerce Profit Tracker
A dedicated profit tracking plugin that integrates with Stripe, PayPal, and Square to automatically pull transaction fees into WooCommerce. It provides a profit dashboard showing net revenue after all fees.
For a complete approach to profit tracking beyond just Stripe fees, see our guide on WooCommerce profit tracking.
Method 3: Stripe Dashboard + WooCommerce Reconciliation
Stripe's own dashboard provides detailed fee breakdowns. Navigate to Payments → All Transactions in your Stripe dashboard to see fees for every transaction. You can export this data and match it with WooCommerce order numbers for reconciliation.
The workflow:
- Export transactions from Stripe Dashboard (Payments → Export)
- Export orders from WooCommerce (Orders → Export)
- Match by Stripe charge ID (stored as order meta in WooCommerce)
- Calculate fee totals per period
This is the most accurate method because Stripe's own data is the source of truth for fees. But it's also the most time-consuming. Reserve this for monthly or quarterly reconciliation, not daily tracking.
For a detailed reconciliation process, see our payment gateway fees comparison which covers reconciliation across multiple gateways.
The Hidden Costs Beyond Standard Fees
Standard transaction fees are just the beginning. Here's what else Stripe charges that many store owners miss:
Disputed charges (chargebacks): Stripe charges $15 per dispute, regardless of outcome. If you win the dispute, the $15 is refunded. But the cost of your time handling the dispute is not. Stores with chargeback rates above 0.5% should consider fraud prevention tools.
Refund fees: Stripe updated their policy in 2023 — they now refund the processing fee when you issue a refund. This is a significant improvement; previously, you lost both the sale AND the fee. However, the refund processing itself isn't instant — Stripe batches refund fee credits.
Subscription billing: If you use Stripe Billing (for WooCommerce Subscriptions), there's an additional 0.4% per recurring payment. This adds up quickly for subscription-based stores.
Instant payouts: If you use Stripe's Instant Payouts instead of standard 2-day payouts, Stripe charges 1% of the payout amount. This is pure convenience cost.
Automating Fee Tracking Long-Term
The best fee tracking is the kind you set up once and forget about. Here's the recommended setup:
- Install a profit tracking plugin that reads Stripe fee meta data automatically
- Set up a monthly Stripe export as a backup data source
- Create a simple dashboard showing: gross revenue, total fees, net revenue, fee percentage
- Set an alert if your average fee percentage exceeds your expected rate (which could indicate a shift toward more international orders or disputed charges)
The goal is to see your net revenue number as easily as your gross revenue number. If checking fees requires more than one click, you won't check them — and that's how margin erosion goes unnoticed.
The Bottom Line
Stripe fees are a fixed cost of doing business online, but that doesn't mean you should ignore them. The difference between a store that tracks fees and one that doesn't is the difference between knowing your actual profit margin and guessing at it.
Start simple: check your order meta for existing Stripe fee data, install a profit tracking plugin, and look at your net revenue instead of gross. The $49–99 you spend on a tracking plugin pays for itself the first month by showing you where your margins actually are — and which products, channels, or customer segments are actually profitable after fees.
Keep reading
Related guides you might find useful
WooCommerce Payment Gateway Fees Compared: Stripe vs PayPal vs Square (2026)
Every payment gateway eats into your margins. Here's a detailed fee comparison for WooCommerce stores — including the hidden costs nobody tells you about.
Read guideProfit TrackingWooCommerce Cash Flow Management: See Where Your Money Actually Goes
Revenue comes in, fees go out, refunds happen. Here's how to get a clear cash flow picture for your WooCommerce store without a spreadsheet.
Read guideProfit TrackingHow to Reconcile WooCommerce Orders with Stripe and PayPal
WooCommerce says one number. Stripe says another. Here's how to reconcile your orders with your payment gateway and find the discrepancies.
Read guideLevel up your WooCommerce store
Join the WPBundle waitlist and get beta access to our plugin suite completely free.
Join the Waitlist