Square vs Stripe Fee Conventions: Why They Matter for QuickBooks
Square records fees as negative numbers (e.g., -$0.30) while Stripe records them as positive numbers (e.g., +$0.30). This seemingly minor difference breaks QuickBooks imports if you don't handle it correctly.
TL;DR - The Key Difference
- Stripe: Gross - Fee = Net (fees are positive: $100 - $3.20 = $96.80)
- Square: Gross + Fee = Net (fees are negative: $100 + (-$2.75) = $97.25)
Both conventions produce the same result - the net is less than the gross - but the sign of the fee value differs.
Why This Matters for Accountants
When you export CSV data from Stripe and Square, the fee column has opposite signs. This causes three major problems:
- QuickBooks imports fail because negative fees don't match positive fee conventions (or vice versa)
- Reconciliation breaks when you combine Square and Stripe data in the same spreadsheet
- Journal entries are wrong if you treat both the same way in your accounting software
Side-by-Side Comparison
| Aspect | Stripe | Square |
|---|---|---|
| Fee Sign | Positive (+$3.20) | Negative (-$2.75) |
| Formula | Gross - Fee = Net | Gross + Fee = Net |
| Example | $100 - $3.20 = $96.80 | $100 + (-$2.75) = $97.25 |
| CSV Column Header | fee | Fee or Processing Fee |
| Refund Fee Behavior | Fee = $0 (original fee NOT refunded) | Fee = $0 (original fee NOT refunded) |
Stripe's Positive Fee Convention
Stripe stores fees as positive numbers. In the Balance Transaction CSV export, you'll see:
gross,fee,net 100.00,3.20,96.80
The formula is: gross - fee = net (100.00 - 3.20 = 96.80)
This convention treats the fee as an absolute cost that gets subtracted from revenue. It's mathematically clearer for most people.
Square's Negative Fee Convention
Square stores fees as negative numbers. In the Transactions CSV export, you'll see:
Gross Amount,Fee,Net Amount 100.00,-2.75,97.25
The formula is: gross + fee = net (100.00 + (-2.75) = 97.25)
This convention shows the fee as a negative adjustment to your balance - it directly represents the impact on your cash.
Impact on QuickBooks Imports
QuickBooks Online's bank transaction import expects negative amounts for money OUT. This creates a problem:
- Square fees are already negative (-$2.75) - they work naturally with QBO's expectation
- Stripe fees are positive (+$3.20) - they must be converted to negative before import
Common Mistake
Importing Stripe fees without converting them to negative values causes fees to appear as income instead of expenses. This will make your books wildly inaccurate.
How TrestleFinance Handles This
TrestleFinance automatically detects which payment processor you're using and applies the correct conversion:
Stripe Processing
- Detects positive fee values
- Converts to negative for QBO bank import
- Creates proper expense journal entries
Square Processing
- Detects negative fee values
- Preserves sign for QBO bank import
- Creates proper expense journal entries
Manual Conversion (If You Must)
If you're converting manually in Excel or Google Sheets:
- For Stripe: Multiply the fee column by -1 (e.g.,
=B2*-1) - For Square: No conversion needed - fees are already negative
- Verify your totals: gross - |fee| should equal net
Using Both Square and Stripe?
Many businesses accept payments through both Square and Stripe. When combining data:
- Normalize first: Convert Stripe fees to negative before combining
- Keep separate: Tag transactions with the source processor
- Reconcile individually: Match each processor to its bank deposits
TrestleFinance exports include a "Provider" column in the normalized CSV, making it easy to filter and reconcile separately.
Summary
Key Takeaways
- Stripe uses positive fees with subtraction (gross - fee = net)
- Square uses negative fees with addition (gross + fee = net)
- QuickBooks expects negative values for money OUT
- Convert Stripe fees to negative before importing to QBO
Automate the Conversion
TrestleFinance automatically handles fee conventions for Stripe, Square, PayPal, and Shopify. Upload your CSV and get QuickBooks-ready files in 30 seconds.
Try Free (No Signup Required)