Most profit and loss statement forms you download are built for a generic service business. They give you a blank for "revenue," a blank for "expenses," and a total. For a store that runs paid ads and sells physical product through a supplier, that layout hides the two numbers that actually decide whether you keep money. This walks the form line by line and fills one in with real operating numbers.
If you want the full structure behind every line here, the ecommerce P&L guide is the companion piece.
What a profit and loss statement form actually is
A profit and loss statement — a P&L, or income statement — answers one question for a period: did the store make money, and where did it go? You build it monthly.
The form is just that question broken into lines, top to bottom: revenue first, costs subtracted in the order they occur, profit at the bottom. The "form" part only matters in that it forces you to put each number on the correct line. Put a number on the wrong line and the totals still add up — they're just lying to you.
The line-by-line skeleton of the form
Fill these lines 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. This is booked before any fees or refunds.
- Less: discounts — coupon codes, automatic discounts, sales.
- Less: returns and refunds — the value of refunded orders. This reduces revenue; it is not an expense line.
- = Net sales — gross sales minus discounts minus refunds. Your honest top line.
- Cost of goods sold (COGS) — the direct cost of the units you sold. For print-on-demand that's the supplier's production charge plus the supplier's shipping to the customer, and (if you choose) payment processing.
- = Gross profit — net sales minus COGS. Divide by net sales for gross margin %, your product economics.
- Operating expenses (OpEx) — everything else it takes to run the business: ad spend, the Shopify plan and apps, software, contractors and owner pay, professional services.
- = Operating profit — gross profit minus OpEx. This is the number that says whether the business works, not just the product.
- Below that — interest and taxes, down to net profit.
The rule for which line a cost goes on: direct, per-unit costs go in COGS; costs that keep the business running regardless of any single sale go in OpEx. Payment processing is a judgment call — just keep it on the same line every month or your trends become meaningless.
Worked example: one month for a POD store
Say you run a t-shirt store doing 340 orders a month at a $31 average order value, with $2,800 a month in Meta spend. All figures below are illustrative.
| Line | Amount |
|---|---|
| Gross sales (340 orders × $31) | $10,540 |
| Less: discounts (a 10%-off code) | −$520 |
| Less: refunds (10 orders) | −$300 |
| Net sales | $9,720 |
| COGS — production (340 units × $12) | −$4,080 |
| COGS — payment processing | −$408 |
| Gross profit | $5,232 |
| Gross margin % | 53.8% |
| OpEx — ad spend (Meta) | −$2,800 |
| OpEx — Shopify plan + apps | −$180 |
| OpEx — email + design tools | −$90 |
| OpEx — owner draw / contractor | −$500 |
| Operating profit | $1,662 |
| Operating margin % | 17.1% |
The processing line assumes the roughly 2.9% + 30¢ per online transaction that Shopify Payments commonly charges on lower-tier plans — verify the exact rate for your plan, since it drops on higher tiers (A2X, Shopify fees accounting). The rest is arithmetic: $10,540 gross minus discounts and refunds is $9,720 net; minus $4,080 of shirts and $408 of fees is $5,232 gross profit; $5,232 ÷ $9,720 = 53.8% gross margin.
Now read it. The product is healthy at nearly 54% gross margin. But ad spend eats more than half of the gross profit, and the store nets about $1,662 on $9,720 of net sales. If ad costs rise 20% — another $560 — operating profit falls by a third. That is exactly why the form has to put ad spend on its own visible OpEx line: the P&L should scream "your risk is customer acquisition cost," and it can't if that cost is buried inside COGS.
For the same walk focused on the bottom line, see how to calculate a profit and loss statement.
The two lines store owners get wrong
1. Booking the payout as revenue
The deposit that hits your bank from Shopify is a net settlement: sales, minus processing fees, minus refunds, plus or minus adjustments and chargebacks, on a rolling delay. A payout almost never equals your sales for the same window.
If you type the payout into the "gross sales" line, you understate revenue, hide your fees entirely, and build a form that can't be reconciled at tax time. Book gross sales at the top; the net payout is the cash consequence at the bottom, not a revenue figure. Getting this right is most of the gap between a form that looks done and real Shopify net profit.
2. Putting ad spend in COGS
Ad spend scales with revenue, so it feels like a cost of the sale. It isn't COGS. It's paid acquisition and it belongs in operating expenses. Bury it in COGS and your gross margin looks inflated while your single biggest risk disappears from view.
Where to get the form
You have three options:
- A free template — a spreadsheet or PDF with the lines above. Fine for a first pass. The catch: it only knows what you type into it, so a wrong payout number or a misfiled ad cost sails straight through.
- Accounting software — QuickBooks or Xero, often paired with a connector like A2X that splits each Shopify payout into sales, fees, and refunds automatically. This is the standard once you're past a few hundred orders a month.
- An AI employee that builds it from your live data — covered below.
Whichever you pick, the form is only as good as the reconciliation behind it: proving that your net payout equals gross sales minus fees, refunds, and adjustments. If it doesn't tie out, something is on the wrong line.
Using the form at tax time
Your P&L is what you reconcile a 1099-K against. That form reports your gross payment volume to the IRS — not your profit — and for the 2025 and 2026 tax years a processor only has to issue one when gross payments exceed $20,000 and transactions exceed 200, after the One Big Beautiful Bill reverted the threshold (IRS, Form 1099-K threshold FAQ).
The trap: you owe income tax on your profit whether or not a 1099-K ever arrives, and the 1099-K number is gross, so your taxable income is far lower. A clean P&L is what lets you prove the difference.
This is general information, not tax advice. Rules change and vary by situation — consult a licensed CPA or tax professional before acting.
How Victor fills the form for you
PodVector AI gives you Victor, an AI employee who sees every order, every ad dollar, and every supplier cost together, so he computes the true per-order profit instead of leaving you to reconcile it by hand. He connects to Shopify, Meta Ads, Google Ads, Printify, Printful, Gelato, and Klaviyo — so the gross sales line comes from your real orders, the COGS line comes from your actual supplier charges (known before the first sale), and the ad spend line lands in OpEx where it belongs.
Victor is not a form you fill in. He builds the P&L, delivers the report to your Google Drive, and then acts on what it shows — he pauses the losing Meta ad set, reprices the thin-margin SKUs in Shopify, and builds the Klaviyo win-back flow. When a refund drags a product underwater, he's already seen it. If you're weighing tools, the cash flow software comparison covers the broader category.
Put Victor to work on your store's P&L.
FAQs
What is the difference between gross profit and net profit on the form?
Gross profit is net sales minus COGS — it measures your product. Net profit is what's left after you also subtract operating expenses, interest, and taxes — it measures the whole business. In the worked example above, gross profit was $5,232 but operating profit was only $1,662, because ad spend and overhead sit between them.
Should payment processing fees go in COGS or operating expenses?
Either can be defensible, as long as you're consistent. Many ecommerce P&Ls put processing in COGS because it's a direct per-order cost; others keep it in OpEx. Pick one and never switch mid-year, or your gross margin trend becomes unreadable.
Does a refund reverse the processing fee on the form?
Usually not. When you refund a customer, the original processing fee is generally not returned to you, so a refunded order still cost you the fee (A2X, Shopify fees accounting). Record the refund as a reduction of revenue and leave the already-booked fee where it is. A chargeback is worse — it carries a $15 Shopify Payments dispute fee in the US, refunded only if you win.
Can I just use my Shopify payout total as revenue?
No. The payout is netted and delayed, so it never matches your sales for the month. Book gross sales at the top of the form and treat the payout as the cash result at the bottom. This is the single most common reason a store's P&L won't reconcile.
How often should I fill out a profit and loss statement form?
Monthly, for an operating store. A monthly P&L catches a rising ad cost or a margin slip while you can still act on it; quarterly or annual-only forms tell you what went wrong long after the money's gone.