Skip to main content

Overall P&L

What was left after every cost this period, and which layer of cost took it.

90 second readAppears on: /profit/p-and-l

Read from the bottom up and this page names the layer of cost that took your money — making the product, running the business, or financing it.

It is also the one page where a cost you never entered still makes a claim. An empty row counts as zero, and the profit at the bottom gets better for it.

The table

Every cost you have is meant to be on this statement, in the order it hits your money. What's missing from it is what makes the bottom line wrong.

Profit and Loss Statement

One row = one line of your profit and loss. Rows nest, so a row with an arrow opens into the rows that make it up.

Columns: Line Item · Amount · % △ · % of Sales% of SalesSee the full entry. · % △

Two things about those columns are worth knowing before you read a single number.

% of Sales is always measured against Sales. Not against its own parent, not against the section it sits in. A packaging line three levels deep is still shown as a share of your total sales, which is what makes rows at different depths comparable at a glance.

Both % △ columns need a comparison period. Set one with the Previous period button or they have nothing to show.

Three rows are drawn heavier than the rest — Gross ProfitGross ProfitEarnings after product cost, the base for every margin below., EBITDA and EBT. They are subtotals, not categories, and they are the fastest read on the page.

The bottom row, Net ProfitNet ProfitThe bottom line you take home., sticks to the bottom of the screen while you scroll.

The order of the statement

Sales → Sales Deductions → Cost of Goods Sold (COGS) → Gross Profit → Operational Expenses (OpEx) → EBITDA → Investments → Other Income → Other Expenses → EBT → Taxes → Net Profit

Three of those open a level deeper:

  • Cost of Goods Sold (COGS) → Direct Labor · Direct Materials · Logistics Import · Manufacturing Overhead
  • Operational Expenses (OpEx) → Selling & Marketing Expenses · General & Administrative Expenses · Logistics Expenses
  • Investments → Capital Expenditure · Depreciation · Finance & Leasing

How to scan it

  1. Read the sticky bottom row first. Net Profit, and its % of Sales beside it. That percentage is the whole business in one number.
  2. Then the three heavy rows on the way up — EBT, EBITDA, Gross Profit. Whichever pair drops furthest between them names the layer of cost that took the money. Product cost sits above Gross Profit; running the business sits between Gross Profit and EBITDA; everything financial sits below it.
  3. Press Expand all and switch to reading the % of Sales column instead of Amount. Amount grows when the business grows; % of Sales only grows when a cost outgrows the business.
  4. The row that matters: % of Sales up by a few points while its Amount barely moved. That's a cost that held steady while sales fell — the kind nobody notices, because the money figure looks fine.

The controls

Expand all / Collapse all opens or closes every level at once. Step 3 above is unreadable without it.

Export saves the statement as it stands.

A small sync icon marks the rows filled in automatically from a connected platform: Shopify sales, Shopify order taxes, Shopify cost of goods, Shopify payment fees, and Meta and Google Ads spend.

Every row without that icon is a number somebody typed into Cost Settings, or a zero.

Missing a cost? Add it in cost settings here. sits above the table and goes straight to Cost Settings. It is the fix for almost everything that looks wrong on this page.

Filters

Two decisions get made up here: what period you are judging, and whether your marketplace counts as part of the business you are judging.

Date Range sets the period. Previous period sets what both % △ columns compare against.

Filters opens country, customer type and source of order.

Include Amazon adds your marketplace to the statement: Amazon under Sales, Taxes - Amazon under Sales Deductions, COGS - Amazon under Direct Materials, Amazon Ads, Fees - Amazon and Others - Amazon under Selling & Marketing Expenses, and Other Income - Amazon under Other Income.

It also moves your dates. Amazon money is only known once a settlement closes, so ticking the box clamps the date range to the period Amazon has settled and says so in a notice.

If your range jumped backwards after you ticked it, that is why.

Watch out for

An empty cost is a zero, not a warning. Nothing on this page marks a cost you never entered.

Rent, salaries, freight, software — if they aren't in Cost Settings, Net Profit is wrong and looks healthy. This is the failure mode of the page.

Almost nothing fills itself in. Shopify sales, Shopify order taxes, Shopify cost of goods, Shopify payment fees, Meta spend and Google Ads spend, plus the Amazon rows when Include Amazon is ticked.

Everything else on the statement, shipping included, is a number somebody has to enter.

Cost of goods needs product costs in Shopify. The COGS - Shopify row is built from the cost per item on your variants. Products with no cost set contribute nothing to it and flatter Gross Profit.

% of Sales moves when sales move. A cost line's percentage can rise in a week you changed nothing, because the number it is divided by got smaller. Read the Amount column beside it before you go looking for a culprit.

This is not the Amazon P&L. Ticking Include Amazon folds Amazon into these categories. The Amazon P&L page is a different statement built on settlements, and the two will not tie out line for line.

Do this first

Press Expand all and read down the % of Sales column, not the Amount column, looking for a share you didn't expect.

Then open Cost Settings and look for the costs that aren't on this page at all. Those are the ones inflating the bottom row.

See yoursYour full statement for the period, from Sales down to Net Profit.

Open Overall P&L