Domain: Price¶
The Price domain manages all price-related logic for product variants. It computes and exposes the final price a customer sees, composed of multiple configurable components.
Responsibilities¶
- Retrieving base prices and discounts from Microsoft Dynamics (ERP).
- Applying tax (VAT/BTW) rules per product and customer segment.
- Applying shipping uplift for oversized or heavy products.
- Exposing a structured price breakdown per product variant.
- Supporting customer-specific and segment-specific pricing (B2C).
Price Components¶
| Component | Description |
|---|---|
| Base price | The net purchase or recommended retail price, sourced from Microsoft Dynamics. |
| Discount | An absolute or percentage reduction applied to the base price. Sourced from ERP or promotional rules. |
| Tax (VAT/BTW) | Dutch BTW applied on top of the net price. Typically 21% for general goods, 9% for specific categories. |
| Shipping uplift | A surcharge added to the product price for oversized, heavy, or otherwise complex-to-ship products. |
Price calculation (example)¶
Selling price = (Base price − Discount) × (1 + VAT rate) + Shipping uplift
Entities¶
| Entity | Description |
|---|---|
Price |
The computed price record for a ProductVariant, containing all price components. |
PriceList |
A named set of prices applicable to a customer group or segment. |
TaxRate |
A configured VAT/BTW percentage associated with a product or category. |
Integrations¶
Microsoft Dynamics (ERP)
Base prices, discounts and customer-specific pricing are mastered in Microsoft Dynamics. Prices are synchronised to the Zwerfkei Backend and may be refreshed on a scheduled or on-demand basis.
Business Rules¶
- A product variant always has at least one price in the default price list.
- Discounts are applied before tax.
- Shipping uplift is a fixed amount per product variant, not percentage-based.
- Customer-specific prices (B2C) take precedence over the default price list.
- Prices including VAT are shown to B2C customers; prices excluding VAT are shown to B2C customers by default.