Fix zero or oddly scaled prices on newly added SKUs
Confirm the category type's pricing unit, then enter the rate in that unit on the SKU's default price so new items stop quoting at zero.
When a SKU is added to an org's or business unit's inventory without an explicit price, the backend auto-creates its default price row with price 0, tax 0, margin 0. The display unit of that price is not chosen by the user - it is looked up from the SKU's category type pricing_unit (via the group > sub-category > category > category-type chain), falling back to per_unit. Two support consequences: (1) freshly added owned SKUs quote at zero in designs until someone sets a price, so 'my quotation shows 0 for this item' usually means the price was never set after adding the SKU; (2) the unit label shown next to the price follows the category type, so a client who thinks a plywood price is 'per sheet' may actually be entering a per-sq-ft rate (or vice versa) depending on how the category type is configured. When a client reports zero or oddly scaled prices for recently added catalog items, first confirm the category type's pricing unit, then have them enter the rate in that unit on the SKU's default price.
Prices can be entered either one SKU at a time or in bulk.
To enter prices in bulk, multi-select the SKUs, use Bulk Edit via CSV to download the template, fill in the price (and unit, tax and margin) columns, and upload it back so the SKUs are priced automatically.
The bulk pricing CSV is handled as a named attempt: after shortlisting and selecting the SKUs, choose the sales channel, download the CSV, give the attempt a name, edit the pricing, margin and tax fields in Excel, save, and upload the file back into the same attempt. The same CSV pricing approach applies to hardware.
If a price is never entered for an item, that item contributes nothing to the quotation total.
A hardware item appears in the quotation with a price only when pricing is defined for it in the catalogue.
When an org adds a SKU from a sales channel it subscribes to, the local default price row is created with use_referred_price = true and referred_price_id pointing at the publisher's sales-channel price for that SKU (or, if the channel has no explicit price, the publisher's own default price). The locally stored price/tax/margin are literally 0 - only discount and costing flags are copied. A subscribed SKU can alternatively be set to a formula-based price, in which case the stored base price is still 0 and the shown price is computed from the formula. The effective price shown in catalogs and quotations is resolved by walking the referral chain to its end (chains can be multiple hops when a publisher itself subscribed the SKU from someone else), unless the SKU is set to a formula-based price, in which case the formula result is used. Support implications: (1) when the publisher changes their price, every subscriber's price updates instantly and silently - 'my price changed by itself' on a subscribed SKU almost always means the brand/publisher edited theirs; (2) if the client switches that SKU's price to custom (unlinks it), the revealed local numbers are 0, so it will quote at zero until they type a real price; (3) editing the local row's numbers while it is still linked has no visible effect because the chain end (or the formula) wins. To give a subscriber their own price: unlink first, then enter values.