Reconcile Stripe payouts with invoice ledgers in Google Sheets and Gmail
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 11 nodes and runs on a schedule (every day). Along the way it connects Google Sheets and Gmail.
How it runs
Trigger: On a schedule (every day).
- Settings (Edit Fields (Set)): sets or maps fields
- Get recent Stripe payouts (HTTP Request): calls an HTTP API
- Keep the paid payouts in the window (Code): runs custom JavaScript code
- Open each payout into its lines (HTTP Request): calls an HTTP API
- Read the invoice ledger (Google Sheets): uses Google Sheets
- Match payout lines to invoices (Code): runs custom JavaScript code
- Write the reconciliation report (Google Sheets): uses Google Sheets
- Did not match, and summary switched on (If): checks a condition and branches into true / false
- Join the exceptions into one email (Code): runs custom JavaScript code
- Draft the exceptions summary (Gmail): uses Gmail
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (7)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Edit Fields (Set)
n8n-nodes-base.set - HTTP Request
n8n-nodes-base.httpRequest - Code
n8n-nodes-base.code - Google Sheets
n8n-nodes-base.googleSheets - If
n8n-nodes-base.if - Gmail
n8n-nodes-base.gmail
From the author
Quick overview Stripe pays me in lumps and my invoice sheet lists single amounts, so I built this to do the matching every Monday. It opens each payout and pairs the charges inside it with your invoices. Each line gets a verdict in a report tab. I only read…