Automated Stripe Sales & Fee Reconciliation (Zapier)
Eliminate manual bookkeeping and perfectly reconcile Stripe payments including processing fees using Zapier Paths.
Tools: Stripe → QuickBooks Online
Platform: Zapier
Short Answer
For every successful Stripe charge, Zapier will automatically create a Sales Receipt for the gross amount and a separate Expense for the Stripe fee. This ensures your QuickBooks 'Stripe Clearing Account' balance matches your actual Stripe dashboard to the penny.
The Problem
Manual entry of Stripe transactions into QuickBooks Online is time-consuming and prone to human error. Specifically, Stripe payouts are 'net' of fees, making it impossible to reconcile bank deposits against gross sales without manual calculations.
The Outcome
For every successful Stripe charge, Zapier will automatically create a Sales Receipt for the gross amount and a separate Expense for the Stripe fee. This ensures your QuickBooks 'Stripe Clearing Account' balance matches your actual Stripe dashboard to the penny.
Step-by-Step Guide
1. **Create the Zap**: Log into Zapier and click 'Create Zap'. Name it 'Stripe to QBO: Sales & Fees'.
2. **Set Trigger**: Select **Stripe** as the App and **New Charge** as the Event. Connect your Stripe account via API key. Test the trigger to pull in a recent successful payment.
3. **Add Filter (Optional but Recommended)**: Add a 'Filter by Zapier' step. Set it to only continue if `Status` exactly matches `succeeded`. This prevents uncaptured authorizations from hitting your books.
4. **Format Currency**: Stripe sends amounts in cents (e.g., 1000 for $10.00). Add **Formatter by Zapier** -> Numbers -> Spreadsheet-Style Formula. Input `{{amount}} / 100`. Repeat this for the `Fee` field found under the Balance Transaction lookup.
5. **Find/Create Customer**: Add **QuickBooks Online** -> **Find Customer**. Map the Stripe `Customer Email`. Check the box 'Create QuickBooks Online Customer if it doesn't exist yet' and map the `Customer Name` from Stripe.
6. **Create Sales Receipt**: Add **QuickBooks Online** -> **Create Sales Receipt**.
- **Customer**: Use the ID from Step 5.
- **Deposit To**: Select your 'Stripe Clearing' Asset Account.
- **Line Items**: Map the Gross Amount from the Formatter step.
7. **Record Stripe Fee**: Add **QuickBooks Online** -> **Create Expense**.
- **Payee**: Create a Vendor named 'Stripe'.
- **Payment Account**: Select your 'Stripe Clearing' Asset Account.
- **Category**: Select 'Bank Service Charges' or 'Processing Fees'.
- **Amount**: Map the Fee amount from the Formatter step.
8. **Turn on Zap**: Run a final test on all steps and publish the Zap.
Data Mapping
| Stripe Field | QBO Field | Transformation/Logic | Required |
| :--- | :--- | :--- | :--- |
| `Customer Email` | `Email / Find Field` | None (Direct Map) | Yes |
| `Amount` | `Sales Receipt: Total` | `/ 100` (Formatter) | Yes |
| `Fee` | `Expense: Amount` | `/ 100` (Formatter) | Yes |
| `Description` | `Line Item Description` | `Stripe Charge: [ID]` | No |
| `Created Date` | `Transaction Date` | `Date/Time Format` (Optional) | Yes |
| `N/A` | `Deposit To Account` | Static: 'Stripe Clearing' | Yes |
Gotchas & Failure Modes
- **The Cent Problem**: Stripe sends data as integers (cents). If you don't use Formatter to divide by 100, a $10 sale will record as $1,000 in QBO.
- **Duplicate Customers**: Always use the 'Find or Create' action. Mapping a name directly to the Sales Receipt field will fail if that name doesn't match an existing QBO record exactly.
- **Sales Tax**: Zapier doesn't automatically calculate QBO tax codes. If you collect tax, ensure the Stripe Tax amount is mapped to a specific tax line item or use a 'Tax Inclusive' setting in QBO.
- **Currency Mismatch**: Ensure your Stripe currency matches your QBO home currency, or that 'Multicurrency' is enabled in QBO settings to avoid 'Object Not Found' errors.
Verification Checklist
- [ ] **Trigger Test**: Does Zapier pull the most recent Stripe charge successfully?
- [ ] **Formatter Check**: Does $50.00 show as '50' and not '5000' in the test output?
- [ ] **Search Step**: Does the Zap correctly identify an existing customer by email to prevent duplicates?
- [ ] **Zero-Sum Check**: In QBO, does the Sales Receipt (Positive) minus the Expense (Negative) match the net payout in your Stripe dashboard?
- [ ] **Task History**: Check the Zapier Task History after the first 'Live' transaction to ensure no '400 Bad Request' errors from QuickBooks API.
Ready to Automate?
Build this automation with Zapier in minutes.