Supplier price list
Sometimes a supplier sends a new price list and no invoice follows for weeks. The Price list tab is for exactly that: one screen showing every product you buy from that supplier, what you currently pay for a pack, and how long ago that price last moved, with a single editable column so you can key in the ones that changed.
It is a corrections and price-list surface, not a replacement for invoices. Everything on this page is written on that assumption.
Finding the price list
- Go to CostingBrik > Suppliers.
- Open the supplier.
- Open the Price list tab. On a narrow screen the tab is labelled Prices.
The Delivery information card on the Details tab carries a N products supplied count that links straight here. That count is products, not ingredients, so a supplier who sells you one ingredient under three product codes counts as three.
Expense suppliers, such as utilities and services, have no products, so they have no Price list tab.
When to use it
The top of the tab states the rule it is built around:
Prices from invoices update automatically. Use this when you have a price list and no invoice.
Underneath, Brikly tells you where that supplier actually stands: either "No invoices from this supplier in the last 90 days", with a link to upload one, or how many invoices have arrived in the last 90 days and the date of the most recent. If invoices are already flowing from this supplier, the bulk uplift control sits behind a Price by hand anyway click, because keying in prices you are about to be sent is work you do not need to do.
Use the price list tab when:
- A supplier has sent a new price list and the prices are already in force.
- You buy from a supplier who does not invoice you in a form Brikly can read, so nothing arrives to update the price.
- You need to correct a handful of prices that are plainly wrong.
Use something else when:
- The change has not landed yet. Model it in What If? first. See When a supplier announces new prices.
- You have the invoice. Put the invoice through. The prices update themselves, the pack details are checked at the same time, and the spend lands in your reports. See Uploading invoices.
Keying prices in by hand works on day one and quietly stops happening by month three. This tab makes the job faster; it does not make it sustainable. If your prices are not coming off invoices, your costings are only as current as the last time someone found the time to sit down with a price list.
What is in the list
One row per supplier link, which means one row per product code. Every active link you have with that supplier is listed, including the ones that are not driving your costs. Archived links and archived ingredients are left out.
| Column | What it shows |
|---|---|
| (tick box) | Selects the row for the uplift control described below |
| Product | The ingredient name, linking to its page, with the supplier's own product name and product code underneath. Printed price lists are usually ordered by code, so the code is there to find rows by |
| Pack | The pack you buy, for example 6 × 2kg or 24 × 200ml. Read-only |
| Current price | What you pay for one pack |
| New price | The only cell you can type in |
| Change | How far the new price moves from the current one, as a percentage |
| New cost per measurement | What the new price works out at per kg, per litre or each, shown once you type a price. A cost per each under £1 shows in pence, for example 2.38p/each |
| Last changed | When today's price was last recorded, and where it came from |
| Recipes | How many active recipes use the ingredient, plus a Not the cost driver badge where the link is not the one your recipes are costed from, and the site name where the link belongs to a single location |
| Status | Once you start saving: Staged, Saving, Saved, Unchanged, Price moved, Needs confirm, Refused, Failed, Not found or Archived |
The list is sorted oldest price first, so the prices most likely to be wrong are at the top. You can also sort A to Z, by product code, or by how many recipes use the ingredient. Filter chips narrow the list to Stale (90d+), Changed, Preferred only or From invoice, and where a supplier serves more than one of your sites you get a chip per site.
Last changed
This column is the point of the page. It reads as a date plus where the price came from:
| Label | What happened |
|---|---|
| From invoice | The price was recorded from a matched invoice line, including a correction made on that line (in the line editor or with Wrong price on the invoice?) |
| By hand | Someone typed it: here, in Update pricing, or with Edit in the ingredient's Suppliers panel |
| Pack corrected | The pack size was fixed and the cost per unit was recalculated |
| Added with the supplier | The price as first recorded when the link was created, which is what a CSV import writes |
| Merged | The price came across when two ingredients were merged |
The date turns amber once the price is 90 days old and red at 180 days. A link with a price but no recorded history reads no price history, which is normal for older links. A link with no price at all reads never priced.
The date comes from the newest entry in the price history at today's price, so a later invoice at the same price moves it on. An invoice entry carries the invoice's date, never a future one, even after a correction on its line; an invoice with no date uses the day its line was first recorded. A price typed by hand carries the day you typed it. If you type a price and an invoice later sets the price back, the date is the invoice's. An older invoice is added to the price history without overwriting a newer invoice price, so its date will not appear here. On a few older links saved including VAT, the date shown can be the newest entry's instead.
Sibling SKUs and the cost driver
Where a supplier sells the same ingredient under more than one product code, every code gets its own row and every one of them is editable, because a price list prices all of them. Only one link per ingredient drives your recipe costs: the preferred one or, when nothing is preferred, the link Brikly falls back to (see Which price Brikly costs from). The others carry a Not the cost driver badge. Editing a badged row records the new price against that code. While the ingredient has a preferred link, that leaves your recipe costs alone, which is exactly what you want when you are keeping a second pack size up to date. With nothing preferred, Brikly costs from the most recently changed link that is not a one-off supplier, so saving a badged row's price makes that row the cost driver, unless its supplier is one-off for the ingredient, and re-costs your recipes and modifiers from it. Make the link you want to cost from preferred on the ingredient before you update the others. See Switching to a different SKU if you want to change which code you cost from.
What you cannot change here
The pack, the VAT flag, the product code, the preferred star and whether a link is active all stay in the ingredient editor. This tab changes the pack price and nothing else.
That is deliberate rather than tidy-mindedness. Changing a pack size changes the cost per gram of every price ever recorded against it, so Brikly asks what happened to this pack before it touches your history. That question needs one pack in front of you, not a grid of 300. To change pack details, open the ingredient, find the supplier in the Suppliers panel and click Edit.
Cups, lids, boxes and other consumables are not listed on this tab. Their prices are updated from invoices, or on the consumable itself. Packaging is where stale costings hide, so it is worth checking those separately.
Changing prices
The job with a printed price list in your hand is find, type, next, and the tab is built around that loop.
The search box above the grid has focus when the tab opens, and matches on ingredient name, supplier product name and product code. Type enough of a name to narrow the list, click into the New price cell, type the price and press Enter. Enter stages the value, clears the search and puts you back in the search box ready for the next line. With no search running, Enter moves you to the next row's price cell instead. The up and down arrows move between rows' price cells, and Escape clears what you typed in a cell.
Nothing is saved as you type. A staged price shows its move in the Change column, for example +4.2%, and the New cost per measurement column shows what the change is really worth. A sticky bar at the bottom counts what you have changed and carries Review and save and Discard. Retyping a cell back to its original value clears it from the count.
If you click into a row whose last price came off an invoice, Brikly shows a note: "This price was recorded from an invoice on [date]". It is advice, not a block, but it is worth reading: overwriting an invoice price by hand is how a wrong figure outlives the invoice that would have corrected it.
Leaving the tab with prices staged and unsaved will ask you to confirm first, whether you switch tabs, click Back to suppliers, or close the browser tab. The other ways out do not ask: the sidebar, the breadcrumbs (Suppliers among them), the browser's Back button and links such as an ingredient's name, so save or discard first. While prices are staged, the bar at the bottom says "Prices you haven't saved are lost if you leave this page.", and so does the review panel.
Applying one change to many rows
When a supplier puts everything up by the same amount, the toolbar has an uplift control: + or -, a percentage or a cash amount, applied to All shown rows or to the Selected ones you have ticked. It tells you how many prices it is about to change ("This will change 42 prices") before you click Apply, fills the staged cells, and saves nothing. Undo uplift clears exactly the cells it filled. Prices you typed by hand are left alone, and so is any price the uplift would take to zero or below.
Two kinds of row are left out by default, each with a count and a tick box if you want them in:
- Priced from an invoice in the last 30 days. You already know what you paid for these, from the document rather than the announcement.
- Rows with no current price. A percentage of nothing is nothing, so ticking these in only works with a cash increase, which then becomes their first price.
If the rows span more than one of your sites, or mix VAT-inclusive and VAT-exclusive prices, the control asks you to filter first rather than apply one number across two different bases.
Reviewing and saving
Review and save opens a panel listing only the rows you changed, biggest move first.
- Anything that moves a price 5 times or more, up or down, is flagged amber and has to be ticked individually with Yes, that is right. There is no confirm-all. A row you leave unticked is not written: it comes back Needs confirm after the save, with its own Yes, that is right button. This is the same guard you meet when editing a single price, and it exists because a per-kilo price typed into a pack price field is the most common way a costing goes badly wrong.
- Anything at 1.5 times or more carries a quiet warning line. It does not block the save. Most real typos land here rather than at 5 times, so it is the line worth reading twice.
Saving sends the changes in batches, counting them on the button ("Saving 100 of 378"), and each row reports back. Rows that saved are marked Saved. Rows that did not are listed in the summary and left in the table, still editable, and Retry sends them again.
When an invoice gets there first
Every row carries the price you were looking at when you typed. If the price changes in the meantime, for example because an invoice from that supplier lands, that row comes back Price moved and is not written. Brikly shows you the price that is now recorded so you can decide whether your price list is still the newer of the two. Nothing you did not see is ever overwritten, and the invoice always wins the race.
The summary
When the save finishes you get a plain count, for example "378 updated · 12 unchanged · 2 need attention". A price you retype as it already was never counts as a change, and a row whose price turns out to be the same as the one on file when it is saved is reported as unchanged and not written, so a price list that mostly repeats what you already had costs you nothing. The list then reloads with the new prices and fresh dates.
The summary ends with "Next time, forward the invoice and this happens on its own." and an Upload an invoice button, because that is the version of this job that happens by itself.
What happens to your recipes
Saving a price here does the same work as changing that price on the ingredient:
- The old price is kept in the price history, recorded as a change by hand.
- Every recipe and modifier using the ingredient is re-costed, along with any recipes that use those recipes. This runs straight after the save, so recipe costs and GP figures settle within a minute or so.
- On an ingredient with a preferred link, rows carrying the Not the cost driver badge record a price and leave recipe costs alone, because your costings do not come off them. Where an ingredient has no preferred link, the link it falls back to carries no badge, and saving its price re-costs the recipes and modifiers that use it. On that ingredient, saving a badged row's price makes it the most recently changed link, so your recipes and modifiers are re-costed from it, unless its supplier is one-off for the ingredient.
Every change is logged with the batch it belongs to, so a whole sweep can be traced afterwards rather than being lost among individual edits.
Who can edit
Anyone who can edit your costings can change prices here: owners, admins and members. Viewers see the products, packs, current prices, freshness dates, recipe counts and filters, without the editing columns, the uplift control or the save bar.