A profit and loss statement template in Excel works fine for an operating print-on-demand store — but only if you build it in the real ecommerce order: gross sales at the top, discounts and refunds as contra-revenue, supplier production in COGS, and ad spend down in operating expenses. The generic templates you download skip that order, so they hide the one number that decides whether your store is actually making money: operating profit after ad spend.

Most "profit and loss statement template Excel" downloads are built for a consulting firm or a corner shop. They give you Revenue, Expenses, Net Income — three buckets and a subtotal. For a store running paid traffic against a supplier that bills per order, that layout quietly lies to you.

This walks through the exact P&L template structure an operating POD store needs, the formulas to drop into the cells, and a worked month so you can see where the generic templates fall apart. If you want the full accounting picture behind it, the ecommerce P&L guide is the deeper companion to this one.

What a P&L template actually needs to show

A profit and loss statement answers one question: did the store make money over a period, and where did the money go? For a Shopify store you build it monthly.

The generic Excel template fails on three things. It nets your refunds and discounts invisibly into one revenue line. It lumps every cost into "expenses" so you can't see product margin separately from overhead. And it has no obvious home for ad spend — which, for most POD stores, is the single biggest line on the sheet.

A template built for your store separates two numbers that matter very differently. Gross margin tells you if the product economics work. Operating margin tells you if the business works after you've paid to acquire the customer. A template that blends them tells you neither.

The line-by-line Excel template

Here is the row structure to build, top to bottom. Put labels in column A and the month's figures in column B.

Row Line What goes here
1 Gross sales Total order value, booked when the sale happens
2 Less: discounts Coupon codes, automatic discounts, sales
3 Less: returns & refunds Value of refunded orders (contra-revenue)
4 Net sales =B1-B2-B3
5 COGS — supplier production Printify/Printful/Gelato charge + their shipping
6 COGS — payment processing Per-order processor fees
7 Gross profit =B4-B5-B6
8 Gross margin % =B7/B4
9 OpEx — ad spend Meta, Google (everything you pay to acquire)
10 OpEx — platform & apps Shopify plan, apps, email tool
11 OpEx — tools & contractors Design, owner draw, freelancers
12 Operating profit =B7-SUM(B9:B11)
13 Operating margin % =B12/B4

The rule for where a cost lands: direct, per-unit costs that only exist because you sold a specific unit go in COGS (rows 5–6). Costs that keep the business running whether or not a given order comes in go in OpEx (rows 9–11). Be consistent month to month or your trend lines become meaningless.

The formulas that make it a real template

Three formulas turn a static list into something you'll actually trust.

Net sales is =B1-B2-B3. Never type net sales in by hand — you want discounts and refunds visible as their own lines, because a creeping refund rate is an early warning you'll miss if it's buried.

Gross profit is =B4-B5-B6, and gross margin is =B7/B4 formatted as a percentage. This is your product-economics number. If it's healthy but your bank account isn't, the problem is below this line.

Operating profit is =B7-SUM(B9:B11). This is the bottom line that tells you whether the business — not just the product — is viable. It's the number the generic template never isolates, and it's the only one worth watching week to week.

Worked example: a store doing 340 orders a month

Say your store does 340 orders a month at a $31 average order value, with $2,800 a month in Meta spend. Here's the month in the template.

Gross sales: 340 × $31 = $10,540. A 10%-off code gets used on part of the month's orders, costing $420 in discounts. Ten orders get refunded at $31 each, so $310 in refunds. Net sales = $10,540 − $420 − $310 = $9,810.

Supplier production runs about $13 a unit, so 340 × $13 = $4,420 in COGS. Payment processing on Shopify Payments commonly runs around 2.9% plus 30¢ per online transaction on lower-tier plans (per A2X's breakdown of Shopify fees). On $10,540 of gross sales across 340 orders that's roughly $306 + $102 = $408.

Gross profit = $9,810 − $4,420 − $408 = $4,982, a gross margin of $4,982 ÷ $9,810 = 50.8%. The product looks healthy.

Now OpEx: $2,800 ad spend, $190 for the Shopify plan plus apps, $90 for email and design tools, and a $500 owner draw. That's $3,580. Operating profit = $4,982 − $3,580 = $1,402, an operating margin of about 14.3%.

Read it the way the template forces you to: the product earns a 50.8% margin, but ad spend eats most of that gross profit, and the store nets around $1,400. If your Meta cost rises 20% — another $560 — operating profit drops to roughly $840 without a single thing changing about the product. That's the whole point of putting ad spend on its own line: the sheet should scream that your real risk is acquisition cost, and it can't if that cost is hidden.

Where the Excel template quietly breaks

Two mistakes turn a correct template into a misleading one. Both are built into most downloads.

Your Shopify payout is not your revenue

The deposit that hits your bank from Shopify is a net settlement. It bundles sales, minus processing fees, minus refunds, plus or minus adjustments and chargebacks — and it arrives on a delay covering a rolling prior window, not the calendar month.

If you type that payout into the Gross sales cell, you've understated revenue, erased your fees entirely, and built a P&L that won't reconcile at tax time. Book gross sales at the top (row 1) from your order reports. The payout belongs nowhere in the P&L — it's a cash fact, not a revenue figure.

This is also why a profitable P&L and an empty bank account can coexist. Profit is booked on the sale date; cash moves on the payout schedule. If that gap is biting you, the cash flow projection template and the small business cash flow statement template show you how to model the timing your P&L can't.

Ad spend belongs in OpEx, not COGS

It's tempting to put ad spend in COGS because it scales with revenue. Don't. Burying acquisition cost in COGS inflates your gross margin and hides the one metric that actually threatens the business.

Keep ad spend in OpEx (row 9), on its own line, every month. Your gross margin then honestly reflects product economics, and your operating margin honestly reflects whether you can afford to keep buying customers at today's prices.

One more gotcha the template can't catch on its own: when you refund an order, the original processing fee generally isn't returned to you. A refunded $31 order still costs you its ~$1.20 fee. Track refunds as contra-revenue in row 3 and leave the already-recorded fee where it is.

From a template to live numbers

A template is only as good as the discipline behind it. Someone has to pull the month's gross sales, split the payouts back into their parts, match supplier charges to units sold, and reconcile it all — every month, by hand, before the sheet means anything.

PodVector AI exists to remove that monthly copy-paste. Victor, the AI employee inside PodVector AI, connects to Shopify, Meta Ads, Google Ads, and your print partner — Printify, Printful, or Gelato — and computes true per-order profit from your live data, then delivers the report to your Google Drive. It's not a spreadsheet template and it's not a dashboard; it's an operator that builds the numbers and hands them to you, with every write action approval-gated so nothing happens without your sign-off.

If your store is past the point where a hand-built Excel P&L keeps up, see how Victor handles the money side. When you're comparing tools, the rundown of cash flow software for small business is a useful next read.

This is general information, not tax or accounting advice. Rules change and vary by situation — consult a licensed CPA or tax professional before acting.

FAQs

Is an Excel template good enough for a POD store's profit and loss statement?

Yes, for a store at modest order volume, as long as you build it in the ecommerce order rather than using a generic three-bucket download. The moment you're reconciling payouts, matching supplier charges, and tracking refund fees by hand every month, the template becomes the bottleneck — not the limitation of Excel itself, but the manual data work feeding it.

What's the difference between gross margin and operating margin on the template?

Gross margin is net sales minus COGS, divided by net sales — it measures your product economics. Operating margin is gross profit minus operating expenses (including ad spend), divided by net sales — it measures whether the business works after you've paid to acquire customers. A template that doesn't separate them hides which half of your business is broken.

Where do I put Shopify fees and ad spend in the template?

Payment processing fees go in COGS, right under supplier production, because they're a direct per-order cost. Ad spend goes in operating expenses, on its own line, never in COGS. Putting ad spend in COGS inflates your gross margin and hides that acquisition cost is usually your biggest risk.

Why doesn't my Shopify payout match the revenue on my P&L?

Because the payout is a net settlement — sales minus fees, refunds, and adjustments — deposited on a delay, while your P&L books gross sales when the order is placed. They're measuring different things. Book gross sales at the top of the sheet from your order reports, and treat the payout as a cash event that lives outside the P&L entirely.

How should refunds appear on the template?

As a contra-revenue line near the top (row 3), reducing gross sales to get net sales — not as an expense lower down. Keep them visible as their own line so a rising refund rate is obvious. Remember the original processing fee on a refunded order generally isn't returned, so that small cost stays booked even though you kept none of the sale.