Inheritance
Pricelist inheritance defines how values are passed from a parent pricelist to a child pricelist.
It enables clear override behaviour and keeps pricing structures manageable even when many pricelists are used.
Quantaprice uses single‑parent inheritance, meaning each pricelist may inherit from exactly one parent.
This creates a predictable tree structure rather than a complex graph, ensuring fast and deterministic evaluation.
How Inheritance Works
Each pricelist may define only the fields it needs to change.
All other fields are inherited automatically from the parent.
A child pricelist may override:
- Base prices
- Quantity breaks
- VAT mode
- Currency
- Rounding rules
- Metadata
- Bundle definitions
- Bundle component overrides
If a field is not overridden, the parent’s value is used.
Overrides are explicit.
No field is ever merged implicitly or partially unless specified by the pricing model (e.g., bundle components).
Inheritance During Price Evaluation
When Quantaprice evaluates a price for a SKU under a given pricelist, the system resolves values in this order:
- Scheduled or historical version (if applicable)
- Child pricelist overrides
- Parent pricelist values
- Continue up the chain until the root pricelist is reached
This produces a fully resolved effective price for the SKU.
Inheritance applies to:
- Base price fields
- Quantity breaks
- VAT class (if not set at article level)
- Currency
- Rounding rules
- Metadata
- Bundle definitions
The resolved price then moves through the rest of the pipeline: bundles → VAT → rounding.
Why Single‑Parent Inheritance
Quantaprice uses a single‑parent model for several reasons:
-
Predictability
There is only ever one source of truth for inherited values. -
Debuggability
You always know where a value comes from and why. -
Performance
Resolving a linear chain is extremely fast even with many pricelists. -
Compatibility
Scheduled updates and historical versions integrate cleanly because there is only one inheritance path to consider.
Relationship With Other Pricing Concepts
Bundles
Bundle definitions can be inherited just like any other field.
Component overrides at the child pricelist level replace the parent’s component definitions.
Scheduled Updates
Scheduled overrides are treated exactly like normal overrides — they simply activate at a later timestamp.
Historical Pricing
Inheritance uses the correct historical version for each pricelist before resolution begins.
Summary
Pricelist inheritance allows large and complex pricing structures to remain clear, maintainable, and fast.
By keeping inheritance single‑parent and deterministic, Quantaprice ensures predictable behaviour across all pricing
operations while supporting powerful override mechanisms where needed.