Introduction
This page explains the pricing rules that our software and any third-party software that uses our product data should use to calculate base prices and discount prices of products, where applicable.
The most important rule of pricing rules is that they do not stack. That means that if a product or relation receives a discount through multiple methods, only the method that produces the highest discount will be used.
There are two steps to determining the end price of an article.
- Determining the base price
- Determining the discount that is applied to the base price
Contents
There are x methods for defining a base price for specific articles and relations.
- These will be added here later, but they are already mentioned in the flowchart.
There are three methods for defining discounts for specific articles and relations.
- Method #1 discountPercentage
- Method #2 salesPriceList
- Method #3 priceGroupList
Want to know which price to apply? Follow the flow chart to determine the right end price.
- Flowchart for determining base price
- Flowchart for determining discount
Method #1 discountPercentage in relations
The discountPercentage
parameter of the relation
object defines a percentage of discount that this relation receives over every product ordered.
Method #2 salesPriceList in articles
The salesPriceList
parameter of the article
object can contain a list of sales prices that contain the following parameters:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
salesPrice = array( 'salesPriceNumber' => 1, // Unique identifier for the sales price. 'description' => 'Sales Summer 2015', // Description for the sales price. 'startDate' => array( // Can be used to define an start date to the sales price. 'day' => 01, 'mon' => 01, 'year' => 2021 ), 'endDate' => array( // Can be used to define an end date to the sales price. 'day' => 02, 'mon' => 01, 'year' => 2021 ), 'priceIncl' => null, // Can be used to define a set price (incl. VAT) 'priceExcl' => null, // Can be used to define a set price (excl. VAT) 'discountPercentage' => 2500, // That means a 25% discount. 'minimumAmount' => null // Can be used to define a minimum order amount before the discount is applied ); |
Method #3 priceGroupList in articles combined with priceGroupNumber in relations
The priceGroupList
parameter of the article
object can contain a list of price groups that contain the following parameters:
1 2 3 4 5 6 7 8 9 10 |
priceGroup = array( 'salesPriceNumber' => 1, // Unique identifier for the sales price. 'description' => 'Sales Summer 2015', // Description for the sales price. 'startDate' => 1447928503, // Can be used to define an start date to the sales price. 'endDate' => 1447928512, // Can be used to define an end date to the sales price. 'priceIncl' => null, // Can be used to define a set price (incl. VAT) 'priceExcl' => null, // Can be used to define a set price (excl. VAT) 'discountPercentage' => 2500, // That means a 25% discount. 'minimumAmount' => null // Can be used to define a minimum order amount before the discount is applied ); |