Cost is hidden on the product page on purpose. Open a product from Inventory > Products and the Pricing card shows only Retail, plus Minimum Sell Price if you have set one. What you paid, what you make on it, and your margin are all off screen, so a customer standing at the counter reading over your shoulder does not see them.
To reveal them, click the product's name in the large heading at the top left of the page. The Pricing card expands to show the cost figures. Click the name again to put them away, or simply leave them: they hide themselves after 20 seconds. They are hidden again the next time the page loads, every time.
Nothing on screen marks that heading as clickable, and that is deliberate. Staff who have not been told about it do not stumble onto it.
What the reveal shows
Six more rows appear under Retail
- Cost: what you pay your vendor, taken from the Cost Price field on the product.
- Margin: the share of the retail price that is profit, in green when positive and red when negative.
- Profit: retail minus cost, in dollars.
- Avg Cost: your weighted average cost across the units you have actually received, which drifts away from Cost Price as vendor prices move.
- Avg Margin and Avg Profit: the same two figures worked out against Avg Cost instead.
Avg Cost is usually the truer number when you are deciding what to charge, because it reflects what the units on your shelf really cost you rather than the price someone last typed into the product form.
Bulk products (wire by the foot, deadening by the square foot) show two cost rows rather than one: cost per package, which is what the vendor charges for a whole spool, roll or box, and cost per unit, which is that divided by the units in a package. Margin and Profit are worked out per unit so they line up with the per-unit retail price. See Selling Bulk Products: Wire by the Foot, Deadening by the Square Foot.
Who can do it
The click only does something for a user who has the "View & edit costs" permission, in the Inventory group at Managers > Permissions. Owners and store managers have it by default. No other role does, including Office Manager, Sales Manager, Installation Manager, Salesperson and Installer, and Custom starts with nothing switched on. For anyone without it, clicking the product name does nothing at all: there is no message and no locked icon, the page simply does not react.
An owner can grant it to one person without changing their role. Go to Managers > Permissions, click Edit on that user, and tick "View & edit costs" under Inventory. That marks them as Custom, which is expected.
The same permission governs the Cost Price field on the product edit form. Someone who can otherwise create and edit products, but does not have "View & edit costs", does not see Cost Price when they open a product, and saving leaves the cost exactly as it was.
Where else cost appears
On a computer, this reveal exists only on the product detail page; the Products list never shows cost. On a phone, Inventory Lookup has an empty Cost field under More details: tap it to show cost, margin and profit at today's price, and tap it again to hide them (they also hide after 20 seconds). It follows the same "View & edit costs" permission, and for anyone without it there is no Cost field at all. See Inventory Lookup: scan or search a product from your phone.
Purchase and return orders show unit costs too, since that is what they are for. They have their own permission, "Manage purchase & return orders", which owners and store managers have by default. See How to Create a Purchase Order.
When you want cost across many products at once, use the reports instead
- Current Inventory, for cost and value on every product you stock.
- Inventory Valuation, for a roll-up by category.
- Dead Stock, for the capital tied up in items that are not moving.
- Profit Margins, for cost and margin on what you actually sold.
The first three are inventory reports and need the Operational reports permission. Profit Margins is an accounting report and needs Financial reports, which most non-owner roles do not have. See Why can't I see a report I expected to see?