Updated: Jul 23, 2026 • 3 min read
Automate Shopify payout reconciliation
Shopify revenue and bank deposits rarely line up one for one. Payout timing, processing fees, refunds, disputes, reserves, and currency differences all affect the amount that reaches the bank. An automated reconciliation workflow explains those differences and sends finance only the exceptions that need review.
Why Shopify payout reconciliation takes so long
The sales report answers what customers bought. The payout report answers how money moved through Shopify Payments. The bank feed shows when cash arrived. Those are related views, but they do not use the same timing or totals.
Shopify's payout reconciliation documentation confirms that payout activity can include charges, refunds, disputes, fees, reserves, adjustments, and other balance movements. It also notes that the report is not a revenue statement.
Manual reconciliation breaks when:
- Finance compares order revenue directly with deposits.
- Refunds or disputes are assigned to the wrong period.
- Fees are summarized without transaction evidence.
- Third-party processors are omitted from the review.
- Currency and timezone differences are not documented.
Data to connect
Start with read-only access to:
- Shopify Payments payouts and balance transactions
- Shopify orders, refunds, and payment status
- The accounting system or bank feed
- Third-party payment processors, if used
- Store currency and payout currency settings
Keep Shopify Payments and third-party processors separate until each source reconciles. A combined total can hide the processor causing the difference.
What the Agent should calculate
For each payout, calculate:
- Gross charges
- Refunds and reversals
- Processing and dispute fees
- Reserves, holds, and adjustments
- Expected net payout
- Actual bank deposit
- Unexplained variance
Match with stable identifiers such as payout ID, transaction ID, transfer reference, amount, currency, and deposit date. Do not force a match using amount alone.
Example Agent instruction
"Every business day, reconcile settled Shopify Payments payouts with bank deposits. Show gross charges, refunds, disputes, fees, reserves, adjustments, expected payout, actual deposit, and unexplained variance. Match using payout and transfer references where available. Flag missing deposits, duplicate matches, currency conflicts, and variances above our materiality threshold. Never classify Shopify payout activity as accounting revenue."
Add your own materiality threshold, accounting period, recipients, and approval rules.
Recommended output
Produce a short reconciliation document with:
- Payouts fully reconciled
- Payouts with timing differences
- Payouts with unexplained differences
- Transactions missing stable identifiers
- Items waiting for a third-party processor
- A named owner and next action for every exception
The document should include source timestamps and links back to the relevant records. Finance should be able to reproduce each calculation.
Implementation workflow
- Connect Shopify and the accounting or bank source through Connectors.
- Define the expected payout equation and approved variance threshold.
- Test against one closed month that has already been reconciled manually.
- Review unmatched records and improve reference mapping.
- Schedule a daily internal draft in a Document.
- Keep journal entries and external reporting subject to finance approval.
- Use Logs to review source failures and changed mappings.
Review checklist
Before approving the reconciliation, confirm:
- All amounts use the correct payout currency.
- The payout period is not being treated as the sales period.
- Refunds and disputes appear once.
- Bank deposits are matched with stable references.
- Third-party payment methods are handled separately.
- Every unexplained variance has an owner.
How to measure success
Track reconciliation hours, unmatched payout count, average exception age, duplicate match rate, and percentage of payouts approved without correction. The workflow is working when finance begins with a small exception queue instead of rebuilding the payout from raw transactions.
Next step
Test one completed payout first. Once the expected net amount and bank deposit reconcile reliably, expand the Agent to all payouts and schedule the daily exception report. Book a demo to map the workflow to your finance stack.