Repricer rules are usefull when you want to add price mark-up or make discount. Below we will give you some advises on how you can make adjustments to product price.

Pricing strategy
Before you start, make sure you know weather your suppliers provide prices incl. / excl. VAT. Also consider your pricing strategy - how do you want to add margins: based on supplier, starting price, category, manufacturer or just global fix. If you have doubts, contact our support and we will be happy to assist you.

##### Base Price

Product price from supplier is assigned to a variable `{attr:price}`. WiseXML allows setting up of multiple pricing rules. This means, that for each pricing rule, a base price can already have added margin.

##### Operators

WiseXML pricing formula supports most common mathematical operators:

• `+` plus (addition)
• `-` minus (subtraction)
• `/` forward slash (division)
• `*` asterisk (multiplication)

Usage is intuitive. Lets take a simple math equation:

``({attr:price} + 10) * 1.5``

Lets say your product price from supplier is 15.39, then the above formula output would be:

``(15.39 + 10) * 1.5 = 38.09``
##### Available functions

There are also few useful functions, that could make adjustment of prices more flexible:

`ceil` - returns the next highest integer value by rounding up value
`floor` - returns the next lowest integer value (as float) by rounding down
`round` - rounds the value to decimal point

These functions take price variable or any number as a parameter. Lets take a few examples:

``````ceil({attr:price})
floor({attr:price})
round({attr:price})
round({attr:price} * 1.4) + 10
ceil(({attr:price} + 3) * 1.2) - 0.01``````

If product starting price was 15.38, then above formulas would output:

``````ceil(15.38) = 16.00
floor(15.38) = 15.00
round(15.38) = 15.00
round(15.38 * 1.4) + 10 = round(21.532) + 10 = 22.00 + 10 = 32.00
ceil((15.38 + 3) * 1.2) - 0.01 = ceil(22.056) - 0.01 = 23.00 - 0.01 = 22.99``````
##### MIN and MAX price comparison

In case you want to fix the minimum or maximum price of the product, you can use:

`min(... , ...)` returns minimum (smallest) value out of two
`max(... , ...)` returns maximum (highest) value out of two

For example:

``````min({attr:price},{attr:special_price})
min({attr:price},0)
max({attr:price},100)
max({attr:price},{attr:special_price})``````

If product price is 10.00 and special price is 8.00, then above formulas would output:

``````min(10.00,8.00) = 8.00
min(10.00,0) = 0
max(10.00,100) = 100
max(10.00,8) = 10.00``````