The scenario.
A B2B SaaS where finance spends around 6 hours per week exporting Stripe CSVs, splitting subscription revenue from one-off charges, mapping fees and refunds, and pasting into QuickBooks. Reconciliation lags by a week, so disputed charges and failed dunning aren't caught until they've already aged. Month-end close is painful and the CFO has no real-time view of MRR or churn.
How it's built.
- Stripe event mapMap every Stripe event the business cares about (charge.succeeded, charge.refunded, invoice.paid, charge.dispute.created, payout.paid) to its QuickBooks counterpart: sales receipt vs invoice vs credit memo vs journal entry.
- n8n workflowAn n8n workflow subscribes to Stripe webhooks, normalises each event and writes the corresponding QBO record via API. Idempotent: re-runnable on any time window without creating duplicates.
- Daily reconciliation reportA daily reconciliation report: Stripe payouts vs QBO bank deposits, with a delta column and click-through to any unmatched lines.
- CFO dashboardA small custom dashboard for the CFO shows MRR, churn, refunds and disputes sliced by plan and customer segment; auto-refreshes from Stripe.
- Slack alertsFailed payments and dunning surface in a Slack channel within 60 seconds so customer success can act before retries exhaust.
What makes it tick.
- Event-driven, not batch: books revenue the moment Stripe confirms it.
- Dispute flow: when a chargeback fires, QBO automatically posts the credit memo and the customer is tagged for retention outreach.
- Year-end accountant export bundled into a single click: no more "can you pull last year's CSV again".
- Every sync writes an audit row so any QBO entry can be traced back to the originating Stripe event.
What it's designed to change.
This pattern is designed to take reconciliation effort from around 6 hours per week to under 30 minutes of review, and to move the close timeline from T+7 to T+1. Disputed charges surface the day they open, so they can be resolved inside the chargeback window instead of a week late. These are design targets for the modeled scenario, not measured client results.
Tools in the build.
- Stripe API
- QuickBooks Online API
- n8n
- PHP
- MySQL
- Slack API
- Webhooks