Skip to main content
Margin shows what you keep per store for the orders placed in a period. It walks down a ladder from product sales to margin after product costs, after selling costs and after marketing. A full margin shows only when every cost in it is known. Until then you get a partial figure marked as such, and a list of what is blocking the rest. What this page enables: know which store earns and which one only sells, without a spreadsheet, and see the exact import that will complete the picture. Where to find it: open Analytics, then click Margin under Sales in the sidebar.
Margin needs costs. The catalog cost price gives an estimated margin (≈) on orders imported after you set it. For orders you already have, import your purchase prices on Costs. Payment, carrier and marketplace fees come from fee imports or bol invoices.

The margin ladder

The Margin page with a per-store ladder from product sales after discounts and refunds down to margin after marketing, and the list of what is blocking margin The Margin page with a per-store ladder from product sales after discounts and refunds down to margin after marketing, and the list of what is blocking margin Each store gets its own ladder in its own currency. The rows, top to bottom: The glossary on the page is written for your accountant: “CM1 is product sales after discounts and refunds minus cost of goods. CM2 adds shipping income and subtracts marketplace, payment, shipping, fulfilment and return costs. CM3 subtracts advertising. These are contribution margins, not accounting profit.”

Partial and estimated values

A row that cannot be completed does not show 0. It shows one of these instead:
  • Margin after product costs (known costs only) or Margin after selling costs (known costs only): a partial margin over the orders where every cost is known. A line such as Margin after product costs on 737 of 899 orders: 4,120 (31% of their product sales) tells you the coverage.
  • ≈ 4,300 with catalog cost prices (estimated): the margin using the cost price in your catalog at the time of sale. It is an estimate, not an invoiced cost.
  • A short reason, such as Needs product costs or Not sent by WooCommerce, when nothing can be calculated yet.
Under the ladders, Margin known for 2 of 3 stores. and 64% of orders have a cost for every line. summarise coverage.
Partial margins use only the costs we have so far and may miss some. Full margins after selling costs and after marketing show once every cost is known.

What’s blocking margin

This section lists every reason a margin is partial, each with a button to the fix: The Cost postings list shows every cost posted for the period by kind: Cost of goods, Marketplace fees, Payment fees, Shipping, Fulfilment, Return handling, Advertising. Before anything is posted it reads No costs posted yet. Missing costs stay unknown, never zero. Coverage counts sit alongside: Orders with unknown sales, Orders with a line without a cost, Estimated costs (≈) and Costs left out for a different currency. The last one matters when your cost prices are in a currency other than the store’s; set Currency of your cost prices in Analytics settings.
Costs are posted, not edited. A purchase-price import replaces a catalog estimate on the same lines, but never a cost that was already exact. That is why the page can always tell you which figure is an estimate.

Act on what you find

Start with Confirm reporting basics on Today. Without a cost currency the page cannot pair costs with sales. Then open Costs and import purchase prices for the period you care about. Catalog cost prices alone only cover orders imported after you set them.
Margin after selling costs needs marketplace, payment, shipping, fulfilment and return costs. Check Payment fees are imported up to {date} and the Cost coverage table on Costs to see which cost kind and which days are missing. For bol, post the invoice from the bol invoices tab.
Compare the Selling and fulfilment costs row across stores. Marketplace commission and return handling often explain the gap. Then open the Returns view in Orders for that store and look for products marked Fix with product data.
This period is too large to calculate live. Pick a shorter period or fewer stores. Margin is calculated per order line, so narrow the period or the stores, or build a frozen report on Reports for the full range.

Orders

The product sales and refunds the top of the ladder is built from.

Order Detail

One order’s lines and the costs that were posted to them.

Today

The setup checklist that lists the cost, rate and fee steps still open.

How Order Numbers Work

Estimated, known so far and the CM1, CM2, CM3 definitions.