Most blank P&L templates you find ranking on Google are built for a dentist or a consultant. They give you a column of generic labels — "revenue," "supplies," "utilities" — and no idea where your Meta spend, your Printify production charge, or your Shopify fees actually go.
This one is built for a store that already has sales history and real ad spend. It puts every dollar an operating print-on-demand shop touches on the right line, so the finished statement tells you the one thing a generic form hides: whether your product makes money, or your ads are quietly eating it.
The blank template (copy this into a spreadsheet)
Here is the full skeleton. The order matters — each subtotal feeds the next, and moving a line changes the story the statement tells.
| Line | What goes on it |
|---|---|
| Gross sales | Total order value for the month, booked when the sale happens |
| Less: discounts | Coupon codes and automatic sale discounts |
| Less: returns & refunds | Value of refunded orders (reduces revenue, not an expense) |
| = Net sales | Your honest top line |
| COGS — production | Supplier charge for the units you sold (blank + print) |
| COGS — supplier shipping | Shipping the supplier billed to deliver those units |
| COGS — payment processing | Card fees on the orders (a judgment call; be consistent) |
| = Gross profit | Net sales − COGS. Divide by net sales for gross margin % |
| OpEx — ad spend | Meta, Google, and any paid acquisition |
| OpEx — platform & apps | Shopify plan, apps, email tool |
| OpEx — software & tools | Design and other subscriptions |
| OpEx — contractors / owner pay | What you and any help draw |
| OpEx — other fixed costs | Insurance, domain, misc. |
| = Operating profit | Gross profit − OpEx. Whether the business works |
Three subtotals, always in this order: net sales, gross profit, operating profit. If your template skips straight from "revenue" to "net profit," it is hiding the two numbers that actually run an ad-driven store.
How each line works without fooling yourself
Gross sales — not your Shopify payout
The number one way operators corrupt this statement is typing their Shopify deposit on the top line. The deposit that hits your bank is a net settlement — sales minus fees minus refunds, batched on a rolling delay — so it almost never equals your sales for the month, as A2X's breakdown of Shopify payouts explains.
Book gross sales at the top, on the date orders are placed. The payout is a cash consequence, not a revenue figure. Our guide to creating a profit and loss statement walks through the entries if you are building this by hand.
COGS — the direct cost of what you shipped
COGS is the cost of the specific units you sold this month: the supplier's production charge plus the shipping they billed to deliver them. For print-on-demand that is your Printify, Printful, or Gelato invoice for fulfilled orders.
Payment processing fees are a judgment call — some stores park them in COGS, some in operating expenses. Pick one and never move it, or your margin trend becomes meaningless from month to month.
Operating expenses — where ad spend lives
Here is the line that separates a useful template from a flattering one. Ad spend goes in operating expenses, below gross profit — never in COGS. It scales with revenue, which tempts sellers to treat it like a cost of goods, but burying it in COGS inflates your gross margin and hides the fact that customer acquisition cost is your real risk.
Keep paid acquisition on its own visible OpEx line. If the statement is going to scream "your ads are the problem," it can only do that when the ad number sits in the open.
A filled-in example: one month for an operating store
Say you run a tee store doing 300 orders at a $32 average order value, with a 10%-off code running and 9 refunds. Here is the template with real-looking operating numbers in it.
| Line | Amount |
|---|---|
| Gross sales (300 × $32) | $9,600 |
| Less: discounts | −$480 |
| Less: refunds (9 orders) | −$290 |
| Net sales | $8,830 |
| COGS — production + supplier shipping (300 × ~$12) | −$3,600 |
| COGS — payment processing | −$346 |
| Gross profit | $4,884 |
| 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 |
The processing figure uses the roughly 2.9% + 30¢ per online transaction that A2X documents for Shopify Payments (300 × 30¢ = $90, plus 2.9% of net sales ≈ $256). Verify the exact rate for your plan before you rely on it.
Now read it. Your product is healthy — gross margin is $4,884 ÷ $8,830 = 55%. But ad spend of $3,000 eats most of that gross profit, leaving operating margin at just $1,114 ÷ $8,830 = 13%.
If your ad costs climb 20% next month — another $600 — operating profit nearly halves to around $514. That sensitivity is the entire point of putting ad spend on its own line, and a generic template never shows it. The deeper mechanics live in our ecommerce P&L guide and the companion profit and loss statement explainer.
The number this template will not show you: cash
A filled-in P&L shows profit, and profit is an opinion booked on the sale date. Cash is a fact that moves on its own schedule — and the two rarely line up for a growing POD store.
Your ad card is charged daily. Your Shopify payouts arrive on a delay, and your supplier bills you at production, often before the matching payout lands. So you can post $1,114 in profit and still be short on cash the week you try to scale ad spend.
That gap is why a profitable store can stall. Pair this statement with a small business cash flow template so you are tracking both the opinion and the fact.
Common ways the template gets filled in wrong
- Payout as revenue. The deposit is netted and delayed; it understates sales and erases your fees. Book gross sales up top.
- Ad spend in COGS. Inflates gross margin and hides your real risk. It is operating expense.
- Refunds as an expense. They reduce revenue (contra-revenue), sitting above net sales — not down in OpEx.
- Processing fees that wander. Keep them on one line forever so trends stay readable.
- "Profitable, so I have cash." Different timelines. Watch both.
How PodVector AI fills this in for you
Filling this template by hand every month means exporting Shopify orders, pulling Meta and Google spend, reconciling Printify and Printful invoices, and praying you put every line in the right place. Miss where ad spend goes and the whole statement lies.
PodVector AI runs Victor, an AI employee that connects directly to Shopify, Meta Ads, Google Ads, Printify, Printful, Gelato, and Klaviyo. Victor computes true per-order profit from your live data — production, shipping, fees, and ad spend each landing on the correct line — and delivers the finished report to your Google Drive. Every write action Victor takes is approval-gated, so you stay in control.
Victor is not a dashboard you have to read; it is an operator that does the reconciliation a blank template leaves on your plate. When you are ready to stop rebuilding this spreadsheet every month, start with PodVector AI, and see the down-funnel pick in our roundup of cash flow software for small business.
FAQs
Does a blank P&L template double as a tax return?
No. The template measures operating performance; your tax return follows separate rules and forms. You owe income tax on your profit whether or not a processor ever sends you a 1099-K — and the federal 1099-K reporting threshold reverted to gross payments over twenty thousand dollars and more than two hundred transactions per the IRS 1099-K FAQ. This is general information, not tax advice. Rules change and vary by situation — consult a licensed CPA or tax professional before acting.
Should payment processing fees go in COGS or operating expenses?
Either works — it is a judgment call. The only hard rule is consistency: put them on one line and leave them there, so your month-over-month gross margin stays comparable. Many ecommerce accountants keep them in COGS because they scale per transaction.
What is the difference between this and a cash flow statement?
The P&L shows profit — revenue earned and costs incurred over a period, regardless of when money moves. A cash flow statement shows actual cash in and out by date. An ad-driven store needs both, because it can be profitable on the P&L and cash-negative at the bank in the same week.
How often should an operating store fill one out?
Monthly. A store with steady sales and ad spend needs the trend, not a once-a-year snapshot — monthly statements catch a rising CAC or a slipping margin while you can still act on it.
Why does my template show profit when my bank account is empty?
Because profit is booked on the sale date and cash arrives on the payout schedule. You pre-fund ads and supplier charges today; payouts for those orders land days later. The faster you scale spend, the wider that float gap — the P&L looks fine while the bank balance does not.