Most small Shopify stores don't have an accounting problem. They have a definition problem. They call the deposit from Shopify "revenue," bury ad spend inside product cost, and confuse a profitable month with a cash-safe one. Each mistake quietly distorts every decision that follows.
This guide fixes the definitions. You'll build a correct profit and loss statement, decode Shopify's fees and payouts, understand why a profitable store can still run dry, and see where sales tax actually lands. The goal of good accounting shopify sellers can trust is simple: know your true per-order profit before you scale.
This is general information, not tax advice. Rules change and vary by situation — consult a licensed CPA or tax professional before acting.
Start with a real P&L, not a bank balance
A profit and loss statement answers one question: did the store make money this period, and where did it go? Build it monthly, on an accrual basis — you record a sale when the order is placed, not when Shopify deposits cash days later.
The order of the lines matters as much as the numbers. Here is the standard ecommerce layout, top to bottom:
- Gross sales — total order value for the month, before anything is subtracted.
- Less discounts — coupon codes and automatic sales.
- Less returns and refunds — a contra-revenue line that reduces revenue, not an expense.
- = Net sales — your honest top line.
- Cost of Goods Sold (COGS) — the direct cost of the units you actually sold.
- = Gross profit — net sales minus COGS; divide by net sales for gross margin %.
- Operating expenses (OpEx) — ads, subscriptions, tools, contractors, owner pay.
- = Operating profit — whether the business, not just the product, works.
The rule for where a cost belongs: direct, per-unit costs go in COGS; costs that keep the business running regardless of any single sale go in OpEx. For a deeper walk through each line, the ecommerce P&L guide breaks the whole statement down, and this piece on the ecommerce P&L shows the format applied to a store.
A worked month for a small POD store
Say you run a t-shirt store and last month looked like this. All figures are illustrative — plug in your own.
| Line | Amount |
|---|---|
| Gross sales (300 orders × ~$32) | $9,600 |
| Less: discounts (a 10%-off code) | −$480 |
| Less: refunds (9 orders) | −$290 |
| Net sales | $8,830 |
| COGS — production (300 × ~$12, shipping included) | −$3,600 |
| COGS — payment processing (~2.9% + 30¢ × 300) | −$346 |
| Gross profit | $4,884 |
| Gross margin % | 55.3% |
| OpEx — ad spend (Meta + Google) | −$3,000 |
| OpEx — Shopify plan + apps | −$180 |
| OpEx — email/design tools | −$90 |
| OpEx — owner draw / contractor | −$500 |
| Operating profit | $1,114 |
| Operating margin % | 12.6% |
Read it the right way. The product is healthy — a gross profit of $4,884 on $8,830 net sales is a 55% gross margin. But ad spend eats most of that gross profit, and the store nets roughly $1,114. If ad costs rose another $600, operating profit would nearly halve.
That is exactly why ad spend must sit visibly in OpEx. Bury it in COGS and your gross margin looks inflated while your real risk — customer acquisition cost — hides in plain sight.
The mechanics: payout is not revenue
The single biggest source of wrong Shopify books is treating the payout as the sale.
The deposit that lands in your bank is a net settlement. It bundles sales, minus processing fees, minus refunds issued, plus or minus adjustments, chargebacks, gift-card activity, and shipping income — all on a rolling schedule that rarely matches your calendar month. A payout almost never equals your sales total for the same window.
Book gross sales at the top of the P&L and record fees and refunds on their own lines. The net payout belongs at the bottom, as the cash consequence — it is not a revenue figure. Log the deposit as "sales" and you understate revenue, erase your fees, and end up with books that can't be reconciled at tax time.
The fees you're actually paying
- Processing fee — a percentage plus a fixed per-transaction charge, commonly quoted around 2.9% + 30¢ for online card payments on lower-tier plans, dropping on higher plans. Check the current rate for your plan on Shopify's own pricing and tax guidance before quoting a number.
- Third-party gateway fee — use an external processor instead of Shopify Payments and Shopify adds an extra transaction fee on top. Shopify Payments avoids it.
- Chargeback fee — according to A2X's breakdown of Shopify fees, Shopify Payments charges a $15 dispute fee in the US, refunded to you if you win the dispute.
A refund gotcha worth flagging: when you refund a customer, the original processing fee is generally not returned. So a refunded $32 order still costs you the ~$1.23 fee even though you kept none of the sale. Track the refund as contra-revenue and leave the already-recorded fee where it is.
Reconcile every month
Monthly reconciliation proves that your net payout equals gross sales minus refunds, discounts, and every fee, plus or minus adjustments and shipping. Tools like A2X, Link My Books, QuickBooks, or Xero split each payout into its component accounts automatically; a very small store can do it by hand from Shopify's payout reports. Either way it has to happen — reconciled books are what make your P&L and your tax return defensible.
Profit is not cash
Here is the trap that catches growing, ad-driven stores: profit is an opinion booked on the sale date, but cash is a fact that moves on its own schedule.
Ad spend leaves your account daily — Meta and Google bill continuously, often before the resulting orders are even placed. Shopify payouts arrive on a delay, commonly a couple of business days after the order but longer for new or higher-risk accounts. And POD supplier charges hit at production, right after the customer buys, frequently before the matching payout lands.
Say you spend $100/day on ads with payouts arriving every two business days. Across a Friday-to-Sunday run, that's three days of cash going out with zero settling in until Tuesday. Double your daily budget to scale, and you double the float you must fund from your own pocket before payouts catch up.
The store can be genuinely profitable on every cohort and still be cash-negative at any given moment, because it is continuously pre-funding growth. The defense is a cash buffer sized to at least your worst-case gap — roughly your daily ad plus supplier spend, multiplied by the payout delay plus a weekend cushion — and a rule never to scale ad spend faster than payouts can refill the tank.
Where sales tax lands (and where Shopify stops)
US sales tax is a state-and-local tax, and Shopify only handles part of it. Three questions decide your obligation: where do you have nexus, are you collecting correctly, and are you remitting?
Nexus is the connection that forces you to collect a state's tax. Physical nexus comes from an office, employee, or inventory in a state — including goods a POD supplier warehouses there. Economic nexus comes purely from sales volume, born from the 2018 South Dakota v. Wayfair decision. The most common trigger is $100,000 in sales or 200 transactions into a state over twelve months, but thresholds vary widely and some states have dropped the transaction test entirely, so always check that state's Department of Revenue rather than assuming one universal number. The Shopify guide to charging US sales tax is a starting point, not a substitute for state-specific rules.
The critical split: Shopify calculates and collects tax at checkout once you configure where you have nexus — but it does not register you, file your returns, or remit the money to the state. On a standard storefront you are the seller of record and those duties are yours. (The one exception is the Shop app, treated as a marketplace facilitator that fully handles tax for orders placed through it.)
When it's time to actually file, pulling the sales tax report from Shopify shows you where the collected figures live, and if you sell into California, the state's sales tax limits are worth reading before you cross a threshold.
Don't forget the 1099-K and estimated taxes
A 1099-K reports your gross payment volume to you and the IRS — it is not a bill, and it reports gross dollars before fees, refunds, and COGS. Under the One Big Beautiful Bill, the IRS reverted the federal 1099-K threshold to gross payments above $20,000 and more than 200 transactions for 2025 and 2026.
The trap: you owe income tax on your profit whether or not a form arrives. Not getting a 1099-K does not make income tax-free.
Because nothing is withheld from store profit, the IRS also expects quarterly estimated payments of income and self-employment tax. Per the IRS estimated tax guidance, you can avoid the underpayment penalty via safe harbor — paying 90% of your current-year liability or 100% of last year's (110% if prior-year AGI topped $150,000). Sole proprietors also owe self-employment tax of 15.3% on net earnings, on top of income tax. Re-verify the current-year dates and figures against IRS.gov before you file.
FAQs
Is the deposit from Shopify my revenue?
No. The deposit is a net payout — sales minus fees, minus refunds, plus or minus adjustments and shipping — settled on a delayed, rolling schedule. Book gross sales at the top of your P&L and treat the payout as the cash result at the bottom, never as the top-line revenue figure.
Where should ad spend go — COGS or operating expenses?
Operating expenses. Ad spend is paid acquisition, not a per-unit product cost. Putting it in COGS inflates your gross margin and hides the fact that customer acquisition cost is usually your biggest risk. Keep COGS to direct per-unit costs like production and shipping.
Does Shopify handle my sales tax for me?
Only partly. Shopify calculates and collects tax at checkout once you tell it where you have nexus, but it does not register you with the state, file returns, or remit the money. On your own storefront you are the seller of record and those steps are yours. Only orders through the Shop app get full marketplace-facilitator treatment.
How can I be profitable but still short on cash?
Because profit is booked on the sale date while cash moves on the payout schedule. Ads and POD supplier charges leave your account before Shopify's payout for those orders settles. The faster you scale ad spend, the wider that float gap grows — which is why a cash buffer matters even in a profitable month.
Do I owe tax if I don't get a 1099-K?
Yes. The 1099-K threshold governs reporting, not taxability. You owe income tax on your profit regardless of whether any form is issued, and you likely owe self-employment tax and quarterly estimated payments too. Clean, reconciled books are what prove your actual net income.
See your true per-order profit
Good books tell you what happened last month. The harder question is what a single order actually earned after the ad that sold it, the processing fee, and the supplier charge.
That's the gap PodVector fills. It connects Shopify, Meta Ads, Google Ads, Printify, and Printful, then computes true per-order profit across all of them. Victor, its AI employee, analyzes that live data and proposes moves — and with your approval, acts on the Shopify side. Victor does not touch your ad account; he reads the ad data and hands you the decision.
If your accounting already lives in a general ledger, connecting the Shopify-to-Sage 50 accounting link keeps the reconciled numbers flowing where your books need them. Get the definitions right first — payout versus revenue, COGS versus OpEx, profit versus cash — and every number downstream starts telling the truth.
This is general information, not tax advice. Rules change and vary by situation — consult a licensed CPA or tax professional before acting.