01
The problem
A Stripe payout is not one number. It is a net of charges, processing fees, refunds, and chargebacks, and the general ledger needs each piece booked correctly against a clearing account. Doing that by hand means an accountant ties out every payout in a spreadsheet, which is slow and easy to get wrong at volume.
02
How it is built
- 1Webhook trigger fires when Stripe reports a new payout.
- 2Stripe block lists the balance transactions that make up the payout, so the decomposition works from the real underlying records.
- 3Code block breaks them into their component charges, fees, refunds, and chargebacks.
- 4Loop block matches each charge to its originating invoice.
- 5Condition block routes anything that does not match cleanly to an exception path, and lets matched items continue.
- 6NetSuite block posts the clearing-account journal entry with every component broken out.
- 7Slack block lists the exceptions so a person handles only what actually needs judgment.
03
The payoff
| Component | Manual reconciliation | With this template |
|---|---|---|
| Charge to invoice match | Line by line in a sheet | Matched in a loop |
| Fees | Often booked in a lump | Broken out per payout |
| Refunds and chargebacks | Reconciled later | Booked in the same entry |
| Exceptions | Buried in the sheet | Surfaced to Slack |
Want this workflow built and maintained for your finance stack?
Book a demo