The Profit & Loss page is the number your accountant would give you, built for you automatically every day. It starts from your Shopify sales, subtracts every real cost in the right order, and ends at the net profit you actually keep. Because it reconciles to Shopify's own definitions, it is a figure you can stand behind in a board meeting.
[Screenshot placeholder] The P&L page header "Your Profit, Loss and Business Metrics Snapshot" with the Date range, Breakdown, and Compare to controls, and the four KPI cards
The three controls at the top
Everything on the page responds to three controls:
Date range. The period you want to see.
Breakdown. How the columns are grouped, for example Monthly.
Compare to. The comparison basis, for example Previous period. This drives the up and down change indicators.
Set these once and the snapshot, the statement, and the Business Metrics section all update together.
The snapshot
Four cards summarize the range at a glance: Total Sales, Net Sales, Expenses, and Net Profit, each with a change indicator against your comparison period. Use these for the 10-second read before you drill into the statement.
The statement, line by line
Below the snapshot is the full P&L, one column per period, reading top to bottom from sales down to net profit. Grouped cost rows collapse by default, so you see the shape first, then expand for detail.
[Screenshot placeholder] The P&L Statement table with the Order-level Costs, Marketing Costs, and Operating Expenses groups collapsed, and the pinned Net Profit row
Line | What it is | Where it comes from |
Gross Sales | Sales before discounts and returns | Shopify Orders |
Shipping Charged | What you charged customers for shipping | Shopify Orders |
Taxes | Tax collected from customers | Shopify Orders |
Discounts | Discounts applied | Shopify Orders |
Returns | Sales portion of refunds, on the processed date | Shopify Orders |
Total Sales | Reconciles to Shopify's Total Sales | Shopify Orders |
Net Sales | Total Sales minus taxes minus shipping charged | Derived |
Order-level Costs (expandable) | COGS, shipping, transaction fees, fulfillment | Your Costs Setup |
Gross Profit | Net Sales minus order-level costs | Derived |
Marketing Costs (expandable) | Ad spend and acquisition cost | Connected ad platforms |
Contribution Margin | Gross Profit minus Marketing Costs | Derived |
Operating Expenses (expandable) | Overhead, daily-allocated | Your Operating Expenses |
Net Profit | What you actually keep | Derived |
Click Expand on any grouped row to see its components. The Net Profit row stays pinned so the bottom line is always in view.
Compare and break down
Change Breakdown to see the statement by month or another grouping, and Compare to to measure the current range against the previous period. This is how you spot a cost creeping up before it eats your margin.
Export and email
You can Export the statement to CSV for your own spreadsheets, or Email a snapshot straight to your inbox or your CFO's. To send it on a schedule instead, set up a recurring report in Settings > Email Reports. (See Email Reports: schedule, cadence, and recipients.)
[Screenshot placeholder] The Export and Email controls on the Profit & Loss Statement
Why it reconciles to Shopify
Total Sales matches Shopify's official definitions for sales, refunds, fees, and discounts, and the profit math is built on top of that foundation rather than recomputed a different way. That is why your Shopshot Total Sales agrees with Shopify, while your Net Profit is lower: Shopshot subtracts the real costs Shopify never tracked. For the full reasoning, see Understanding your Shopshot numbers vs Shopify.
Common questions
Why is my Net Profit lower than Shopify's number? Because Shopify's headline is sales, not profit. Shopshot subtracts COGS, shipping, fees, fulfillment, ad spend, and overhead to show what you keep.
Why doesn't an old month change when I reopen it? Returns are recognized when they clear and COGS is snapshotted at ingestion, so closed months stay closed.
Where is sales tax in my profit? It is not in the profit basis. Tax is money you collect and pass on, so it appears only where cash needs to reconcile.
Some cost rows look low or empty. Why? A cost group is only as complete as your setup. Empty Order-level Costs usually means COGS or shipping is not finished. Empty Marketing Costs means no ad platform is connected yet.
Next step
If any cost group looks thin, your Net Profit is overstated. Finish Costs Setup and connect your ad platforms so the statement is complete and trustworthy. → Set up costs for a new store · Integrations: Meta and Google Ads
Related
