PostlytixGuidesWhy your Shopify dashboard disagrees with your P&L
Guide

Why your Shopify dashboard
disagrees with your P&L.

Gross sales, net sales, total sales and deposits are four different numbers. Your dashboard shows one, your accountant uses another.

Your Shopify dashboard says you did $1,982,000 last month. Your accountant's P&L says $1,850,000. Your bank saw $1,791,400 arrive. Nobody made a mistake.

Shopify reports at least four different revenue figures and does not make it obvious which one you are looking at. Your P&L uses a fifth definition, governed by accounting rules rather than by what is convenient to display on a dashboard. Reconciling them is a twenty minute exercise once you know the order the subtractions happen in.

The four Shopify numbers

Gross sales. Every order placed, at full price, before anything is subtracted. Discounts are not removed. Returns are not removed. This is the largest number Shopify will show you and the least useful one.

Discounts and returns. Shown as separate deductions rather than netted into the line above.

Net sales. Gross sales minus discounts minus returns. This is the number that belongs in your P&L as revenue. It excludes shipping and taxes.

Total sales. Net sales plus shipping charged to the customer, plus taxes collected, plus tips. This is usually the headline figure on the dashboard, and it is the one people quote in board decks. Taxes are not revenue. You are holding them for a government.

Then, outside Shopify entirely, settled deposits: what actually cleared into your bank, after payment processing fees, chargebacks, and the two to three day settlement lag that straddles every month boundary.

Walking one month all the way down

LineAmountWhere it lives
Gross sales$1,982,000Shopify Analytics
Less discounts($84,000)Codes and automatic discounts
Less returns($48,000)Refunds settled within the month
Net sales$1,850,000Revenue on your P&L
Plus shipping collected$61,400Customer-paid shipping
Plus taxes collected$149,600Held on behalf of tax authorities
Total sales$2,061,000The dashboard headline
Less taxes remitted($149,600)Never yours
Less payment processing($58,900)~2.9% + $0.30 per transaction
Less chargebacks and disputes($4,700)Often booked in a later month
Settlement timing shift($56,400)Last two days' orders cleared in the next month
Cash actually received$1,791,400Your bank statement

Crestline Co. is a simulated DTC brand used for demonstration. These figures are illustrative and are not a client result.

The spread between the biggest number on the dashboard and the money in the bank is $269,600, or 13 percent. None of it is error. Every line is a definition or a timing difference.

The three that cause the most arguments

Taxes inflating the headline

Total sales includes sales tax. At Crestline's mix that is $149,600 a month appearing in a revenue figure that people quote in meetings. If your dashboard number and your accountant's number differ by something close to your effective tax rate, this is almost always why.

Returns booked in the wrong period

Shopify subtracts a refund on the day it is processed. Accrual accounting wants the refund matched against the month the original sale happened. With a 22.4 percent return rate and a typical 3 to 5 week return lag, a large block of refunds lands one month after the revenue it belongs to.

The effect is that a growing month looks better than it was and the following month absorbs a penalty it did not earn. Your accountant handles this with a returns reserve. Your dashboard does not, which is why the two will never agree on a month-by-month basis even when both are correct.

The settlement lag at the boundary

Orders placed on the 30th and 31st settle in the first days of the next month. Roughly two days of volume, about $56,400 here, sits in transit across every month end. It is not missing, it is in Stripe's pending balance.

This one is stable in size, so once you know your normal lag you can stop re-investigating it every month.

The one reconciliation worth doing monthly. Net sales, minus refunds, minus processing fees, adjusted for the settlement lag, should tie to your Stripe payouts within a few hundred dollars. When it does not, you have found something real: a failed capture, a duplicated refund, a chargeback nobody logged, or an order paid outside the platform. That check is worth more than any dashboard.

Which number for which audience

QuestionUse
What is our revenue?Net sales
What goes on the P&L?Net sales, with a returns reserve
What did we collect in cash?Settled deposits
How is demand trending?Gross sales
What is our discount exposure?Gross minus net
Anything at allNot total sales

What to do

  1. Agree on one revenue definition and write it down. Net sales. Put it somewhere the whole team can see, because most of these arguments are two people quoting two different rows in good faith.
  2. Remove total sales from any recurring report. It contains taxes. It should not be the number anyone sees first.
  3. Reconcile net sales to Stripe payouts every month. This is the check that catches actual errors rather than definitional gaps.
  4. Establish a returns reserve if returns run above 15 percent. Below that the timing mismatch is tolerable. At 22.4 percent it materially distorts every month.
  5. Measure your settlement lag once and stop re-litigating it. It is a constant, not a problem.

Where this becomes expensive is when it reaches decisions. Contribution margin computed off total sales overstates itself by the tax rate, and a return wave hitting the wrong month makes a good month look great and the next one look broken. Postlytix reconciles commerce, payment and returns data against each other continuously and flags the gaps that represent something real rather than something definitional.

Common questions

Why is my Shopify dashboard number higher than my P&L revenue?
Most often because the dashboard headline is total sales, which adds shipping and collected sales tax on top of net sales. Taxes are not revenue, you are holding them for a government. If your gap is close to your effective tax rate, that is the explanation.
Which Shopify number should go on my P&L?
Net sales, which is gross sales minus discounts minus returns. It excludes shipping and taxes. If your return rate is above roughly 15 percent you also want a returns reserve, because Shopify subtracts a refund on the day it is processed rather than matching it to the month of the original sale.
Why does my bank deposit not match my Shopify revenue?
Three reasons, all timing or definitional. Payment processing fees come out before you see the money. Chargebacks are often booked in a later month. And orders placed in the last couple of days of a month settle in the next one, so roughly two days of volume is always in transit at the boundary.
What reconciliation should I actually run each month?
Net sales, minus refunds, minus processing fees, adjusted for your normal settlement lag, should tie to your payment processor's payouts within a few hundred dollars. When it does not, you have found something real: a failed capture, a duplicated refund, an unlogged chargeback, or an order paid outside the platform.