Shopify Payout vs Revenue Reconciliation: Why Ops and Finance Fight Every Monday
Shopify payout is the net cash deposited to your bank account after fees and holds; revenue is the gross order value recorded when a customer completes checkout - they rarely match on any given day.
The Core Problem: Timing Mismatch
Every Monday morning, the same conversation happens in a hundred Shopify stores. Finance says revenue hit $50k on Friday. Ops checks the bank account and sees a $32k payout. Someone asks why the numbers don't match. No one has a good answer.
The mismatch exists because Shopify revenue and payouts operate on different clocks. Revenue is recorded the moment a customer completes checkout. Payout is the cash that actually lands in the merchant's bank account, and it's subject to processing delays, payment method settlement windows, and Shopify's fee structure. Between those two events sit 3 - 5 business days of float, refunds, chargebacks, and platform fees.
This gap creates a reconciliation nightmare. Finance needs to match cash received to revenue recognized for accounting purposes. Ops needs to understand why the bank balance doesn't reflect what the dashboard shows. Neither team has a single source of truth, so they end up arguing about which number is real.
How Shopify Calculates Payout
Shopify payout is not simply revenue minus fees. The calculation involves multiple layers of timing and deductions that most operators don't fully understand until they need to reconcile.
Start with gross merchandise value (GMV) - the total order value before any deductions. Shopify then subtracts payment processing fees (typically 2.9% + 30 cents for credit cards, lower for Shopify Payments), payment gateway fees if using a third-party processor, and any app charges. Then comes the Shopify platform fee (0.5% - 2% depending on plan), plus any additional transaction fees for specific payment methods like ACH or international cards.
But that's just the fee side. Payout timing depends on payment method settlement. Credit card transactions settle in 1 - 2 business days. ACH transfers settle in 3 - 5 business days. Some payment methods like PayPal or Apple Pay have their own settlement schedules. Refunds issued after payout has already been processed won't show up until the next payout cycle, creating a lag between when a refund is issued and when it reduces cash received.
Shopify also holds a rolling reserve on some accounts - typically 5% of daily payouts held for 7 days. This reserve is designed to cover chargebacks and refunds but creates another timing mismatch between revenue and cash.
- Gross order value minus payment processing fees (2.9% + 30 cents typical)
- Minus Shopify platform fee (0.5% - 2% by plan)
- Minus payment gateway fees if using third-party processor
- Adjusted for payment method settlement windows (1 - 5 business days)
- Reduced by rolling reserve holds (typically 5% for 7 days)
- Refunds and chargebacks reduce future payouts, not current ones
Revenue Recognition vs Cash Receipt
Accounting standards require revenue to be recognized when control of goods or services transfers to the customer. For ecommerce, that's typically when the order is placed and payment is authorized - not when cash hits the bank. This is accrual accounting, and it's the right way to measure business performance.
Payout is cash accounting. It only counts money that has actually been received. This creates a permanent gap between the two numbers that confuses operators who expect them to align.
For a $100 order placed on Monday with a credit card, revenue is recognized on Monday. The payment processor settles on Tuesday. Shopify deducts fees and deposits the net amount (roughly $97) on Wednesday. If the customer initiates a refund on Thursday, the $97 doesn't come back out of the Wednesday payout - it comes out of the next payout cycle. So on Friday, the revenue line still shows $100 (minus the refund), but the cash line shows $97 received and $97 going back out at different times.
This is not a bug. It's how modern payment processing works. But it means finance and ops are measuring different things, and they need to reconcile them separately.
Building a Reconciliation Process
Stop the Monday argument by building a repeatable reconciliation. The goal is not to make revenue and payout match - they won't. The goal is to understand why they don't and to catch real errors.
Start by pulling two reports from Shopify: the Revenue report (Orders > All Orders > export) and the Payout report (Finances > Payouts). Set a consistent date range - typically the previous calendar month. Revenue report shows all orders placed in that period, regardless of payment status. Payout report shows all cash deposited in that period.
Create a reconciliation sheet with four columns: (1) Total revenue from the Revenue report, (2) Total payout from the Payout report, (3) Calculated difference (fees, holds, timing), (4) Unexplained variance. Start by calculating expected fees. If revenue was $100k and Shopify's all-in fee rate is 3%, expected payout should be roughly $97k. If actual payout is $96.5k, the $500 gap is likely a rolling reserve hold or a refund processed in a different period.
Investigate any variance larger than 1% of revenue. Check for: refunds issued but not yet deducted from payout, chargebacks that reduced payout, payment method mix changes (ACH is cheaper than credit cards), app charges that weren't anticipated, or currency conversion fees if selling internationally.
Once the reconciliation is done, document it. Share the explanation with finance so they understand the timing gaps. This prevents the same argument next month.
- Pull Revenue and Payout reports for the same period
- Calculate expected fees based on known fee rates
- Identify timing gaps (refunds, chargebacks, rolling reserves)
- Investigate variances larger than 1% of revenue
- Document the reconciliation and share with finance
- Repeat monthly to catch trends and errors early
Common Reconciliation Traps
Most operators make the same mistakes when reconciling. Knowing them saves hours of debugging.
Trap 1: Comparing revenue and payout for the same calendar day. Don't. A payout deposited on Wednesday includes orders from multiple days prior, plus refunds from even earlier. Compare them by payout cycle, not by calendar date. Shopify typically deposits payouts on Tuesday and Friday, so reconcile by those cycles.
Trap 2: Forgetting about rolling reserves. If Shopify holds 5% of payouts for 7 days, that money is still yours - it's just not in the bank yet. It will appear in a future payout. Many operators see the hold and think the money is gone.
Trap 3: Not accounting for refunds issued after payout. If a customer requests a refund on Thursday but the payout already went out on Wednesday, the refund won't reduce that payout. It reduces the next one. This creates a lag that confuses month-end reconciliation.
Trap 4: Mixing payment methods without adjusting fee expectations. If 50% of orders are ACH and 50% are credit cards, the blended fee rate is lower than if all orders were credit cards. A sudden shift in payment method mix changes the expected payout without changing revenue.
Trap 5: Ignoring currency conversion. If selling in multiple currencies, Shopify converts to the store's base currency at the time of payout, not at the time of order. Exchange rate fluctuations create variance that isn't a reconciliation error.
Automating Reconciliation with Data Exports
Manual reconciliation works for small stores but breaks at scale. Automate it by exporting data to a warehouse or spreadsheet tool.
Shopify's API provides order and payout data. Pull orders via the Orders API (filter by created_at date range) and payouts via the Payouts API. Map each order to the payout cycle it was included in based on the order's payment authorization date, not the order creation date. This is the key step most operators miss - the payout includes orders authorized in a window, not orders created in a window.
Once orders are mapped to payouts, calculate the expected fee for each order based on its payment method and currency. Sum fees by payout cycle. Compare the sum of (order value minus calculated fees) to the actual payout amount. Any variance should be explainable by refunds, chargebacks, or holds.
Build this in a tool like Looker, Tableau, or even a Google Sheet with IMPORTRANGE functions pulling from Shopify. Update it daily so the reconciliation is always current. This removes the Monday morning argument because the numbers are already reconciled.
When to Escalate to Shopify Support
Most payout variance is explainable by fees, timing, and refunds. But sometimes there's a real error. Know when to escalate.
Escalate if: (1) Variance is larger than 2% of revenue and you can't explain it, (2) A payout is missing entirely (Shopify usually deposits twice a week), (3) Fees are higher than your plan should allow, or (4) A refund was issued but never deducted from payout.
When escalating, provide Shopify with the specific order IDs and payout IDs involved, the expected amount, the actual amount, and the date discrepancy. Shopify's support team can trace the transaction through their payment processor and identify where the gap occurred. They can also reverse erroneous fees or adjust rolling reserves if warranted.
Keep a log of escalations. If the same issue happens twice, it's a pattern that Shopify needs to fix, not a one-off error.
FAQ
Why is my payout always lower than my revenue?
Payout is revenue minus fees. Shopify deducts payment processing fees (typically 2.9% + 30 cents), platform fees (0.5% - 2%), and any payment gateway fees. For a $100 order, expect payout of roughly $97. Additionally, refunds and chargebacks reduce future payouts, and rolling reserves hold a percentage of payout for 7 days. These are normal and expected.
How long does it take for revenue to show up as payout?
Credit card transactions typically settle in 1 - 2 business days. ACH transfers settle in 3 - 5 business days. Shopify deposits payouts twice a week, usually Tuesday and Friday. So a Monday order with a credit card might not appear in a bank account until Thursday or Friday. Refunds take even longer because they're processed in the next payout cycle after the refund is issued.
What is a rolling reserve and why is Shopify holding my money?
A rolling reserve is a percentage of daily payouts (typically 5%) that Shopify holds for 7 days to cover chargebacks and refunds. It's not a fee - it's your money, just held temporarily. After 7 days, it's released in the next payout. Shopify uses rolling reserves to reduce fraud risk. Not all accounts have rolling reserves; they're typically applied to newer stores or those with high chargeback rates.
How do I reconcile revenue and payout for accounting purposes?
Don't try to match them day-by-day. Instead, reconcile by payout cycle. Pull the Revenue report and Payout report for the same period. Calculate expected fees based on your fee rate and payment method mix. Identify timing gaps (refunds, chargebacks, holds). Any remaining variance should be less than 1% of revenue. Document the reconciliation and share it with finance so they understand the timing differences. This is accrual accounting (revenue) vs. cash accounting (payout), and both are correct.
FAQ
Why is my payout always lower than my revenue?
Payout is revenue minus fees. Shopify deducts payment processing fees (typically 2.9% + 30 cents), platform fees (0.5% - 2%), and any payment gateway fees. For a $100 order, expect payout of roughly $97. Additionally, refunds and chargebacks reduce future payouts, and rolling reserves hold a percentage of payout for 7 days. These are normal and expected.
How long does it take for revenue to show up as payout?
Credit card transactions typically settle in 1 - 2 business days. ACH transfers settle in 3 - 5 business days. Shopify deposits payouts twice a week, usually Tuesday and Friday. So a Monday order with a credit card might not appear in a bank account until Thursday or Friday. Refunds take even longer because they're processed in the next payout cycle after the refund is issued.
What is a rolling reserve and why is Shopify holding my money?
A rolling reserve is a percentage of daily payouts (typically 5%) that Shopify holds for 7 days to cover chargebacks and refunds. It's not a fee - it's your money, just held temporarily. After 7 days, it's released in the next payout. Shopify uses rolling reserves to reduce fraud risk. Not all accounts have rolling reserves; they're typically applied to newer stores or those with high chargeback rates.
How do I reconcile revenue and payout for accounting purposes?
Don't try to match them day-by-day. Instead, reconcile by payout cycle. Pull the Revenue report and Payout report for the same period. Calculate expected fees based on your fee rate and payment method mix. Identify timing gaps (refunds, chargebacks, holds). Any remaining variance should be less than 1% of revenue. Document the reconciliation and share it with finance so they understand the timing differences. This is accrual accounting (revenue) vs. cash accounting (payout), and both are correct.