Markets
Every price query in Quantaprice carries two market-identifying parameters: currency_code and tax_area. Together they determine which market configuration applies — the FX rate used to convert from the base currency, the VAT rate applied to the resolved price, and the rounding profile used to arrive at the final sales price. Change any of these settings and the effect propagates immediately across every pricelist in the catalogue.
What this section covers
Currencies & FX
Quantaprice supports 32+ currencies via the ECB daily XML feed. EUR is the pivot: all rates are stored as EUR cross-rates, and conversions between any two non-EUR currencies are computed automatically. Historical rates are preserved indefinitely, so price queries against past dates always use the rate that was active at that time.
VAT & tax areas
VAT rates are defined per tax area × VAT class. A pricelist operates in either NET mode (prices exclude VAT, which is added during evaluation) or GROSS mode (prices already include VAT). VAT is resolved and applied after FX conversion in the price calculation pipeline — structural logic such as inheritance, bundle aggregation, and scheduled updates all complete first.
Rounding profiles
Rounding is always the final step. Profiles consist of tier-based rules keyed to price ranges, each specifying a direction, a decimal precision or increment, and an optional charm-pricing offset. Profiles can be assigned as a global default, as a currency-specific default, or selected explicitly per request.
A single change to a VAT rate, FX rate, or rounding profile takes effect across all pricelists simultaneously — there is no per-pricelist override for market-level configuration.