I want to use pricelists to set either negative discounts (increase on the product price by percentage) or a positive discount (decrease on the product price by percentage). Nonetheless, i want to avoid the price going above or below a certain range. I found there is a field “margins” where I can set the range but I don’t know how to compute it.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
First of all we need to configure our pricelists as “advanced”
Once active, we go to Products - Pricelists and create a new one.
After setting the name of the pricelist, we go to “add a line” and select on the price computation field “Formula”
As an example, let's say you want to apply a discount on all your products of 20%, but on more expensive products, 20% could mean a lot so you want to set a limit of the maximum discount that could be applied is $100. Logically, we would set the margin interval from 0→100 right? Nuh uh, the tricky part when using margins is applying correctly a negative ( - ) sign on these intervals. As we are subtracting a certain amount from the original price, the discount remains as positive (20%) but the interval should be computed as: ( -100 → 0 ):
So, if the amount discounted from the product exceeds $100, for example a $150 discount, the amount discounted will only be $100, avoiding bis losses. Otherwise, the discount between ranges will remain as computed from the formula.
Let's make an example.
Without the pricelist:
After Pricelist:
For the first product, its original price was $100, therefore the 20% discount would be $20, resulting in a final price of $80. As $20 is between the (-100→0) range, the discount was not modified.
But for the second product, which price was $1000, a 20% discount would leave the final price as $800, but the $200 discount is above our limit (-100), so the discount will be modified to be between the settled range.
Great, now, how do we compute the margins for a negative discount, which would result as a price increase?
Let's use the same values as above. Now the discount will be the field where the ( - ) will be added an the margin will stay positive ( + ):
Now let's give it a try in a sale order.
Before using the pricelist:
After applying the pricelist:
Same as above, for the first line, the $20 increase is between the 0→100 interval so the discount won’t be modified.
But for the second line, a 20% increase on the price would mean a $200 increase, exceeding the 0→100 range, therefore the final discount will be reduced from $200 to $100.
I know this might sound a little redundant or logical, but the correct position of the ( - ) between fields will make a huge difference. It's important to understand when to use it in the discount line and when to use it in the margin section.
If you want your margins computed based on your product cost, you can change the following field by "cost" :
To clarify - although the field is called "Margin", it does not take into consideration the underlying cost of the product?