You create a profit and loss statement by listing your revenue at the top, subtracting cost of goods sold (COGS) to get gross profit, then subtracting operating expenses to reach operating profit. For a store, build it monthly, book sales on the day the order happens (not when the money lands in your bank), and keep ad spend out of COGS so your real margins stay visible.

Most guides stop at "add up income, subtract expenses." That is technically true and practically useless for a store that runs paid ads and uses a print-on-demand supplier. The order of the lines — and which cost goes where — is what turns a P&L from a tax chore into a tool that tells you whether your product works, whether your business works, and where the money is leaking.

This is the operator's version. If you want the deeper cluster, start with the ecommerce P&L guide and come back.

What a profit and loss statement actually answers

A profit and loss statement (P&L, also called an income statement) answers one question: did the store make money over a period, and where did the money go? It covers a span of time — a month, a quarter, a year — not a single snapshot.

For an operating store, build it monthly. Monthly is short enough to catch a margin problem before it compounds and long enough to smooth out the day-to-day noise of refunds and ad swings.

One rule that most generic templates get wrong for ecommerce: record revenue on an accrual basis — when the sale happens — not when your payment processor deposits cash. The deposit that hits your bank is a netted, delayed settlement, and treating it as "revenue" quietly corrupts the entire statement. More on that below.

The line-by-line structure

Build your P&L top to bottom in this order. Each line feeds the next.

  1. Gross sales (revenue) — total order value for the month, before any fees or refunds come out.
  2. Less discounts — coupon codes, automatic discounts, sales.
  3. Less returns and refunds — the value of refunded orders. This reduces revenue (it is "contra-revenue"), it is not an expense.
  4. = Net sales — Gross sales − discounts − refunds. Your honest top line.
  5. Cost of goods sold (COGS) — the direct cost of the units you sold: supplier production charge, supplier shipping to the customer, and (your call, but be consistent) payment processing fees.
  6. = Gross profit — Net sales − COGS. Divide by net sales for your gross margin %, the measure of your product economics.
  7. Operating expenses (OpEx) — everything else it takes to run the business: ad spend, Shopify plan and apps, email and design tools, contractors, owner pay.
  8. = Operating profit — Gross profit − OpEx. This tells you if the business, not just the product, is viable.
  9. Below operating profit — interest and taxes come out to reach net profit, the bottom line.

The placement rule that matters most: direct, per-unit costs go in COGS; costs that keep the business running regardless of any single sale go in OpEx.

Where ad spend goes (and why it is not COGS)

Put ad spend in operating expenses, not COGS — even though it scales with revenue. Burying your Meta and Google spend inside COGS inflates your gross margin and hides the single biggest risk in a paid-acquisition store: customer acquisition cost.

A healthy-looking 55% gross margin means nothing if ads eat most of that gross profit before it reaches the bottom line. Keeping acquisition spend visible in OpEx is what lets your P&L scream "the risk here is CAC" — and it cannot do that if the cost is hidden one line too high.

A worked monthly example

Say you run a t-shirt store doing 340 orders a month at a $31 average order value, with $2,800/month in Meta spend and a bit of Google on top. Every figure below is illustrative — plug in your own.

Line Amount
Gross sales (340 × $31) $10,540
Less: discounts (a 10%-off code) −$420
Less: refunds (10 orders) −$310
Net sales $9,810
COGS — production (340 × ~$12.50) −$4,250
COGS — payment processing −$408
Gross profit $5,152
Gross margin % 52.5%
OpEx — Meta ads −$2,800
OpEx — Google ads −$600
OpEx — Shopify plan + apps −$180
OpEx — email + design tools −$90
OpEx — owner draw −$800
Operating profit $682
Operating margin % 7.0%

The processing line uses the rate commonly quoted for online card payments on lower-tier Shopify plans — around 2.9% plus 30¢ per transaction, which falls on higher plans — per A2X's breakdown of Shopify fees; verify the exact rate for your plan before you commit it to the books. Running it here: 2.9% of $10,540 is about $306, plus 340 transactions × $0.30 = $102, for roughly $408.

Now read the statement. The product is fine — a 52.5% gross margin is solid. But $3,400 of ad spend turns $5,152 of gross profit into just $682 of operating profit. If your ad costs rise 20% (another $680), operating profit nearly vanishes. That is the whole point of the layout: the number that will sink you is sitting in plain sight in OpEx, not disguised inside COGS.

The payout trap that breaks most store P&Ls

Here is the mistake that quietly ruins more store books than any other: treating the Shopify deposit as revenue.

The money that lands in your bank is a net settlement. It bundles sales minus processing fees, minus refunds you issued, plus or minus adjustments and chargebacks — and it arrives on a rolling delay, so a deposit almost never equals your sales for the same calendar window.

Book it the right way: gross sales at the top, fees and refunds on their own lines, and treat the net payout as the cash consequence at the bottom — never as a revenue figure. One real cost to track: when you refund an order, the original processing fee is generally not returned to you, so a refunded $31 order still costs you its roughly $1.20 processing fee. A disputed charge adds a $15 chargeback fee in the US on Shopify Payments, refunded only if you win, per A2X's Shopify fee guide.

If you book the net deposit as "sales," you understate revenue, erase your fees from the record, and produce a P&L that cannot be reconciled at tax time. A blank profit and loss statement template with the lines already laid out makes it much harder to make this mistake.

Profit is not cash — build both

Your P&L can show $682 of profit and your bank account can still be tight this week. Profit is booked on the sale date; cash moves on the payout schedule. Ads leave your card daily while payouts arrive days later, so a growing, ad-funded store can be profitable and cash-short at the same time.

That is why the P&L is only half the picture. Pair it with a small business cash flow template so you can see the timing gap, and consider a cash flow app for small business once the manual version gets tedious.

How to actually build it each month

You have three realistic options:

  • By hand in a spreadsheet — fine for a low-order store. Pull gross sales, discounts, refunds, and fees from your finance reports and drop them into the line structure above.
  • Accounting software — QuickBooks or Xero (often with a connector like A2X) will split each payout into its component accounts automatically.
  • Let an AI employee assemble it — the approach below.

Whichever you pick, the non-negotiable step is reconciliation: proving that your net payout equals gross sales minus refunds, discounts, and fees, give or take adjustments. If it does not tie out, something is miscategorized, and an unreconciled P&L is not one you can trust.

Let Victor compute true per-order profit

PodVector AI is built for exactly this problem. Victor is an AI employee that connects to your Shopify store, your Meta Ads and Google Ads accounts, and your Printify, Printful, or Gelato supplier — the same data you would otherwise be stitching together by hand.

Victor computes true per-order profit across those sources, so the gross-sales-to-operating-profit math in the example above is assembled from your live data instead of a month-end spreadsheet scramble. He can deliver the reports straight to your Google Drive, and every write action he takes is approval-gated — you approve before anything executes. Victor is not a dashboard you log into; he is an operator who does the work.

Put Victor to work on your numbers and see your real per-order profit.

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

FAQs

What is the difference between a profit and loss statement and an income statement?

There is none — they are two names for the same report. "Profit and loss statement," "P&L," and "income statement" all describe the statement that shows revenue, costs, and profit over a period of time.

How often should I create a profit and loss statement for my store?

Monthly. For an operating store with real ad spend and refund activity, a monthly P&L catches margin and acquisition-cost problems early, while quarterly or annual statements only tell you about trouble long after it has compounded.

Should payment processing fees go in COGS or operating expenses?

Either is defensible — the rule is to pick one and stay consistent every month, or your margin trends become meaningless. Many stores put processing fees in COGS because they scale per order; others keep them in OpEx. What is not a judgment call: ad spend belongs in operating expenses, never COGS.

Is my Shopify payout the same as my revenue?

No. The payout is a net settlement — sales minus fees minus refunds, on a delayed schedule — so it almost never matches your sales for the same period. Book gross sales at the top of your P&L and treat the payout as a cash consequence at the bottom, never as the revenue figure.

Can I create a profit and loss statement without accounting software?

Yes. A spreadsheet with the line structure above works for a low-volume store — pull gross sales, discounts, refunds, and fees from your finance reports. The catch is reconciliation: you still have to prove the payout ties back to gross sales minus fees and refunds, and that manual step is what most store owners skip. Software, a connector, or an AI employee like Victor automates exactly that split. For an ongoing solution, compare cash flow software for small business.