Loading

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

  1. The variant price — the base.
  2. Special prices — time-limited, replacing the base.
  3. Volume pricing — a lower price above a minimum order quantity.
  4. Discounts — codes and multi-buy, applied at the basket.
  5. 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.