If you already run an operating store, you have seen the problem a generic P&L guide never solves. Your bank shows a Shopify payout, your ad account shows a spend, and neither number tells you if you kept anything. A profit and loss statement sheet, built correctly, closes that gap.
This guide is for a store with real sales history and real ad spend. We will walk a full month of numbers, not a definition, and we will put the two costs that quietly eat POD profit — ad spend and processing fees — exactly where they belong.
What a profit and loss statement sheet actually shows
A P&L sheet (also called an income statement) answers one question over a set period: did the store make money, and where did the money go? For a small store, build it monthly so trends are readable.
It is not a balance sheet and not a cash flow forecast — a point worth knowing because it has several interchangeable labels. If you have seen it called an income statement or an operating statement, our note on another name for the profit and loss statement untangles which term goes where.
The structure is a stack. Each line subtracts from the one above it until you reach the bottom.
The line-by-line skeleton
Build your sheet top to bottom in this order:
- Gross sales (revenue) — the total value of orders placed in the month, counted when the sale happens, not when Shopify deposits cash.
- Less: discounts — coupon codes, automatic discounts, sales.
- Less: returns and refunds — the value of refunded orders. This reduces revenue; it is not an expense.
- = Net sales — your honest top line.
Net sales = gross sales − discounts − refunds. - Cost of goods sold (COGS) — the direct cost of the units you sold: the supplier's production charge plus supplier shipping, and usually payment processing fees.
- = Gross profit —
net sales − COGS. Divide by net sales for your gross margin percent, the core measure of product economics. - Operating expenses (OpEx) — everything else it takes to run the store: ad spend, your Shopify plan and apps, software, contractor or owner pay.
- = Operating profit —
gross profit − OpEx. This is the number that says whether the business works.
The placement rule is simple. Direct, per-unit costs go in COGS; costs that keep the lights on regardless of any single sale go in OpEx.
A worked example: one month of an operating store
Say you run a t-shirt store doing 340 orders a month at a $31 average order value, spending $2,800 a month on Meta ads. All figures below are illustrative, but they behave like a real operating store.
The processing fee used here follows Shopify's commonly quoted online-card rate of about 2.9% plus 30¢ per transaction on lower-tier plans, documented in A2X's breakdown of Shopify fees; verify the exact rate for your own plan before you rely on it.
| Line | Amount |
|---|---|
| Gross sales (340 × $31) | $10,540 |
| Less: discounts (a 10%-off code) | −$420 |
| Less: refunds (11 orders) | −$341 |
| Net sales | $9,779 |
| COGS — production (340 × ~$12.50) | −$4,250 |
| COGS — processing (2.9% + 30¢) | −$408 |
| Gross profit | $5,121 |
| Gross margin | 52.4% |
| OpEx — Meta ad spend | −$2,800 |
| OpEx — Shopify plan + apps | −$180 |
| OpEx — email + design tools | −$90 |
| OpEx — owner draw / contractor | −$500 |
| Operating profit | $1,551 |
| Operating margin | 15.9% |
Read what the sheet is telling you. The product is healthy — a 52% gross margin means each shirt earns its keep. But ad spend eats more than half the gross profit, and the store nets roughly $1,551 on $9,779 of net sales.
Now run the risk. If your ad costs climb 20% — another $560 — operating profit falls to under $1,000 on the same sales. That is why ad spend has to sit visibly in OpEx: the sheet should scream "your risk is customer acquisition cost," and it cannot if that spend is buried.
The two mistakes that make a P&L sheet lie
Mistake one: booking your payout as revenue
The deposit Shopify sends your bank is a net settlement. It bundles sales, minus processing fees, minus refunds, plus or minus adjustments and chargebacks, on a rolling delay — so it almost never equals your sales for the same window.
Book the net deposit as "sales" and you understate revenue, hide your fees entirely, and build a sheet that cannot be reconciled. Instead, record gross sales at the top and let the payout be the cash consequence at the bottom. Our guide to reading a profit and loss statement report walks through tying the payout back to gross sales line by line.
Mistake two: putting ad spend in COGS
Ad spend scales with revenue, so it feels like a product cost. It is not. Putting it in COGS inflates your gross margin and hides the fact that acquisition cost is your real risk.
Keep COGS to direct per-unit costs only — production and supplier shipping, plus processing if you choose to. Everything else lives below the gross-profit line.
One more trap worth flagging: when you refund an order, the original processing fee is generally not returned to you, and Shopify charges a $15 chargeback fee in the US on a disputed charge — refunded only if you win. Small, recurring, and easy to miss on the sheet.
Profit is not cash
Your sheet can show $1,551 in profit and your bank can still be tight this week. Profit is booked on the sale date; cash moves on the payout schedule.
Ad money leaves your card daily, suppliers bill you when an order is produced, but payouts arrive on a delay. The faster you scale ad spend, the wider that gap grows — which is why a profit-positive store can still run short of cash. If that timing squeeze sounds familiar, cash flow software for small business covers how to watch the float, not just the margin.
For the full picture of how your P&L and your cash position fit together, our ecommerce P&L guide is the hub for everything in this cluster.
Where the sheet falls short for a POD store
A spreadsheet is a snapshot. It tells you last month's story after the month is over, and it only knows the costs you remembered to type in. For a POD store pulling production charges from Printify, Printful or Gelato, ad spend from Meta and Google, and orders from Shopify, keeping all of that current by hand is where most sheets quietly go stale.
This is the gap Victor, the AI employee from PodVector AI, is built to close. Victor connects to Shopify, Meta Ads, Google Ads, Printify, Printful, Gelato and Klaviyo, so he sees every order, every ad dollar and every supplier cost together — and computes the true per-order profit your sheet is trying to approximate.
Because product costs come straight from your Printify, Printful or Gelato account, Victor knows the real COGS on each item before the first sale, not after. He delivers the numbers as reports to your Google Drive, and every change he makes — pausing a campaign, adjusting a budget, editing a price — waits for your approval before it runs.
See your true per-order profit with Victor.
You can keep the spreadsheet for the monthly story and let Victor keep the live numbers honest. For a personal or by-hand starting point, grab a personal profit and loss statement template and build the skeleton above.
FAQs
What is the difference between a profit and loss statement and a profit and loss sheet?
Nothing — they are the same document. "Sheet" usually implies a spreadsheet version you fill in yourself, while "statement" sounds more formal, but both report revenue, costs, and profit over a period. The income statement is a third name for the exact same thing.
How often should I build a P&L sheet for my store?
Build it monthly. A monthly cadence catches a rising ad cost or a shrinking margin while you can still act on it, whereas a quarterly or annual sheet only confirms the damage after the fact. Operating stores with real ad spend especially need the monthly view, because acquisition cost moves fast.
Should payment processing fees go in COGS or operating expenses?
Either is defensible — the rule that matters is consistency. Many ecommerce sheets put processing in COGS because it is a direct, per-transaction cost, which is the approach in the worked example above. Just pick one place and keep it there every month, or your margin trend becomes meaningless.
Why does my Shopify payout never match my sales?
Because the payout is a netted settlement, not a sales figure. It is your sales minus fees, minus refunds, plus or minus adjustments, deposited on a rolling delay — so it covers a different window than your calendar month and already has costs stripped out. Always book gross sales at the top of your sheet and treat the payout as the cash result at the bottom.
Does a P&L sheet tell me what I owe in taxes?
Not directly, but it is where the answer starts. Your taxable income is based on your net profit, not on the gross number a processor reports — the federal 1099-K reporting threshold is gross payments over $20,000 and more than 200 transactions, and you owe income tax on your profit whether or not you receive the form. This is general information, not tax advice. Rules change and vary by situation — consult a licensed CPA or tax professional before acting.