Automated Stripe Sales & Fee Reconciliation (Make.com)

Streamline financial reporting by syncing Stripe charges to QuickBooks Online including automatic fee deduction using Make.com logic.

Tools: StripeQuickBooks Online

Platform: Make.com

Short Answer

A fully automated real-time workflow that creates Sales Receipts in QuickBooks Online. It accurately converts currency, handles transaction fees as line items, and checks for existing customers to maintain a clean ledger.

The Problem

Manual bookkeeping for Stripe transactions is prone to error and time-consuming. Most integrations fail to account for Stripe's 'cents-based' data format or the 2.9% + 30¢ processing fees, leading to discrepancies between bank deposits and accounting records.

The Outcome

A fully automated real-time workflow that creates Sales Receipts in QuickBooks Online. It accurately converts currency, handles transaction fees as line items, and checks for existing customers to maintain a clean ledger.

Step-by-Step Guide

1. **Create Scenario**: Log in to Make.com and create a new scenario titled 'Stripe to QBO Reconciliation'. 2. **Stripe Trigger**: Add the 'Stripe > Watch Events' module. Create a Webhook and select `charge.succeeded` as the event type. Connect your Stripe account via API Key. 3. **Data Transformation (Math)**: In subsequent modules, remember that Stripe provides amounts in cents. Use the Make formula `{{1.amount / 100}}` for all currency fields. 4. **Search Customer**: Add the 'QuickBooks Online > Search Customers' module. Filter by the Stripe `Customer Email`. 5. **Router Module**: Insert a Router. This creates path A (Customer exists) and path B (New customer needed). 6. **Create Customer (Conditional)**: On Path B, add 'QuickBooks Online > Create a Customer'. Map the Stripe name and email fields. Add a filter to this path: `Customer ID (from Search) Does not exist`. 7. **Sales Receipt Module**: Add 'QuickBooks Online > Create a Sales Receipt'. This is the core module. Map the Customer ID from the search or the create step using the `ifempty()` function. 8. **Line Item & Fee Handling**: - Line 1: Map the full charge amount (Gross). - Line 2: Create a negative line item for the fee. Fetch the fee from the 'Stripe > Get a Balance Transaction' module (use `{{ -1 * (fee / 100) }}`) and map it to a 'Bank Fees' expense account in QBO. 9. **Error Handling**: Right-click the QBO module and select 'Add error handler'. Use a 'Break' or 'Ignore' directive to ensure one failed transaction doesn't stop the entire scenario. 10. **Activation**: Run the scenario once with 'Run Once' using historical data, then toggle the 'Scheduling' switch to ON.