Pricing and Currencies
Price sits on the variant, with its currency, and everything else adjusts it.
Where to find it
Architect Panel → Commercial:
- Carts — the cart itself and its options
Architect Panel → Data:
- Datastores — then View Data on the cart table, and look for the row actions
The layers
- The variant price — the base.
- Special prices — time-limited, replacing the base.
- Volume pricing — a lower price above a minimum order quantity.
- Discounts — codes and multi-buy, applied at the basket.
- Tax — added according to the product’s tax type.
Knowing the order matters when a total is queried, because the answer is almost always that two layers combined in a way nobody expected.
Other currencies come from exchange rates
Rather than from a price per currency. Each additional currency has a rate against the base, so one price maintained centrally produces prices everywhere.
That is much less work, and it means a rate that has not been updated quietly misprices your entire catalogue.
Update rates deliberately
A stale rate is a systematic error across every product, in a direction you will not notice if it favours the customer. Decide how often rates are refreshed and by whom, and record when it last happened.
Converted prices look converted
Because they are. If presentation matters in a market, consider setting a deliberate rate that produces round numbers rather than using the interbank rate exactly.
Price changes are per variant
So a catalogue-wide change is a bulk operation. Plan it as one — a spreadsheet, an import, a check — rather than as an afternoon of manual edits, which is how a decimal point moves.
Check the total, not the price
When testing, look at what the customer pays: base, less any special price, less any volume break, less any discount, plus tax, plus shipping. Each layer is right on its own far more often than the total is.
Showing prices at all is a choice
The cart can hide them entirely, which is how a trade catalogue or an enquiry site works. If prices are only for signed-in customers, that is the cart’s pricing option plus its permissions, not something to solve per product.
Worked example
A shop prices in sterling and derives euro and dollar prices from rates refreshed monthly, with the date recorded. Price changes are done as an import with a printed check of the twenty highest-value lines. Testing looks at basket totals rather than at product pages.
Recommendations
- Know the order the layers apply in.
- Refresh exchange rates on a schedule and record when.
- Treat catalogue price changes as an import, not manual edits.
- Test the basket total, not the price.