Skip to main content

Pricing & price lists

Suppliers send a new price list every month. This page is how that file becomes your cost prices — reviewed before it lands, undoable afterwards, with a full history of what every item has ever cost you.

Navigate to Inventory → Pricing.

It has two sub-tabs:

  • Price lists — import and review supplier files.
  • Markup rules — how a cost becomes a selling price.

Selling price is a rule, not a number​

The important idea on this page: you don't type selling prices. You set a markup rule, and CleverOps works the selling price out from the cost.

selling price = cost × (1 + markup)   →   margin floor   →   rounding

So a 45% rule turns a R1 000 cost into R1 450. When the supplier raises that cost to R1 100 next month, the selling price becomes R1 595 on its own. Nobody re-types anything, and no item is left with a cost but no price.

Two escape hatches:

  • Margin floor — a minimum margin the rule may never go below, checked again after rounding.
  • Pinned prices — an item whose selling price is a deliberate figure (a contract, a tender, a loss-leader) can be marked pinned on the catalog. Repricing always skips pinned items.

Which rule wins​

Rules are resolved most specific first, and only one applies:

PriorityApplies toUse it for
1This itemA single item that prices differently
2SubcategoryA product range with its own margin
3CategoryA whole product family
4SupplierEverything you buy from one distributor
5Item typeAll labour, or all services
6Everything elseYour house markup

Start with a default rule. That one rule prices every item in the catalog that has a cost.

Edit on a rule opens it. Delete rule is in the Danger zone at the bottom of that dialog: items it governed fall through to the next rule down, and prices don't change until you reprice.

Rounding​

Exact, nearest R1 / R5 / R10 / R50, or endings of .95 / .99. Rounding runs last, and if it would push the price under the margin floor the floor wins.

Repricing​

Reprice catalog now shows you how many items would change before it changes anything. Applying a price list reprices the affected items automatically, so you rarely need this button — it's for after you've changed a rule.

Importing a supplier price list​

Use Import price list. Four steps.

1. The file​

Pick the supplier (or type a new name), set the effective date, and choose the spreadsheet.

Upload the supplier's own file — you do not need to reformat it into a template. .xlsx, .xls and .csv all work, and if the workbook has several sheets you pick which one.

If the supplier quotes VAT-inclusive costs, tick Costs in this file include VAT and they'll be converted on import.

tip

The effective date is just a label on the batch — nothing changes until you apply it. You can load next month's list on the 25th and apply it on the 1st.

2. Match the columns​

CleverOps guesses which spreadsheet column is which, and gets most supplier files right with no help. Correct anything it got wrong, then check the preview.

Only two fields are required: supplier code and cost price.

Fill in Remember this layout as… and the mapping is saved against that supplier. Next month's file maps itself.

Stock quantities are not imported here

A price list sets prices, never stock counts. On-hand quantities come from the stock ledger and any quantity column in the file is ignored. To set opening balances, use a stocktake.

3. Review what changed​

This is the point of the whole feature. Before anything is written you see:

  • how many items are new, changed and unchanged
  • the average move across the file
  • how many lines need a look
  • how many items the supplier priced last month but didn't price this time — a possible discontinuation, and the only place you'd notice

Nobody reads five thousand rows. CleverOps flags the lines that actually need a human:

FlagWhat it means
Cost above selling priceThe new cost is at or above what you currently sell for — every quote from now on loses money
Large price moveBigger than your threshold (15% by default, adjustable)
Duplicate descriptionThe same description appears twice, so it couldn't be matched safely
Price pinnedThe cost moved but the selling price won't, so the margin absorbs it
New itemNo match in your catalog — it'll be created

The Need a look filter shows only these, worst first. A five-thousand-line file usually comes down to a few dozen lines to eyeball.

How lines are matched​

In order, stopping at the first hit: the supplier's code as recorded last time → your own SKU → barcode → an exact description that is unique on both sides.

An ambiguous description is deliberately not matched — a wrong match silently reprices the wrong item, which is worse than no match at all.

4. Apply​

Applying writes the new costs, records the supplier's price against the item, and reprices the affected items from your markup rules.

A line flagged New item creates a catalog row, and the supplier's line text becomes its name. Its Description is left empty on purpose, for someone to write the thing the name does not already say — the supplier's own wording is still kept against the item as the supplier description, so nothing is lost. Filling both from the same text is what used to print the same words twice on every quote.

Undoing an import​

An applied price list can be reverted from the Price lists table. Costs go back to what they were, selling prices are recalculated, and items the import created are deactivated — unless they're already on a quote or holding stock, in which case they're kept and reported.

Price history​

Every catalog item keeps a full price timeline. Open Products & Services, find the item, and click History.

You get:

  • how far the cost has drifted and over what period
  • every supplier who prices this item, cheapest first, with the preferred one marked
  • every change — cost and selling price — with the date, the amount, the percentage, and where it came from (a price list, a hand edit, a goods-received note, Xero, or a markup rule)

If a supplier other than your preferred one is cheaper, that's called out directly.

History is append-only. A correction is a new entry; nothing is ever rewritten.

Multiple suppliers per item​

An item can be priced by any number of suppliers. Importing a price list from a second supplier records their price without disturbing your costing — your cost only moves when the list comes from the supplier you actually buy from.

That's what makes the comparison on the History panel possible: you can see that one distributor raised a part 12% and another didn't.

Permissions​

Everything on this page needs the Stock controller permission (stock.manage) — the same gate as the rest of the Stock page. Company owners have it automatically.

Next steps​

  • Stock — the movement ledger these prices sit on top of
  • Purchasing — suppliers, purchase orders, and goods receiving
  • Products & Services — the catalog itself, and where History lives
  • Quotes — quote lines snapshot their price when issued, so a later price change never rewrites a sent quote