You can define a pricelist from the menu Sales → Configuration → Pricelists → Pricelists. For each list you should define:
• a Name for the list,
• a Type of list: Sale for customers or Purchase for suppliers, • the Currency in which the prices are expressed.
PriceList Versions
Once the pricelist is defined you have to link at least one version. You can create a new version directly from the pricelist or from the Sales → Configuration → Pricelists → Pricelist Versions menu. The version contains all of the rules that enable you to calculate a price for a product and a given quantity. Start by setting the Name of this associated version. If the list only has a single version, you can use the same name for the pricelist and the version. In the Price List field, select the pricelist you created (this is not necessary if you create the version directly from the pricelist).
Then set the Start Date and End Date of this version. The fields are both optional: if you do not set any dates the version will be permanently active. Only one version may be active at any one point, so bear this in mind when creating them. Use the Active field in the versions to activate or disable a pricelist version.
Automatically Updating the Sales Pricelist
Any sales pricelist can be set to depend on one of the other pricelists. So you could create your sales pricelist based on the supplier’s purchase pricelist, to which you add a margin. The prices are automatically calculated as a function of the purchase price and need no further manual adjustment.
Calculation Rules
A pricelist version is made up of a set of rules that apply to the basic product prices.
Figure 14.9: Rule in a Pricelist Version
You define the conditions for a rule in the first part of the screen labelled Rules Test Match. The rule applies to the Product or Product Template and/or the named Product Category. If a rule is applied to a category, then it is automatically applied to all of its subcategories too (using the tree structure for product categories).
If you set a minimum quantity in Min. Quantity, the rule will only apply to a quantity equal to or larger than the quantity set. This way, you can define reduced rates in steps according to the quantities ordered.
Several rules can be applied to an order. OpenERP evaluates these rules by sequence number, to determine which rule(s) to apply to the specified price calculation. If several rules are valid, only the first in sequence is used for the calculation. The Sequence field determines the order, starting with the lowest number and working up.
Once a rule has been selected, the system has to determine how to calculate the price from the rule. This operation is based on the criteria set out in the lower part of the form, labelled Price Computation. The first field to complete is Based on. Set the way in which the partner price will be calculated, choosing between:
• the Public Price set in the product file, • the Cost Price set in the product file,
CHAPTER 14. ADVANCED FEATURES 127 • an Other Pricelist given in the field If Other Pricelist,
• the price that varies as a function of a supplier defined in the Partner section of the product form. Next, various operations can be applied to the basic price to calculate the sales or purchase price for the partner, according to the specified quantities. To calculate it, you apply the formula shown on the form: Price = Base Price x (1 + Field1) + Field2.
The first field, Field1, defines a discount. Set it to 0.20 for a discount of 20% from the basic price. If your price is based on standard cost, you can set -0.15 to get a 15% price uplift compared to the standard costs.
Field2sets a fixed supplement to the price, expressed in the currency of the pricelist. This amount is just added (or subtracted, if negative) to the amount calculated with the Field1 discount.
Then you can specify a rounding method. The rounding calculation is carried out to the nearest number. For example if you set 0.05 in this example, a price of 45.66 will be rounded to 45.65, and 14,567 rounded to 100 will give a price of 14,600.
The supplement from Field2 is applied before the rounding calculation, which enables some interesting effects. For example, if you want all your prices to end in 9.99, set your rounding to 10 and your supplement to -0.01 in Field2.
Minimum and Maximum margins enable you to guarantee a given margin over the base price. A margin of 10 USD enables you to stop the discount from returning less than that margin. If you put 0 into this field, no effect is taken into account.
Once the pricelist is defined, you can assign it to a partner. Go to the Partner form and select its Sales & Purchasestab. You can then change the Purchase Pricelist and the Sale Pricelist that is loaded by default for the partner.
Decimal Accuracy
There are several configuration settings related to the decimal accuracy of prices, or the number of decimal places to hold with each price field. To change the accuracy of a field, follow these steps:
1. Make sure you have the Extended user interface. The setting is in your user preferences. 2. Go to Administration → Customization → Database Structure → Decimal Accuracy. This list
contains a number of predefined elements.
3. Open the entry you want to change. Purchase Price and Sale Price are the most common ones related to prices, but some fields are controlled by the Account entry.
4. Type a new value in the digits field, and save the entry. Do not change the description in the Usagefield, or it will stop working.
5. Close the screen where you were editing prices and reopen it. The price field should now have the number of digits you asked for.