A listing shows $19.95. A buyer assumes that is the amount needed to obtain the item. The seller means $19.95 per pack before a regional surcharge, delivery and tax. A wholesaler means the same number but only after a minimum order of thirty packs. The screens display an identical figure while describing materially different transactions.
Price is not a scalar waiting to be formatted. It is an offer or observation whose meaning depends on the unit, currency, product, seller, time and conditions.
The symbol can hide the currency §
A dollar sign is used by more than one currency. Decimal separators and currency display conventions vary across locales. The Unicode CLDR data[1] helps applications format monetary values, but formatting cannot determine which currency or contract an ambiguous price intended.
A robust amount needs an explicit currency code and amount representation. It also needs a rule for rounding and precision, especially when accounting, discounts, tax and display values differ. Binary floating-point is a poor default for exact decimal amounts; using integer minor units or an exact decimal type is an engineering choice that must match the currency and the operation.
The worked wholesale trap §
Suppose a retailer offers a unit for $20, freight costs $40 per order, and the minimum order is twenty. A naive storefront compares $20 with a competitor's $24 and declares victory. At the minimum quantity, the first supplier's landed pre-tax cost per unit is ($20 × 20 + $40) / 20 = $22. If the comparison is for one unit delivered today, the first offer may not be purchasable at all.
Now add returned goods, lead time and quantity breaks. A useful comparison must state the scenario rather than pretending to produce a universal cheapest seller.
An observation is not permission to transact §
A scraped price may be historical, restricted to certain customers or already withdrawn. Even a current public price may not constitute permission for an agent to purchase. A system should distinguish an observed listing, a current confirmed quote, a customer-specific offer, and an authorized order.
That is the missing boundary in many attractive AI-shopping demos: a plausible number is promoted into purchasing authority. A real transaction needs a lawful seller relationship, accurate terms, a buyer's consent and verifiable settlement.
What a catalogue should retain §
Preserve amount, currency, unit of measure, quantity tier, tax inclusion, fulfillment conditions, vendor, applicable region, effective period, evidence source, and confidence in current availability. Compare only like-for-like offers, with calculations visible enough to challenge.
This is why the Aurekai catalogue and room-planning example separates observed product prices from scenario costs. A room plan can reason over material prices without manufacturing the right to buy.
The price tag matters. But the deal lives in the qualifications, and a system that hides them cannot help a customer make an informed choice.
Sources and further reading
References point to original material linked in the essay, not independently invented citations.
- Unicode CLDR datacldr.unicode.org↩
Related reading
More articles that explore this subject from another angle.
A displayed unit price hides tiering, quantity, availability and fulfillment.
Follow this connection ↗Another lens: Supply chainsOne product code cannot tell you what is on the shelfMoney and markets connects prices to supply chains without making their records interchangeable.
Follow this connection ↗Another essay leads hereThe exchange-rate widget did not tell you what you paidCurrency display, a quoted rate, a conversion obligation and a settled transfer have different dates and counterparties.
Read the earlier argument ↗