Skip to main content

Price Structure

A Price Structure represents all pricing information for a single SKU within a single pricelist.
It is the foundational unit of the Quantaprice pricing model and participates in inheritance, bundles, scheduled updates, and history.


What a Price Structure Contains

Base Price Fields

A price structure may contain:

  • Net price
  • Gross price
  • Additional custom price fields

Quantaprice does not enforce a rigid price-field schema; you only store the fields your business requires.

VAT Class

Each SKU belongs to a VAT class.
The pricelist determines how VAT is applied (include/exclude), but the VAT class originates from the article or the price definition.

Currency

The currency applied to this price structure, typically inherited from the pricelist.

Quantity Breaks

Quantity-based pricing is represented as a list of breaks:

  • Each break has a minimum quantity
  • Each break may define its own price values
    Quantaprice always selects the correct break deterministically based on the requested quantity.

Metadata

Metadata is optional key → list-of-values information. It is used for:

  • Internal segmentation
  • Article maintenance workflows
  • Optional SKU selection before pricing

Metadata is not intended for storefront search or customer-facing filtering.

Historical Versions

When enabled, Quantaprice stores timestamped versions of each Price Structure.
This allows:

  • “Price as of date” queries
  • Debugging unexpected price behaviour
  • Compliance and audit scenarios

Historical resolution integrates with inheritance and bundles.

Scheduled Future Versions

A price structure can include future updates that become active at a specific timestamp.
Activation is deterministic and replica-safe.


How Price Structures Behave in the Pipeline

Inheritance

If the current pricelist does not define a field, the value falls back to its parent pricelist.
Overrides are explicit and deterministic.

Bundles

Bundle components use the same Price Structure logic as individual SKUs:

  • Component resolution
  • Quantity break selection
  • Inheritance fallbacks

VAT and Rounding

VAT and rounding are always applied after structural logic: inheritance → bundles → scheduled updates → history → VAT → rounding.

History and Scheduling

Quantaprice first selects the correct historical or scheduled version,
then applies inheritance and bundle logic on top.


Design Goals

  • Minimal – only defines what pricing needs.
  • Deterministic – same inputs always yield the same outputs.
  • Composable – integrates cleanly with inheritance, bundles, scheduling, and history.
  • Flexible – supports custom fields and arbitrary metadata.
  • Predictable – performs consistently across large catalogs and pricelist structures.

Summary

A Price Structure defines how a single SKU is priced within a single pricelist.
It brings together base prices, quantity breaks, metadata, VAT class, history, and scheduled updates.
All other pricing logic — inheritance, bundles, VAT, rounding — builds directly on top of these structures.