A pricing system is wrong in quiet ways. It does not crash. It prints a margin that is not there, a comparison between two things that are not the same thing, a price nobody can trace. The person reading the screen believes it, because it is on a screen. These are the four rules we put in before anything else, in every system we build that touches a price.
An unknown cost blocks
When a system does not know what something cost, the easy thing is to treat the cost as zero and carry on. The margin then reads as the whole sale price, and the item looks like the best thing in the catalog. In our systems an unknown cost stops the calculation and says so. A blank that announces itself is safer than a number that looks like good news.
An ask is not a sale
What somebody is asking for an item and what an item last sold for are two different facts. Average them and you have a figure that describes nothing. We keep asks and completed sales apart, and we keep condition bands apart, so a used unit is never priced off a sealed one.
Every figure names its source and its age
A price with no source is an opinion. A price with a source and no date is a guess about the past. Every figure on a screen we build says where it came from and when, so the person deciding can see at a glance whether they are looking at this morning or last quarter.
A wrong match is worse than no match
Two part numbers that differ by one trailing character can be two different products. A matcher that strips the character to be helpful will price one as the other. Ours refuses to match when it is not sure, and says why, so a person can decide. The same rule is held in the application, in the database and in the address of the page, so the three can never disagree.
Where these run
These rules are in production in the systems we run ourselves: the CPQ and Sourcing Engine, Inventory OS and Card Master. They are also what you get when we build a quoting desk or a market pricing system for you. You keep the source and the data.