---
title: "The supplier changed prices. Your products do not know yet"
url: "https://mercantir.com/blog/the-supplier-changed-prices-your-products-do-not-know-yet"
description: "A new supplier price list arrives as a PDF. Purchase prices on your products lag by weeks, so every margin is computed on stale cost. Which products are now sold at a loss."
---

# The supplier changed prices. Your products do not know yet

October 22, 2026·4 min read·Mercantir

A Monday in purchasing at a wholesaler with a few thousand products. An email arrives from one of the larger suppliers: new price list, effective from the first of next month, attached as a PDF. Forty pages. The buyer skims the lines that matter most and puts “update prices” on the list for the week.

The week has other things in it. The PDF stays in the inbox. On the first of the month the supplier starts invoicing at the new prices, and the invoices are paid, because they match the delivery and nobody checks them against a price list from last year.

Six weeks later someone notices that the margin report for one category looks fine while the bank balance does not. The selling prices are where they were. The purchase prices on the product records are where they were. The supplier’s prices are somewhere else entirely, and the difference has been quietly paid on every order in between.

## Purchase price is treated as a product attribute, not a fact with a date

The real cause is where the purchase price lives. In most systems it is a field on the product, one number, overwritten by hand whenever somebody gets round to it. The supplier’s price list is a document: a PDF, a spreadsheet, an email. The product record cannot read a document, so the price on the product is only as fresh as the last person who typed it, and every margin computed from it inherits that delay.

## Where the cost goes stale

**The price list arrives as a picture of a price list.** A PDF table or a spreadsheet with the supplier’s own codes and column layout. Getting it in means matching their codes to yours, line by line, which is why it waits.

**One price per product, no history.** The field holds the current number and nothing else. When it is updated, the old price is gone, so nobody can say what an order placed three weeks ago actually cost at the time.

**Invoices are checked against deliveries, not against prices.** Goods arrived, quantity matches, invoice paid. Whether the unit price on the invoice is the one the product record expects is a question nobody is asked.

**Stock is valued at a mixture.** Some of what is on the shelf was bought at the old price, some at the new one, and the system has one number for all of it. The margin on the next sale depends on which number, and the system does not know.

**Selling prices are set from the stale cost.** A repricing round takes purchase price times a target margin. If the purchase price is a month old, the new selling price is carefully calculated and wrong from the day it is published.

**The ones sold at a loss are invisible.** A small increase across a category and a thin margin on a few fast-moving items is enough. Those items keep selling well, which looks like success, and the report that would show the loss is computed from the price that did not change.

## Treating the price list as data with an effective date

**A price has a supplier, a date and a validity.** Not one field on the product but a record: this supplier, this product, this price, valid from this date, and the previous one kept. A purchase cost is then a question with an answer that depends on when you ask it.

**The document becomes rows before anyone decides anything.** Reading the PDF or spreadsheet into a list of proposed price changes, matched to your products, is mechanical work. It should happen on the day the email arrives, not when the buyer finds a free afternoon.

**Invoices are checked against the expected price.** When a delivery is booked in, the unit price on the invoice is compared with the price that should apply on that date. A difference is a question for the supplier, raised while it is still one invoice.

**Margin is computed on the cost that applied at the time.** With dated prices, each order can carry the purchase cost that was valid when the stock was bought or when the order was placed, and the report stops averaging two eras into one number.

**Repricing becomes a proposal, not a round.** When a supplier’s prices move, the products affected are a known list, and the selling prices that no longer meet the target margin are a known subset. That list can be prepared for a decision the same day.

## What an agent can prepare, and what a person decides

An agent with access to the price records can take the supplier’s document, match it to your products, and produce three things: the list of products whose purchase price changes and by how much, the subset where the current selling price no longer covers the target margin, and a proposed new selling price for each. It can also flag the products it could not match, which is where the surprises usually are.

What it should not do is publish the new prices. Whether to pass an increase on, absorb it on a line that anchors a customer relationship, or drop a product altogether is a commercial judgement. The agent’s output is a prepared decision, with the numbers attached, for someone whose job it is to make it.

## A test for this afternoon

Take the most recent price list you received from any supplier. For twenty of its lines, chosen across the range, write down three numbers: the price on the supplier’s document, the purchase price on your product record today, and the unit price on the last invoice you paid for that item.

If the three agree, your process works, at least for that supplier. If the document and the invoice agree but the product record does not, you have measured the lag, and every margin report for those products has been wrong by that amount for that long. If all three differ, the next question is which of them your selling prices were set from.

This is the purchasing-side half of a problem [Mercantir](https://mercantir.com/) is built around: a margin is only as true as the cost underneath it, and the cost is only true if it is a dated fact in one record rather than a number in a field. The selling side of the same problem, the gap between [the margin on the price list and the margin on the order](https://mercantir.com/blog/price-list-margin-is-not-order-margin), has its own post, and so does the campaign that [the warehouse finds out about from the orders](https://mercantir.com/blog/the-promotion-the-warehouse-learns-about-from-the-orders).

-   purchase prices
-   suppliers
-   margin
-   product data
-   repricing

## Keep reading

-   [The promotion the warehouse learns about from the orders](https://mercantir.com/blog/the-promotion-the-warehouse-learns-about-from-the-orders)
-   [The week everything goes wrong at once](https://mercantir.com/blog/the-week-everything-goes-wrong)