A price list is the document most likely to be quoted back at you long after it stopped being true. That single fact should decide how it is sent.

This guide covers the address, the date, and different prices for different customers.
The emailed file never goes away
Send a price list as an attachment and it is now a permanent artefact in an unknown number of inboxes.
Forwarded to colleagues. Saved to a desktop. Filed in a procurement folder. Quoted in a meeting eighteen months later by somebody who was not on the original email.
When prices change, none of those update. You have no way to reach them, and frequently no idea they exist.
The conversation that follows, where a customer insists on a price you stopped offering a year ago, is entirely created by the format.
One permanent address
Publish the list at an address and never create a second one.
Prices change, you edit the page, and everyone holding the link sees the current figures. Including the customer who saved it, the one it was forwarded to, and the procurement system that bookmarked it.
That is the whole fix and it takes minutes to set up.
| Emailed file | Permanent address | |
|---|---|---|
| Old prices circulating | Forever | No |
| Price change reaches everyone | No | Yes |
| Customer forwarded it | Frozen copy | Current |
| Effective date visible | Sometimes | Always |
| Disputes about old prices | Common | Rare |
The effective date
At the top, in normal-sized text, not in a footer.
A price list without a visible date is read as current whenever it is found. With one, a customer looking at something from March knows it is from March, and the conversation starts from there.
Add a line saying when prices last changed. It takes a sentence and it makes the page self-explaining.
Announce changes
Do not let customers discover a price increase by finding a different number than they expected.
A short message with the effective date, sent before it takes effect, costs nothing and changes how it is received. Discovering an increase feels like something done to them; being told about it in advance is ordinary commercial practice.
Whatever notice your terms require, give it, and give it in writing.

Different customers, different addresses
Some customers have negotiated rates. A single list with a discount column, or with several price columns, tells every customer exactly what everyone else pays.
That is a bad position to be in and it happens regularly.
Give each group its own address. Trade, retail, a specific account. Each one shows only its own prices, and nobody learns anything about anyone else.
Use unguessable addresses for negotiated rates.
Keep the previous version visible
For a period after a change, keep the old prices reachable and clearly labelled as superseded.
When a customer says they were quoted something different, you can both look at the same record. That settles most disputes in one message rather than in three.
For the surrounding ground, see How to share a price list as a link and How to make a digital catalog.
Put it at an address
One permanent address, the effective date at the top, changes announced rather than discovered, separate addresses for separate customer groups, and the previous version kept visible for a while.
Then nobody quotes you a price you stopped offering last year.