Docs

Guide · Getting started

Fix uncosted products

Restore your margin figures by finding products that are missing a cost per item.

Why margins show —

COGS coverage is the share of revenue from items customers kept in the selected period that has a cost per item. Keel HQ requires at least 90% coverage before it shows COGS.

Below that threshold, Overview withholds the Contribution Margin and Net Margin tiles and the margin layers. A monthly report withholds its CM1, CM2, CM3 and Net profit P&L rows, plus COGS and Gross Profit in a store breakdown. Keel HQ shows — rather than treating missing cost as free. See COGS Coverage for the formula.

Find what is uncosted

Open the margin notice

On Overview, find the margin notice that says what percentage of revenue has a cost per item. Select Fix.

Check the affected store when needed

The all-store notice opens all affected products. A notice for one storefront opens that storefront's products only.

Review Top uncosted products

The Top uncosted products dialog shows each product and variant, with a reason line for mystery boxes. Where Keel HQ can send you to Shopify, select the link beside that row.

It shows up to 10 variants, starting with the highest revenue in the selected period. Fix those products, then sync and reopen the dialog until coverage passes 90%.

Fix an ordinary product

Most rows are ordinary products with no reason line. Their Shopify Cost per item is blank. Select the row's link, then fill in Cost per item on that variant in Shopify.

Fix each reason

Reason lines appear only for mystery boxes. Work from the reason on the row; Keel HQ can show more than one kind of problem at once.

What the row saysWhat to do
A component added to this box isn't in your inventory, so it has no cost.Add the missing box component to Inventory.
A component added to this box has no cost per item in Shopify.Select the row's link, then set its cost per item in Shopify.
Keel HQ hasn't read which items the edit added yet; this fills in automatically.Wait for Keel HQ to read the order edit.
No components were found on these orders, so the box's cost is unknown.Wait while Keel HQ rereads the earlier edited orders. It retries orders it could not read yet.

If the dialog says No actionable uncosted products are available to fix in Shopify, there is no product to update in Shopify for the selected period right now.

Check it worked

After changing a cost in Shopify, go to Settings → Integrations. An owner, admin or member can select Sync Products in the Shopify card under Manual Sync. Wait for Products last synced to update, then return to Overview and reopen the margin notice to confirm that coverage has recovered and the margin figures are showing again.

For an ordinary product, Keel HQ uses its current Shopify cost for the sales in the selected period after that product sync. Order-edit box components keep the cost captured at the time of sale.

Other places that affect the list

  • Settings → Goals → Data Quality includes Exclude zero-dollar orders from analytics. Changing this switch changes which orders appear in the uncosted-products list.

Updated October 28, 2026

On this page