4
<html xmlns="http://www.w3.org/1999/xhtml">
6
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
<title>Advanced Features — OpenERP Book 8.0 documentation</title>
10
<link rel="stylesheet" href="../../_static/basic.css" type="text/css" />
11
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
12
<link rel="stylesheet" href="../../_static/bootswatch-3.1.0/flatly/bootstrap.min.css" type="text/css" />
13
<link rel="stylesheet" href="../../_static/bootstrap-sphinx.css" type="text/css" />
15
<script type="text/javascript">
16
var DOCUMENTATION_OPTIONS = {
19
COLLAPSE_INDEX: false,
24
<script type="text/javascript" src="../../_static/jquery.js"></script>
25
<script type="text/javascript" src="../../_static/underscore.js"></script>
26
<script type="text/javascript" src="../../_static/doctools.js"></script>
27
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
28
<script type="text/javascript" src="../../_static/js/jquery-1.11.0.min.js"></script>
29
<script type="text/javascript" src="../../_static/js/jquery-fix.js"></script>
30
<script type="text/javascript" src="../../_static/bootstrap-3.1.0/js/bootstrap.min.js"></script>
31
<script type="text/javascript" src="../../_static/bootstrap-sphinx.js"></script>
32
<link rel="top" title="OpenERP Book 8.0 documentation" href="../../index.html" />
33
<link rel="up" title="Closing your Deals: from Quotation to Sales Order" href="index.html" />
34
<link rel="next" title="Key Features HR" href="../../part04/index.html" />
35
<link rel="prev" title="Managing your Sales Quotations" href="sales_quotations.html" />
37
<meta charset='utf-8'>
38
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
39
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
40
<meta name="apple-mobile-web-app-capable" content="yes">
42
<script type="text/javascript">
43
var _gaq = _gaq || [];
44
_gaq.push(['_setAccount', 'UA-47926740-1']);
45
_gaq.push(['_trackPageview']);
48
<meta name="google-translate-customization" content="1a9f16396f329347-27b519b501ddf27d-gbee5ada102d015d0-f"></meta>
50
<!-- AddThis Smart Layers BEGIN -->
51
<!-- Go to http://www.addthis.com/get/smart-layers to customize -->
52
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-530c64087def677e"></script>
53
<script type="text/javascript">
55
'theme' : 'transparent',
58
'numPreferredServices' : 5
62
<!-- AddThis Smart Layers END -->
68
<div id="navbar" class="navbar navbar-default navbar-fixed-top">
69
<div class="container">
70
<div class="navbar-header">
71
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
72
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
73
<span class="icon-bar"></span>
74
<span class="icon-bar"></span>
75
<span class="icon-bar"></span>
77
<a class="navbar-brand" href="../../index.html">
79
<span class="navbar-text navbar-version pull-left"><b>8.0</b></span>
82
<div class="collapse navbar-collapse nav-collapse">
83
<ul class="nav navbar-nav">
84
<li class="divider-vertical"></li>
87
<li class="dropdown globaltoc-container">
90
data-toggle="dropdown"
92
href="../../index.html">Site <b class="caret"></b></a>
93
<ul class="dropdown-menu globaltoc"
95
aria-labelledby="dLabelGlobalToc"><ul>
96
<li class="toctree-l1"><a class="reference internal" href="../../about/index.html">About OpenERP Online Book !</a></li>
97
<li class="toctree-l1"><a class="reference internal" href="../../download/index.html">Looking for OpenERP Demo ?</a></li>
98
<li class="toctree-l1"><a class="reference internal" href="../../install/index.html">Installation on Windows, Linux and MacOS</a></li>
99
<li class="toctree-l1"><a class="reference internal" href="../../part01/index.html">Getting start with OpenERP</a></li>
100
<li class="toctree-l1"><a class="reference internal" href="../../install-apps/index.html">Install and configure OpenERP Apps</a></li>
101
<li class="toctree-l1"><a class="reference internal" href="../../part03/index.html">Setup your First Company in OpenERP</a></li>
102
<li class="toctree-l1"><a class="reference internal" href="../../part02/index.html">Leads to Cash Flow with OpenERP</a></li>
105
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Boost your Sales</a></li>
108
<li class="toctree-l1"><a class="reference internal" href="../../part04/index.html">Key Features HR</a></li>
111
<li class="toctree-l1"><a class="reference internal" href="../../prod-setup/index.html">Deploy OpenERP in Production</a></li>
112
<li class="toctree-l1"><a class="reference internal" href="../../backup/index.html">OpenERP Backup and Restore</a></li>
117
<li class="dropdown">
120
data-toggle="dropdown"
122
href="#">Page <b class="caret"></b></a>
123
<ul class="dropdown-menu localtoc"
125
aria-labelledby="dLabelLocalToc"><ul>
126
<li><a class="reference internal" href="#">Advanced Features</a><ul>
127
<li><a class="reference internal" href="#defining-packaging">Defining Packaging</a></li>
128
<li><a class="reference internal" href="#managing-alerts">Managing Alerts</a></li>
129
<li><a class="reference internal" href="#controlling-deliveries-and-invoicing">Controlling Deliveries and Invoicing</a><ul>
130
<li><a class="reference internal" href="#configuring-orders">Configuring Orders</a></li>
133
<li><a class="reference internal" href="#managing-carriers">Managing Carriers</a><ul>
134
<li><a class="reference internal" href="#tariff-grids">Tariff Grids</a></li>
135
<li><a class="reference internal" href="#delivery-modes">Delivery Modes</a></li>
138
<li><a class="reference internal" href="#keeping-track-of-your-margins">Keeping Track of your Margins</a><ul>
139
<li><a class="reference internal" href="#margins-on-sales-orders">Margins on Sales Orders</a></li>
140
<li><a class="reference internal" href="#margins-by-product">Margins by Product</a></li>
143
<li><a class="reference internal" href="#pricing-policies">Pricing Policies</a><ul>
144
<li><a class="reference internal" href="#creating-pricelists">Creating Pricelists</a><ul>
145
<li><a class="reference internal" href="#pricelist-versions">PriceList Versions</a></li>
146
<li><a class="reference internal" href="#calculation-rules">Calculation Rules</a></li>
147
<li><a class="reference internal" href="#decimal-accuracy">Decimal Accuracy</a></li>
150
<li><a class="reference internal" href="#example-of-a-pricelist">Example of a Pricelist</a><ul>
151
<li><a class="reference internal" href="#default-price-lists">Default Price Lists</a></li>
152
<li><a class="reference internal" href="#trading-company">Trading Company</a></li>
153
<li><a class="reference internal" href="#establishing-customer-contract-conditions">Establishing Customer Contract Conditions</a></li>
156
<li><a class="reference internal" href="#pricelists-and-managing-currencies">Pricelists and Managing Currencies</a></li>
159
<li><a class="reference internal" href="#rebates-at-the-end-of-a-campaign">Rebates at the End of a Campaign</a></li>
160
<li><a class="reference internal" href="#keeping-track-of-open-orders">Keeping track of Open Orders</a></li>
161
<li><a class="reference internal" href="#changing-order-layout">Changing Order Layout</a></li>
162
<li><a class="reference internal" href="#invoice-analysis"> Invoice Analysis</a></li>
173
<a href="sales_quotations.html" title="Previous Chapter: Managing your Sales Quotations"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm">« Managing your Sa...</span>
177
<a href="../../part04/index.html" title="Next Chapter: Key Features HR"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm">Key Features HR »</span>
184
<li class="hidden-sm"></li>
190
<form class="navbar-form navbar-right" action="../../search.html" method="get">
191
<div class="form-group">
192
<input type="text" name="q" class="form-control" placeholder="Search" />
194
<input type="hidden" name="check_keywords" value="yes" />
195
<input type="hidden" name="area" value="default" />
202
<div class="container">
204
<div class="col-md-12">
209
<div class="section" id="advanced-features">
210
<h1>Advanced Features<a class="headerlink" href="#advanced-features" title="Permalink to this headline">¶</a></h1>
211
<div class="section" id="defining-packaging">
212
<h2>Defining Packaging<a class="headerlink" href="#defining-packaging" title="Permalink to this headline">¶</a></h2>
213
<p>Products can be managed in several packaged forms. For example, if you sell
214
batteries you can define the following packages for a given battery product:</p>
216
<li>Piece: a battery,</li>
217
<li>Blister Pack: a pack of 4 batteries,</li>
218
<li>Pack of 100 blisters: 400 batteries,</li>
219
<li>Palette: 40 packs for a total of 16,000 batteries.</li>
221
<p>OpenERP’s package management enables you to sell the same product in several different forms. The
222
salesperson could sell separately one battery or a palette of batteries. In the order, you can
223
select the default packaging type as a function of the quantities ordered.</p>
224
<p>For example, if the customer wants to buy 30,000 batteries, the salesperson can select the <tt class="docutils literal"><span class="pre">palette</span></tt> package. OpenERP will then propose to sell 32,000 batteries, which corresponds to two palettes. Or the salesperson can select 75 packs.</p>
225
<p>The available packages are defined in the product form, in the <em class="guilabel">Packaging</em> tab. The first item on the
226
list is the one that will be used by default.</p>
227
<p>Once a package has been defined on the order, OpenERP will throw up an alert if the ordered
228
quantities do not correspond to the proposed packages. The quantity must be a multiple of the field
229
<em class="guilabel">Quantity by Package</em> defined on the packaging form.</p>
230
<div class="figure align-center">
231
<a class="reference internal image-reference" href="../../_images/sale_warning_packaging.png"><img alt="../../_images/sale_warning_packaging.png" src="../../_images/sale_warning_packaging.png" style="width: 534.0px; height: 93.75px;" /></a>
232
<p class="caption"><em>Alert on the Quantities sold compared to the Packaging</em></p>
234
<p>Do not confuse the management of packaging with the management of multiple units of measure. The
235
Unit of Measure is used to manage the stock differently according to the various units.
236
With packages, the stock is always managed by individual items, but information about the package to use is supplied
237
to the storesperson along with that item.</p>
238
<p>Even if the effects are the same, the printed documents will be different. The two following
239
operations have the same effect on stock movement levels, but will be printed differently
240
on the sales order and the packing order as where quantities are concerned:</p>
242
<li>32,000 batteries, delivered on two palettes,</li>
243
<li>2 palettes of batteries, with no information about packaging.</li>
245
<p>If the customer wants to order a palette and 10 packs, the salesperson can put two order
246
lines on the sales order using the same product with different units of measure.</p>
247
<p>It is sometimes more useful to define different products than to define several packages for
248
the same product. A case of beer in a supermarket is a good example. A case holds 24 bottles, plus
249
the empty case itself. The customer can buy bottles by the piece or a case of 24 bottles at one go.</p>
250
<p>You could define two packages for the <tt class="docutils literal"><span class="pre">Bottle</span> <span class="pre">of</span> <span class="pre">beer</span></tt>: <tt class="docutils literal"><span class="pre">PCE</span></tt> and <tt class="docutils literal"><span class="pre">case</span></tt> . But this
251
representation does not let you manage the stock and price of empty cases. So you might instead
252
prefer a Bill of Materials, defining and using three different products:</p>
254
<li>the empty case for the beer,</li>
255
<li>the bottle of beer,</li>
256
<li>the case of 24 bottles of beer.</li>
258
<p>You also define the bill of materials below which determines the make-up of the case of 24 beers:</p>
260
<li>Case of 24 bottles of beer: 1 unit,</li>
261
<li>Bottle of beer: 24 units,</li>
262
<li>Empty case of beer: 1 unit.</li>
264
<p>Each of these three products has a different price. The products <tt class="docutils literal"><span class="pre">Bottle</span> <span class="pre">of</span> <span class="pre">beer</span></tt> and <tt class="docutils literal"><span class="pre">Empty</span> <span class="pre">case</span> <span class="pre">of</span> <span class="pre">beer</span></tt> have a stock level that needs to be managed. The <tt class="docutils literal"><span class="pre">Case</span> <span class="pre">of</span> <span class="pre">24</span> <span class="pre">bottles</span> <span class="pre">of</span> <span class="pre">beer</span></tt> has no stock because, if you sell the product, OpenERP automatically moves the stock in two lines, one for the empty case and the other for the 24 individual bottles of beer.</p>
266
<div class="section" id="managing-alerts">
267
<h2>Managing Alerts<a class="headerlink" href="#managing-alerts" title="Permalink to this headline">¶</a></h2>
268
<p id="index-0">To manage alerts on products or partners, you can install the <tt class="xref py py-mod docutils literal"><span class="pre">warning</span></tt> module. Once that is
269
installed, you will be able to configure a series of alerts on the partners or products by
270
setting parameters in the new <em class="guilabel">Warnings</em> tab on each of the forms.</p>
271
<p>You can select any of the following types of warnings and create different warnings for purchases and for sales:</p>
273
<li><em class="guilabel">No Message</em>: This option will not display a message.</li>
274
<li><em class="guilabel">Warning</em>: This option will show the user the message entered.</li>
275
<li><em class="guilabel">Blocking Message</em>: The message displayed will cause an exception and block the workflow.</li>
277
<p>You can activate alerts for a series of events. For each alert, you should enter a message that will
278
be displayed when the event concerned is started.</p>
279
<div class="figure align-center">
280
<a class="reference internal image-reference" href="../../_images/warning_partner.png"><img alt="../../_images/warning_partner.png" src="../../_images/warning_partner.png" style="width: 495.75px; height: 408.0px;" /></a>
281
<p class="caption"><em>Management of alerts on partners</em></p>
283
<p>The available warnings in the partner form are:</p>
285
<li>Create a warning for a sales order,</li>
286
<li>Create a warning for a purchase order,</li>
287
<li>Create a warning for a delivery to a partner (or receiving an item),</li>
288
<li>Create a warning when invoicing a partner.</li>
290
<p>For example, if you enter an alert for the invoicing of a customer, for an accountant entering an
291
invoice for that customer, the alert message will be attached as shown in the figure <a class="reference internal" href="#fig-warnsmp"><em>Alert from Invoicing a Customer</em></a>.</p>
292
<div class="figure align-center" id="fig-warnsmp">
293
<a class="reference internal image-reference" href="../../_images/warning_sample.png"><img alt="../../_images/warning_sample.png" src="../../_images/warning_sample.png" style="width: 503.25px; height: 321.75px;" /></a>
294
<p class="caption"><em>Alert from Invoicing a Customer</em></p>
296
<div class="figure align-center">
297
<a class="reference internal image-reference" href="../../_images/warning_product.png"><img alt="../../_images/warning_product.png" src="../../_images/warning_product.png" style="width: 497.25px; height: 264.75px;" /></a>
298
<p class="caption"><em>Management of Alerts on Products</em></p>
300
<p>The alerts that can be configured on a product form are related to:</p>
302
<li>The sales of that product,</li>
303
<li>The purchase of that product.</li>
305
<p>A practical example:</p>
306
<p>Now when could you use such an alert? Suppose that your customer asks you to never make any deliveries on Tuesday morning, because the street is blocked due to a weekly market. You surely would like your transporter to be aware of this, so it could be useful to have a kind of message printed by default on each delivery order for this customer.
307
To do this, you could create a Warning on the Picking in the <strong>Customer</strong> form of the partner concerned, saying that no deliveries are allowed on Tuesday morning.</p>
309
<div class="section" id="controlling-deliveries-and-invoicing">
310
<h2>Controlling Deliveries and Invoicing<a class="headerlink" href="#controlling-deliveries-and-invoicing" title="Permalink to this headline">¶</a></h2>
311
<div class="section" id="configuring-orders">
312
<h3>Configuring Orders<a class="headerlink" href="#configuring-orders" title="Permalink to this headline">¶</a></h3>
313
<p id="index-1">The way the order is configured will determine its future behaviour:</p>
315
<li><em class="guilabel">Picking Policy</em> : <tt class="docutils literal"><span class="pre">Partial</span> <span class="pre">Delivery</span></tt> or <tt class="docutils literal"><span class="pre">Complete</span> <span class="pre">Delivery</span></tt>,</li>
316
<li><em class="guilabel">Shipping Policy</em> : <tt class="docutils literal"><span class="pre">Shipping</span> <span class="pre">&</span> <span class="pre">Manual</span> <span class="pre">Invoice</span></tt>, <tt class="docutils literal"><span class="pre">Payment</span> <span class="pre">Before</span> <span class="pre">Delivery</span></tt>,
317
<tt class="docutils literal"><span class="pre">Invoice</span> <span class="pre">on</span> <span class="pre">Order</span> <span class="pre">After</span> <span class="pre">Delivery</span></tt>, and <tt class="docutils literal"><span class="pre">Invoice</span> <span class="pre">from</span> <span class="pre">Delivery</span></tt>,</li>
318
<li><em class="guilabel">Invoice on</em> : <tt class="docutils literal"><span class="pre">Ordered</span> <span class="pre">Quantities</span></tt> or <tt class="docutils literal"><span class="pre">Shipped</span> <span class="pre">Quantities</span></tt>.</li>
320
<div class="admonition tip">
321
<p class="first admonition-title">Tip</p>
322
<p>Configuring your Interface</p>
323
<p class="last">If you work in the <tt class="docutils literal"><span class="pre">Simplified</span></tt> view mode, only the <em class="guilabel">Shipping Policy</em> field is visible
324
in the second order tab.
325
To get to the <tt class="docutils literal"><span class="pre">Extended</span></tt> view mode, go to the <em class="guilabel">Edit Preferences</em> link and select the interface of your choice.
326
You can also use the <em class="guilabel">Reconfigure</em> wizard and configure your interface as <em class="guilabel">Extended</em>, or assign the group
327
<em class="guilabel">Usability – Extended View</em> to the current user.</p>
329
<p>The picking mode determines the way the storesperson will do the picking. If the order is put
330
into <em class="guilabel">Partial Delivery</em> mode, the picking order will appear in the list of things for the
331
storesperson to do as soon as any of the products on the order is available. To get the list of
332
items to be done, you can use the menu <em class="menuselection">Warehouse ‣ Outgoing Deliveries</em>.
333
By default, the <em class="guilabel">Available</em> filter button is selected, so you immediately see the list of available pickings.</p>
334
<p>The storesperson will then be able to make a partial delivery of the quantities actually available
335
and do a second picking operation later when the remaining products are available in stock.</p>
336
<p>If the picking mode is <em class="guilabel">Complete Delivery</em>, the picking order will not appear in the list of
337
pickings to do until all of the products are available in stock. This way, there will only be a
338
single delivery for any such order.</p>
339
<p>If the storesperson wants to do so, the delivery mode can be modified on each picking list even after the
340
order has been confirmed.</p>
341
<p>In the case of invoicing from picking, the cost of delivering the products will be
342
calculated according to multiple deliveries. This risks incurring a higher cost because of
343
the separate deliveries. If invoicing is done from the order, the customer will only be invoiced
344
once for the whole delivery, even if the delivery of several items has already been made.</p>
347
<div class="section" id="managing-carriers">
348
<h2>Managing Carriers<a class="headerlink" href="#managing-carriers" title="Permalink to this headline">¶</a></h2>
349
<p id="index-2">To manage deliveries in OpenERP, you can install the <tt class="xref py py-mod docutils literal"><span class="pre">delivery</span></tt> module.
350
To do that, use the <em class="guilabel">Reconfigure</em> wizard and select <em class="guilabel">Delivery Costs</em> under the <em class="guilabel">Sales Application Configuration</em> section for installation.</p>
351
<p>This module enables you to manage:</p>
353
<li>the different carriers with whom you work,</li>
354
<li>the different transport methods,</li>
355
<li>cost calculation and invoicing of each delivery,</li>
356
<li>the transport methods and their tariffs.</li>
358
<p>Once the <tt class="xref py py-mod docutils literal"><span class="pre">delivery</span></tt> module has been installed, the first thing to do is to configure the different
359
modes of delivery accepted by your company. Go to the menu <em class="menuselection">Warehouse
360
‣ Configuration ‣ Delivery ‣ Delivery Method</em> to create your company’s delivery modes.</p>
361
<p>For each delivery mode, you should define the following elements:</p>
363
<li>Name of the delivery mode,</li>
364
<li>The partner associated with the transport (which can be your own company),</li>
365
<li>The associated product.</li>
367
<p>Let’s give you an example:</p>
368
<table border="1" class="docutils">
369
<caption>Example Delivery Modes</caption>
375
<thead valign="bottom">
376
<tr class="row-odd"><th class="head">Carrier</th>
377
<th class="head">Carrier Partner</th>
378
<th class="head">Delivery Product</th>
382
<tr class="row-even"><td>Express Track</td>
384
<td>Express Track Delivery</td>
386
<tr class="row-odd"><td>Priority Courier</td>
388
<td>Courier Express Delivery</td>
390
<tr class="row-even"><td>EFG Standard</td>
392
<td>Delivery EFG</td>
394
<tr class="row-odd"><td>EFG Express</td>
396
<td>Delivery EFG Express</td>
400
<p>Information about the invoicing of transport (such as accounts, applicable taxes) is entered in the
401
product linked to the delivery mode. Ideally the product should be configured with
402
<em class="guilabel">Product Type</em> <tt class="docutils literal"><span class="pre">Service</span></tt> and <em class="guilabel">Procurement Method</em> <tt class="docutils literal"><span class="pre">Make</span> <span class="pre">to</span> <span class="pre">Stock</span></tt>.</p>
403
<p>You can use the same product for several delivery modes. This simplifies the
404
configuration, but it has the disadvantage that you will not be able to separate your sales figures by delivery mode.</p>
405
<div class="section" id="tariff-grids">
406
<h3>Tariff Grids<a class="headerlink" href="#tariff-grids" title="Permalink to this headline">¶</a></h3>
407
<p>Unlike ordinary products, delivery prices are not proposed through pricelists but through delivery grids,
408
designed specifically for this purpose. For each delivery mode, you enter one or several tariff grids.
409
Each grid is used for a given region/destination.</p>
410
<p>For example, for the postal tariffs for Priority Courier, you generally define the three tariff grids
413
<li>National Courier,</li>
414
<li>Courier in Europe,</li>
415
<li>Courier Outside Europe.</li>
417
<p>To define a new delivery grid, use the menu <em class="menuselection">Warehouse ‣ Configuration ‣
418
Delivery ‣ Delivery Pricelist</em>. Give a name to your delivery grid and define the
419
region for which the tariffs in the grid will apply in the second tab
420
<em class="guilabel">Destination</em>. There you can set:</p>
422
<li>A list of countries (for UK or Europe, for example),</li>
423
<li>A list of states,</li>
424
<li>A range of postal codes (for Paris you might have 75000 – 75900).</li>
426
<p>Then you have to set the rules for calculating the transport price in the first tab <em class="guilabel">Grid definition</em>.
427
First of all, give the rule a name. Then set the condition for which this rule is applicable, for
428
example <tt class="docutils literal"><span class="pre">Weight</span> <span class="pre"><</span> <span class="pre">0.5kg</span></tt>.</p>
429
<div class="admonition note">
430
<p class="first admonition-title">Note</p>
432
<p class="last">Weights are always expressed in kilograms. You can define a number with a decimal point or comma, so
433
to set 500g you would put 0.5 in the weight rule.</p>
435
<p>Next you can set the sales price and the cost price. Prices can be expressed in various ways:</p>
437
<li>a fixed price,</li>
438
<li>a variable price, as a function of weight, volume, weight x volume or price.</li>
440
<p>For example, mailing within France using current tariffs would be defined as shown in the table below:</p>
441
<table border="1" class="docutils">
442
<caption>Example Tariff Rules</caption>
449
<thead valign="bottom">
450
<tr class="row-odd"><th class="head">Name</th>
451
<th class="head">Condition</th>
452
<th class="head">Price</th>
453
<th class="head">Price Type</th>
457
<tr class="row-even"><td>S</td>
458
<td>Weight < 3 kg</td>
462
<tr class="row-odd"><td>M</td>
463
<td>Weight < 5 kg</td>
467
<tr class="row-even"><td>L</td>
468
<td>Weight < 6 kg</td>
472
<tr class="row-odd"><td>XL</td>
473
<td>Weight < 7 kg</td>
479
<p>You can also define rules that depend on the total amount on the order. For example to offer fixed price
480
delivery if the total order amount is greater than 150 USD, add the following rule:</p>
481
<table border="1" class="docutils">
482
<caption>Additional Tariff Rule</caption>
489
<thead valign="bottom">
490
<tr class="row-odd"><th class="head">Name</th>
491
<th class="head">Condition</th>
492
<th class="head">Price</th>
493
<th class="head">Price Type</th>
497
<tr class="row-even"><td>Franked > 150 USD</td>
498
<td>Price > 150 USD</td>
505
<div class="section" id="delivery-modes">
506
<h3>Delivery Modes<a class="headerlink" href="#delivery-modes" title="Permalink to this headline">¶</a></h3>
507
<p>Once the delivery modes and their corresponding tariffs have been defined, you can use them in a Sales Order.
508
There are two methods for doing that in OpenERP.</p>
510
<li>Delivery based on Ordered Quantities,</li>
511
<li>Delivery based on Shipped Quantities.</li>
513
<p><em>Delivery based on Ordered Quantities</em></p>
514
<p>To add the delivery charges (or transport costs) to the quotation, use the button <em class="guilabel">Delivery Costs</em> available on the <cite>Sales Order</cite> tab of the form. A dialog box opens, asking you to select a delivery mode from the list available.</p>
515
<div class="figure align-center">
516
<a class="reference internal image-reference" href="../../_images/sale_delivery.png"><img alt="../../_images/sale_delivery.png" src="../../_images/sale_delivery.png" style="width: 485.25px; height: 129.75px;" /></a>
517
<p class="caption"><em>Adding Transport Costs to an Order</em></p>
519
<p>Once the delivery mode has been selected, OpenERP automatically adds a line to the quotation with
520
the amount calculated by the delivery function.</p>
521
<p>If you want to calculate the exact delivery charges depending on the actual deliveries, you must use
522
invoicing based on deliveries.</p>
523
<p><em>Delivery based on Shipped Quantities</em></p>
524
<p>To invoice the delivery according to the items shipped, you set the delivery mode in the
525
<em class="guilabel">Delivery Method</em> field on the second tab of the order, <em class="guilabel">Other Information</em>, to <em class="guilabel">Invoice from Delivery</em>.</p>
526
<p>You can then confirm the order, and when the goods are available you can also validate the delivery order.</p>
527
<p>The transport costs will not be added to the sales order, but only to the invoice.
528
When the manager has generated the invoices corresponding to the deliveries carried out,
529
OpenERP automatically adds a line on each invoice corresponding to the delivery charge, calculated
530
on the basis of the items actually sent.</p>
533
<div class="section" id="keeping-track-of-your-margins">
534
<h2>Keeping Track of your Margins<a class="headerlink" href="#keeping-track-of-your-margins" title="Permalink to this headline">¶</a></h2>
535
<p>For every company, keeping a clear sight on and a good control of margins is crucial. Even if you have a good sales level, it will not guarantee company profitability if margins are not high enough. OpenERP provides a number of methods allowing you to monitor your sales margins. The main ones are:</p>
537
<li>Margins on a sales order,</li>
538
<li>Margins by product,</li>
539
<li>Margins by project (not explained in this book),</li>
540
<li>Using pricelists.</li>
542
<div class="section" id="margins-on-sales-orders">
543
<h3>Margins on Sales Orders<a class="headerlink" href="#margins-on-sales-orders" title="Permalink to this headline">¶</a></h3>
544
<p id="index-3">If you want to check your margins on sales orders, you can install the <tt class="xref py py-mod docutils literal"><span class="pre">sale_margin</span></tt> module
545
by selecting <em class="guilabel">Margins in Sales Orders</em> for installation in the <em class="guilabel">Reconfigure</em> wizard.
546
This will add margins calculated on each order line and on the order total.</p>
547
<div class="figure align-center">
548
<a class="reference internal image-reference" href="../../_images/sale_margin.png"><img alt="../../_images/sale_margin.png" src="../../_images/sale_margin.png" style="width: 657.0px; height: 369.0px;" /></a>
549
<p class="caption"><em>An order with the module sale_margin</em></p>
551
<p>The margin on each line is defined as the quantity sold multiplied by the sales price for the
552
customer less the cost price of the products. By default, products are managed using standard price
553
in OpenERP (cost price fixed manually and reviewed once per year). You can change that to
554
<tt class="docutils literal"><span class="pre">Average</span> <span class="pre">Price</span></tt>, meaning that the product cost fluctuates with purchases from
555
suppliers. After product receipt you can include fixed costs, such as delivery costs, in the cost of
557
<p id="index-4">OpenERP supports a third method of updating the cost price of products.
558
This is through the button <em class="guilabel">Update</em> on the product form which lets you
559
automatically recalculate the cost price for the selected product.
560
The cost price is calculated from the raw materials and the operations carried out
561
(if the products have been manufactured internally, so that you have set their costs).</p>
563
<div class="section" id="margins-by-product">
564
<h3>Margins by Product<a class="headerlink" href="#margins-by-product" title="Permalink to this headline">¶</a></h3>
565
<p id="index-5">To track margins by product, install the module <tt class="xref py py-mod docutils literal"><span class="pre">product_margin</span></tt>. Once the module
566
is installed you can see the margins by product by using the menu <em class="menuselection">Sales ‣ Products
567
‣ Product Margins</em>.</p>
568
<p>When you have clicked the menu option concerned, OpenERP asks for an analysis period and the state of invoices (draft, open, paid). If
569
no period is given, OpenERP will calculate margins on all of the operations without restriction. By
570
default, however, OpenERP proposes a period of the last 12 months for analysis.</p>
571
<p>You can also filter the analysis on certain types of invoice:</p>
573
<li>All invoices, including unvalidated draft invoices,</li>
574
<li>All open and/or paid invoices,</li>
575
<li>Paid invoices only.</li>
577
<div class="figure align-center">
578
<a class="reference internal image-reference" href="../../_images/product_margin_tree.png"><img alt="../../_images/product_margin_tree.png" src="../../_images/product_margin_tree.png" style="width: 607.5px; height: 366.0px;" /></a>
579
<p class="caption"><em>Product Margins</em></p>
581
<p>You then get a margin analysis table. The following fields are displayed for the sales of each product:</p>
583
<li><em class="guilabel">Avg. Unit Price</em>: the average unit sales price,</li>
584
<li><em class="guilabel">Catalog Price</em>: the list price based on this product,</li>
585
<li><em class="guilabel"># Invoiced</em>: the number of sold products that have been invoiced,</li>
586
<li><em class="guilabel">Sales Gap</em>: the difference between the revenue calculated from list price and volume, and the actual sales,</li>
587
<li><em class="guilabel">Turnover</em>: the actual sales revenue for the product selected,</li>
588
<li><em class="guilabel">Expected Sale</em>: the number of products sold multiplied by the list price.</li>
590
<div class="figure align-center">
591
<a class="reference internal image-reference" href="../../_images/product_margin_form.png"><img alt="../../_images/product_margin_form.png" src="../../_images/product_margin_form.png" style="width: 495.75px; height: 369.75px;" /></a>
592
<p class="caption"><em>Margin Details for a Given Product</em></p>
594
<p>The following fields are given by product for purchases:</p>
596
<li><em class="guilabel">Avg. Unit price</em>: the average unit purchase price,</li>
597
<li><em class="guilabel">Standard price</em>: the standard cost price of the product for the company,</li>
598
<li><em class="guilabel"># Invoiced</em>: the number of purchased products,</li>
599
<li><em class="guilabel">Purchase Gap</em>: the difference between the total actual cost and the standard cost
600
multiplied by the number of units purchased,</li>
601
<li><em class="guilabel">Total Cost</em>: the total cost of purchases for the product under consideration,</li>
602
<li><em class="guilabel">Normal Cost</em>: the number of products sold multiplied by the standard cost price.</li>
604
<p>The following fields are given by product for margins:</p>
606
<li><em class="guilabel">Total Margin</em>,</li>
607
<li><em class="guilabel">Expected Margin</em>,</li>
608
<li><em class="guilabel">Total Margin in percent</em>,</li>
609
<li><em class="guilabel">Expected Margin in percent</em>.</li>
613
<div class="section" id="pricing-policies">
614
<h2>Pricing Policies<a class="headerlink" href="#pricing-policies" title="Permalink to this headline">¶</a></h2>
615
<p>Some companies are notorious for their complicated pricelists. Many forms of price variation are
616
used, such as end-of-year refunds, discounts, change of terms and conditions with time, various
617
prepayments, cascaded rebates, seasonal promotions, and progressive price reductions.</p>
618
<div class="admonition note">
619
<p class="first admonition-title">Note</p>
620
<p>Rebate, Refund, Reduction</p>
621
<p>In some accounting jurisdictions you have to differentiate between the three following terms:</p>
622
<ul class="last simple">
623
<li>Rebate: reimbursement to the client, usually at the end of the year, that depends on the
624
quantity of goods purchased over a period.</li>
625
<li>Refund: reduction on the order line or invoice line if a certain quantity of goods is purchased
626
at one time or is sold in a framework of a promotional activity.</li>
627
<li>Reduction: a one-off reduction resulting from a quality defect or a variation in a product’s
628
conformance to a specification.</li>
631
<p>Intelligent price management is difficult, because it requires you to integrate several conditions
632
from clients and suppliers to create estimates quickly or to invoice automatically. But if you have
633
an efficient price management mechanism you can often keep margins raised and respond quickly to
634
changes in market conditions. A good price management system gives you scope for varying any and all
635
of the relevant factors when you are negotiating a contract.</p>
636
<p>To help you work most effectively, OpenERP’s pricelist principles are extremely powerful yet are
637
based on simple and generic rules. You can develop both sales pricelists and purchase pricelists for
638
products capable of accommodating conditions such as the date period, the quantity requested and the
640
<div class="admonition tip">
641
<p class="first admonition-title">Tip</p>
642
<p>Do not confuse the Different Price Specifications</p>
643
<p>Do not confuse the sales price with the basic price of the product.
644
In OpenERP’s basic configuration, the sales price is the list price specified in the product form,
645
but a customer can have a different sales price depending on the conditions.</p>
646
<p class="last">The same applies to the purchase price and standard cost. Purchase price is your suppliers’ selling price,
647
which changes in response to different criteria such as quantities, dates, and supplier. This is
648
automatically set by the accounting system.</p>
650
<p>Each pricelist is calculated from defined policies, so you will have as many sales pricelists as
651
active sales policies in the company. For example, a company that sells products through three sales
652
channels could create the following price lists:</p>
654
<div><ol class="arabic">
655
<li><p class="first">Main distribution:</p>
657
<div><ul class="simple">
658
<li>pricelist for Walbury,</li>
659
<li>pricelist for TesMart,</li>
663
<li><p class="first">Postal Sales.</p>
665
<li><p class="first">Walk-in customers.</p>
669
<p>A single pricelist can exist in several versions, only one of which is permitted to be active at a
670
given time. These versions let you set different prices at different points in time. So the
671
pricelist for walk-in customers could have five different versions, for example: <tt class="docutils literal"><span class="pre">Autumn</span></tt>,
672
<tt class="docutils literal"><span class="pre">Summer</span></tt>, <tt class="docutils literal"><span class="pre">Summer</span> <span class="pre">Sales</span></tt>, <tt class="docutils literal"><span class="pre">Winter</span></tt>, <tt class="docutils literal"><span class="pre">Spring</span></tt>. Direct customers will see prices
673
that change with the seasons.</p>
674
<p>Each pricelist is expressed in a single currency. If your company sells products in several
675
currencies, you will have to create as many pricelists as you have currencies.</p>
676
<p>The prices on a pricelist can depend on another list, which means that you do not have to repeat the
677
definition of all conditions for each product. So a pricelist in USD can be based on a pricelist in
678
EUR. If the currency conversion rates between EUR and USD change, or the EUR prices change, the USD
679
rates can be <strong>automatically</strong> adjusted.</p>
680
<div class="section" id="creating-pricelists">
681
<span id="index-6"></span><h3>Creating Pricelists<a class="headerlink" href="#creating-pricelists" title="Permalink to this headline">¶</a></h3>
682
<p>You can define a pricelist from the menu <em class="menuselection">Sales ‣ Configuration ‣ Pricelists ‣ Pricelists</em>.</p>
683
<p>For each list you should define:</p>
685
<li>a <em class="guilabel">Name</em> for the list,</li>
686
<li>a <em class="guilabel">Type</em> of list: <tt class="docutils literal"><span class="pre">Sale</span></tt> for customers or <tt class="docutils literal"><span class="pre">Purchase</span></tt> for suppliers,</li>
687
<li>the <em class="guilabel">Currency</em> in which the prices are expressed.</li>
689
<div class="section" id="pricelist-versions">
690
<span id="index-7"></span><h4>PriceList Versions<a class="headerlink" href="#pricelist-versions" title="Permalink to this headline">¶</a></h4>
691
<p>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
692
<em class="menuselection">Sales ‣ Configuration ‣ Pricelists ‣ Pricelist Versions</em> menu. The version contains all of the
693
rules that enable you to calculate a price for a product and a given quantity.</p>
694
<p>Start by setting the <em class="guilabel">Name</em> of this associated version. If the list only has a single version, you
695
can use the same name for the pricelist and the version. In the <em class="guilabel">Price List</em> field, select
696
the pricelist you created (this is not necessary if you create the version directly from the pricelist).</p>
697
<p>Then set the <em class="guilabel">Start Date</em> and <em class="guilabel">End Date</em> of this version. The fields are both
698
optional: if you do not set any dates the version will be permanently active. Only one version
699
may be active at any one point, so bear this in mind when creating them.
700
Use the <em class="guilabel">Active</em> field in the versions to activate or disable a pricelist version.</p>
701
<div class="admonition note">
702
<p class="first admonition-title">Note</p>
703
<p>Automatically Updating the Sales Pricelist</p>
704
<p class="last">Any sales pricelist can be set to depend on one of the other pricelists.
705
So you could create your sales pricelist based on the supplier’s purchase pricelist, to
706
which you add a margin.
707
The prices are automatically calculated as a function of the purchase price and need no further
708
manual adjustment.</p>
711
<div class="section" id="calculation-rules">
712
<span id="index-8"></span><h4>Calculation Rules<a class="headerlink" href="#calculation-rules" title="Permalink to this headline">¶</a></h4>
713
<p>A pricelist version is made up of a set of rules that apply to the basic product prices.</p>
714
<div class="figure align-center">
715
<a class="reference internal image-reference" href="../../_images/service_pricelist_line.png"><img alt="../../_images/service_pricelist_line.png" src="../../_images/service_pricelist_line.png" style="width: 600.0px; height: 223.5px;" /></a>
716
<p class="caption"><em>Rule in a Pricelist Version</em></p>
718
<p>You define the conditions for a rule in the first part of the screen labelled <em class="guilabel">Rules Test
719
Match</em>. The rule applies to the <em class="guilabel">Product</em> or <em class="guilabel">Product Template</em> and/or the named <em class="guilabel">Product
720
Category</em>. If a rule is applied to a category, then it is automatically applied to all of its
721
subcategories too (using the tree structure for product categories).</p>
722
<p>If you set a minimum quantity in <em class="guilabel">Min. Quantity</em>, 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.</p>
723
<p>Several rules can be applied to an order. OpenERP evaluates these rules by sequence number, to determine
724
which rule(s) to apply to the specified price calculation. If several rules are valid, only the first in
725
sequence is used for the calculation. The <em class="guilabel">Sequence</em> field determines the order, starting with the
726
lowest number and working up.</p>
727
<p>Once a rule has been selected, the system has to determine how to calculate the price from the rule.
728
This operation is based on the criteria set out in the lower part of the form, labelled <em class="guilabel">Price
729
Computation</em>.</p>
730
<p>The first field to complete is <em class="guilabel">Based on</em>. Set the way in which the partner price will be calculated, choosing between:</p>
732
<li>the <em class="guilabel">Public Price</em> set in the product file,</li>
733
<li>the <em class="guilabel">Cost Price</em> set in the product file,</li>
734
<li>an <em class="guilabel">Other Pricelist</em> given in the field <em class="guilabel">If Other Pricelist</em>,</li>
735
<li>the price that varies as a function of a supplier defined in the <em class="guilabel">Partner section of the
736
product form</em>.</li>
738
<p>Next, various operations can be applied to the basic price to calculate the sales or purchase price
739
for the partner, according to the specified quantities. To calculate it, you apply the formula shown on the
740
form: <tt class="docutils literal"><span class="pre">Price</span> <span class="pre">=</span> <span class="pre">Base</span> <span class="pre">Price</span> <span class="pre">x</span> <span class="pre">(1</span> <span class="pre">+</span> <span class="pre">Field1)</span> <span class="pre">+</span> <span class="pre">Field2</span></tt> .</p>
741
<p>The first field, <em class="guilabel">Field1</em>, defines a discount. Set it to 0.20 for a discount of 20% from
742
the basic price. If your price is based on standard cost, you can set -0.15 to get a 15% price uplift
743
compared to the standard costs.</p>
744
<p><em class="guilabel">Field2</em> sets a fixed supplement to the price, expressed in the currency of the pricelist.
745
This amount is just added (or subtracted, if negative) to the amount calculated with the
746
<em class="guilabel">Field1</em> discount.</p>
747
<p>Then you can specify a rounding method. The rounding calculation is carried out to the nearest
748
number. For example if you set 0.05 in this example, a price of 45.66 will be rounded to 45.65, and
749
14,567 rounded to 100 will give a price of 14,600.</p>
750
<p>The supplement from <em class="guilabel">Field2</em> is applied before the rounding calculation, which enables
751
some interesting effects. For example, if you want all your prices to end in 9.99, set your rounding
752
to 10 and your supplement to -0.01 in <em class="guilabel">Field2</em>.</p>
753
<p>Minimum and Maximum margins enable you to guarantee a given margin over the base price. A margin of
754
10 USD enables you to stop the discount from returning less than that margin. If you put 0 into this
755
field, no effect is taken into account.</p>
756
<p>Once the pricelist is defined, you can assign it to a partner. Go to the Partner form and select
757
its <em class="guilabel">Sales & Purchases</em> tab. You can then change the <em class="guilabel">Purchase Pricelist</em> and the
758
<em class="guilabel">Sale Pricelist</em> that is loaded by default for the partner.</p>
760
<div class="section" id="decimal-accuracy">
761
<span id="id1"></span><h4>Decimal Accuracy<a class="headerlink" href="#decimal-accuracy" title="Permalink to this headline">¶</a></h4>
762
<p>There are several configuration settings related to the decimal accuracy of
763
prices, or the number of decimal places to hold with each price field. To change
764
the accuracy of a field, follow these steps:</p>
765
<ol class="arabic simple">
766
<li>Make sure you have the <cite>Extended</cite> user interface. The setting is in your user
768
<li>Go to <em class="menuselection">Administration ‣ Customization ‣ Database Structure ‣
769
Decimal Accuracy</em>. This list contains a number of predefined elements.</li>
770
<li>Open the entry you want to change. <cite>Purchase Price</cite> and <cite>Sale Price</cite> are the
771
most common ones related to prices, but some fields are controlled by the
772
<cite>Account</cite> entry.</li>
773
<li>Type a new value in the digits field, and save the entry. Do not change the description in the
774
<cite>Usage</cite> field, or it will stop working.</li>
775
<li>Close the screen where you were editing prices and reopen it. The price field
776
should now have the number of digits you asked for.</li>
780
<div class="section" id="example-of-a-pricelist">
781
<h3>Example of a Pricelist<a class="headerlink" href="#example-of-a-pricelist" title="Permalink to this headline">¶</a></h3>
782
<p>Take the case of an IT systems trading company, for which the following product categories have
786
<div><ol class="arabic">
787
<li><p class="first">Accessories</p>
789
<div><ul class="simple">
792
<li>Keyboards and Mice</li>
796
<li><p class="first">Computers</p>
798
<div><ul class="simple">
802
<div><ul class="simple">
803
<li>Large-screen portables</li>
810
<div><ul class="simple">
811
<li>Office Computers</li>
812
<li>Professional Computers</li>
819
<p>In addition, the products presented in the table below are defined in the currency of the installed
820
chart of accounts.</p>
822
<table border="1" class="docutils">
823
<caption>Examples of products with their different prices</caption>
832
<tr class="row-odd"><td>Product</td>
835
<td>Default supplier price</td>
838
<tr class="row-even"><td>Acclo Portable</td>
844
<tr class="row-odd"><td>Toshibishi Portable</td>
850
<tr class="row-even"><td>Berrel Keyboard</td>
856
<tr class="row-odd"><td>Office Computer</td>
864
<div class="section" id="default-price-lists">
865
<span id="index-9"></span><h4>Default Price Lists<a class="headerlink" href="#default-price-lists" title="Permalink to this headline">¶</a></h4>
866
<div class="figure align-center">
867
<a class="reference internal image-reference" href="../../_images/product_pricelist_default.png"><img alt="../../_images/product_pricelist_default.png" src="../../_images/product_pricelist_default.png" style="width: 495.75px; height: 242.25px;" /></a>
868
<p class="caption"><em>Default pricelist after installing OpenERP</em></p>
870
<p>When you install the software, two pricelists are created by default: one for sales and one for
871
purchases. Each of them contains only one pricelist version and only one line in that version.</p>
872
<p>The price for sales defined in the Default Public Pricelist is set by default to
873
the Public Price of the product, which is the Sales Price in the Product form.</p>
874
<p>The price for purchases defined in the Default Purchase Pricelist is set by default in the same way to
875
the Cost Price of the product.</p>
877
<div class="section" id="trading-company">
878
<span id="index-10"></span><h4>Trading Company<a class="headerlink" href="#trading-company" title="Permalink to this headline">¶</a></h4>
879
<p>Take the case of a trading company, where the sales price for resellers can be defined like this:</p>
881
<li><p class="first">For portable computers, the sales price is calculated from the list price of the supplier Acclo,
882
with a supplement of 23% on the cost of purchase.</p>
884
<li><p class="first">For all other products the sales price is given by the standard cost in the product file, to which
885
31% is added. The price should end in <tt class="docutils literal"><span class="pre">.99</span></tt> .</p>
887
<li><p class="first">The sales price of Berrel keyboards is fixed at 60 for a minimum quantity of 5 keyboards purchased.
888
Otherwise it uses the rule above.</p>
890
<li><p class="first">Assume that the Acclo pricelist is defined in OpenERP. The pricelist for resellers and the
891
pricelist version then contains three lines:</p>
893
<div><ol class="arabic">
894
<li><p class="first"><tt class="docutils literal"><span class="pre">Acclo</span></tt> line:</p>
896
<div><ul class="simple">
897
<li><em class="guilabel">Product Category</em> : <tt class="docutils literal"><span class="pre">Portables</span></tt> ,</li>
898
<li><em class="guilabel">Based on</em> : <tt class="docutils literal"><span class="pre">Other</span> <span class="pre">pricelist</span></tt> ,</li>
899
<li><em class="guilabel">Pricelist if other</em> : <tt class="docutils literal"><span class="pre">Acclo</span> <span class="pre">pricelist</span></tt> ,</li>
900
<li><em class="guilabel">Field1</em> : <tt class="docutils literal"><span class="pre">-0.23</span></tt> ,</li>
901
<li><em class="guilabel">Priority</em> : <tt class="docutils literal"><span class="pre">1</span></tt> .</li>
905
<li><p class="first"><tt class="docutils literal"><span class="pre">Berrel</span> <span class="pre">Keyboard</span></tt> line:</p>
907
<div><ul class="simple">
908
<li><em class="guilabel">Product Template</em> : <tt class="docutils literal"><span class="pre">Berrel</span> <span class="pre">Keyboard</span></tt> ,</li>
909
<li><em class="guilabel">Min. Quantity</em> : <tt class="docutils literal"><span class="pre">5</span></tt> ,</li>
910
<li><em class="guilabel">Field1</em> : <tt class="docutils literal"><span class="pre">1.0</span></tt> ,</li>
911
<li><em class="guilabel">Field2</em> : <tt class="docutils literal"><span class="pre">60</span></tt> ,</li>
912
<li><em class="guilabel">Priority</em> : <tt class="docutils literal"><span class="pre">2</span></tt> .</li>
916
<li><p class="first"><tt class="docutils literal"><span class="pre">Other</span> <span class="pre">products</span></tt> line:</p>
918
<div><ul class="simple">
919
<li><em class="guilabel">Based on:</em> <tt class="docutils literal"><span class="pre">Standard</span> <span class="pre">Price</span></tt> ,</li>
920
<li><em class="guilabel">Field1</em> : <tt class="docutils literal"><span class="pre">-0.31</span></tt> ,</li>
921
<li><em class="guilabel">Field2</em> : <tt class="docutils literal"><span class="pre">-0.01</span></tt> ,</li>
922
<li><em class="guilabel">Rounding</em> : <tt class="docutils literal"><span class="pre">1.0</span></tt> .</li>
923
<li><em class="guilabel">Priority</em> : <tt class="docutils literal"><span class="pre">3</span></tt>.</li>
931
<p>It is important that the priority of the second rule is set below the priority of the third in this
932
example. If it were the other way around, the third rule would always be applied, because a quantity of
933
5 is always greater than a quantity of 1 for all products.</p>
934
<p>Also note that to fix a price of 60 for the 5 Berrel Keyboards, the formula <tt class="docutils literal"><span class="pre">Price</span> <span class="pre">=</span> <span class="pre">Base</span> <span class="pre">Price</span> <span class="pre">x</span>
935
<span class="pre">(1</span> <span class="pre">+</span> <span class="pre">1.0)</span> <span class="pre">+</span> <span class="pre">60</span></tt> has been used.</p>
937
<div class="section" id="establishing-customer-contract-conditions">
938
<h4>Establishing Customer Contract Conditions<a class="headerlink" href="#establishing-customer-contract-conditions" title="Permalink to this headline">¶</a></h4>
939
<p>The trading company can now set specific conditions to a customer, such as the company TinAtwo, who
940
might have signed a valid contract with the following conditions:</p>
942
<li>For Toshibishi portables, TinAtwo benefits from a discount of 5% of resale price.</li>
943
<li>For all other products, the resale conditions are unchanged.</li>
945
<p>The sales price for TinAtwo, called <tt class="docutils literal"><span class="pre">TinAtwo</span> <span class="pre">contract</span></tt>, contains two rules:</p>
947
<div><ol class="arabic">
948
<li><p class="first"><tt class="docutils literal"><span class="pre">Toshibishi</span> <span class="pre">portable</span></tt> :</p>
950
<div><ul class="simple">
951
<li><em class="guilabel">Product</em> : <tt class="docutils literal"><span class="pre">Toshibishi</span> <span class="pre">Portable</span></tt> ,</li>
952
<li><em class="guilabel">Based on</em> : <tt class="docutils literal"><span class="pre">Other</span> <span class="pre">pricelist</span></tt> ,</li>
953
<li><em class="guilabel">Pricelist if other</em> : <tt class="docutils literal"><span class="pre">Reseller</span> <span class="pre">pricelist</span></tt> ,</li>
954
<li><em class="guilabel">Field1</em> : <tt class="docutils literal"><span class="pre">0.05</span></tt> ,</li>
955
<li><em class="guilabel">Priority</em> : <tt class="docutils literal"><span class="pre">1</span></tt> .</li>
959
<li><p class="first"><tt class="docutils literal"><span class="pre">Other</span> <span class="pre">Products</span></tt>:</p>
961
<div><ul class="simple">
962
<li><em class="guilabel">Product</em> :</li>
963
<li><em class="guilabel">Based on</em> : <tt class="docutils literal"><span class="pre">Other</span> <span class="pre">pricelist</span></tt> ,</li>
964
<li><em class="guilabel">Pricelist if other</em> : <tt class="docutils literal"><span class="pre">Reseller</span> <span class="pre">pricelist</span></tt> ,</li>
965
<li><em class="guilabel">Priority</em> : <tt class="docutils literal"><span class="pre">2</span></tt> .</li>
971
<p>Once this list has been entered, you should look up the partner form of TinAtwo again. Click the
972
<em class="guilabel">Sales & Purchases</em> tab to set the <em class="guilabel">Sale Pricelist</em> field to <em>TinAtwo Contract</em>. If
973
the contract is only valid for one year, do not forget to set the <em class="guilabel">Start Date</em> and
974
<em class="guilabel">End Date</em> fields in the <em class="guilabel">Pricelist Version</em>.</p>
975
<p>Then when salespeople prepare an estimate for TinAtwo, the prices proposed will automatically be
976
calculated from the contract conditions.</p>
979
<div class="section" id="pricelists-and-managing-currencies">
980
<h3>Pricelists and Managing Currencies<a class="headerlink" href="#pricelists-and-managing-currencies" title="Permalink to this headline">¶</a></h3>
981
<p>If your trading company wants to start a product catalog in a new currency you can handle this
984
<li>Enter the prices in a new independent pricelist and maintain the lists in the two currencies
986
<li>Create a field in the product form for this new currency and make the new pricelist depend on this
987
field: prices are then maintained separately, but in the product file,</li>
988
<li>Create a new pricelist for the second currency and make it depend on another pricelist or on the
989
product price: the conversion between the currencies will then be done automatically at the
990
prevailing currency conversion rate.</li>
994
<div class="section" id="rebates-at-the-end-of-a-campaign">
995
<h2>Rebates at the End of a Campaign<a class="headerlink" href="#rebates-at-the-end-of-a-campaign" title="Permalink to this headline">¶</a></h2>
996
<p>If you want to provide discounts on an order, you can use the pricelist system in OpenERP. But we would not be writing about end-of-campaign rebates if no other solution was available. You can also work with end-of-campaign rebates or year-end rebates. The customer pays a certain price during the whole of the campaign or the year, and he will receive a rebate at the end of the campaign according to the sales made throughout the year.</p>
997
<p>Take the case of contract negotiations with a wholesaler. To get the best selling price, the
998
wholesaler will ask you for a good deal and will sign up to a certain volume of orders over
1000
<p>You can then propose a price based on the volume that the wholesaler agrees to sell. But then you
1001
do not have any control over his orders. If at the end of the year the wholesaler has not taken the
1002
agreed volumes, you can do nothing. At most you can review his terms for the following year.</p>
1003
<p>Rebates at the end of a campaign can help you avoid this sort of problem. You can propose a contract
1004
where the price depends on the usual wholesaler’s terms. You can propose a rebate grid which
1005
will be assigned at the end of the year as a function of the actual sales made.</p>
1006
<p id="index-11">Install the <tt class="xref py py-mod docutils literal"><span class="pre">discount_campaign</span></tt> module (in <tt class="docutils literal"><span class="pre">extra-addons</span></tt> at the time of writing)
1007
to generate rebates at the end of the campaign. Once the modules have been installed, you can configure your campaign using the menu <em class="menuselection">Sales ‣ Configuration ‣ Sales ‣ Discount Campaigns</em>.</p>
1008
<div class="admonition note">
1009
<p class="first admonition-title">Note</p>
1010
<p>Year-end Rebate</p>
1011
<p class="last">Most companies use the term <em>year-end rebate</em>, where rebates are applied at the end of the year.
1012
But of course you can also define rebates for a campaign that lasts less than or more than one year.</p>
1014
<div class="figure align-center">
1015
<a class="reference internal image-reference" href="../../_images/discount_campaign_RFA.png"><img alt="../../_images/discount_campaign_RFA.png" src="../../_images/discount_campaign_RFA.png" style="width: 495.75px; height: 262.5px;" /></a>
1016
<p class="caption"><em>Configuring a Campaign Rebate</em></p>
1018
<p>A campaign should have a name, a refund journal (to create the credit notes at the end of the campaign), a start date, and an end date. After entering this information, you should describe the lines of the campaign. Each line can be applied to a product or a category of
1019
products. Then set the quantity of products sold from which the discount is applied, and the amount
1020
of the rebate as a percentage of the actual sales volume.</p>
1021
<p>When you have defined the campaign, you can activate it by clicking the <em class="guilabel">Open</em> button. The
1022
figure <a class="reference internal" href="#fig-discamp"><em>Configuring a Discount Campaign for Computers</em></a> shows a campaign with a rebate on computers which is between 10% and 20% depending on
1023
the sales volume.</p>
1024
<div class="figure align-center" id="fig-discamp">
1025
<a class="reference internal image-reference" href="../../_images/discount_campaign.png"><img alt="../../_images/discount_campaign.png" src="../../_images/discount_campaign.png" style="width: 493.5px; height: 261.75px;" /></a>
1026
<p class="caption"><em>Configuring a Discount Campaign for Computers</em></p>
1028
<p>Once the campaign has been defined and activated, you can assign it to various partners. To do that
1029
set a <em class="guilabel">Discount Campaign</em> in the second tab <em class="guilabel">Sales & Purchases</em> of the partner form.</p>
1030
<p>Finally, at the end of the campaign, you should close it and OpenERP will automatically generate
1031
invoices or credit notes for your partner associated with this campaign. OpenERP opens credit
1032
notes in the <tt class="docutils literal"><span class="pre">Draft</span></tt> state so you can modify them before validation. To calculate the amount on the
1033
credit note, OpenERP uses all of the invoices sent out during the period of the campaign as a
1035
<p>You can also get an overview of all draft credit notes using the menu <em class="menuselection">Accounting
1036
‣ Customers ‣ Customer Refunds</em>.</p>
1038
<div class="section" id="keeping-track-of-open-orders">
1039
<h2>Keeping track of Open Orders<a class="headerlink" href="#keeping-track-of-open-orders" title="Permalink to this headline">¶</a></h2>
1040
<p id="index-12">In some industries, customers commonly place orders for a certain volume of products and ask for regular
1041
deliveries from an order up to the total amount on it. This principle, called open orders, is managed
1042
by the <tt class="xref py py-mod docutils literal"><span class="pre">sale_delivery</span></tt> module in OpenERP.</p>
1043
<p>OpenERP handles open orders easily. An open order is an order for a
1044
certain quantity of products but whose deliveries are planned for various dates over a period of
1046
<p>To do that, you should install the <tt class="xref py py-mod docutils literal"><span class="pre">sale_delivery</span></tt> module (in <tt class="docutils literal"><span class="pre">extra-addons</span></tt> at the time of writing).
1047
A Sales Order is entered as a normal order, but you also set the total quantity that will be delivered on each order line.</p>
1048
<p>Then you can use the new tab <em class="guilabel">Deliveries</em> on the order to plan the quantities sold and enter your
1049
delivery planning there.</p>
1050
<div class="figure align-center">
1051
<a class="reference internal image-reference" href="../../_images/sale_delivery_form.png"><img alt="../../_images/sale_delivery_form.png" src="../../_images/sale_delivery_form.png" style="width: 495.75px; height: 281.25px;" /></a>
1052
<p class="caption"><em>Managing Open Orders, Planning Forecasts</em></p>
1054
<p>In the order lines, OpenERP shows you the quantity planned in addition to the quantity sold. This way, you
1055
can verify whether the quantities sold equal the quantities to be delivered. On confirmation of the sales order, OpenERP no longer generates a single delivery order, but plans scheduled dispatches.</p>
1056
<div class="admonition tip">
1057
<p class="first admonition-title">Tip</p>
1058
<p>Invoicing Mode</p>
1059
<p class="last">If you work with Open Orders, you should set <em class="guilabel">Invoice Control</em> to the mode <tt class="docutils literal"><span class="pre">Shipped</span> <span class="pre">Quantities</span></tt>.
1060
Then the storesperson will be able to re-plan and change the quantities of the forecast deliveries
1064
<div class="section" id="changing-order-layout">
1065
<h2>Changing Order Layout<a class="headerlink" href="#changing-order-layout" title="Permalink to this headline">¶</a></h2>
1066
<p id="index-13">Install the <tt class="xref py py-mod docutils literal"><span class="pre">sale_layout</span></tt> module by selecting <em class="guilabel">Sales Order Layout Improvement</em> and clicking <em class="guilabel">Configure</em> in the <em class="guilabel">Reconfigure</em> wizard. It enables you to have a more flexible template than the standard order forms.</p>
1067
<p>For example, you could put the following in the order lines:</p>
1069
<li>a horizontal separator line,</li>
1070
<li>titles and subtitles,</li>
1071
<li>subtotals at the end of the section,</li>
1073
<li>a page break.</li>
1075
<p id="index-14">This enables you to lay out a more elaborate, professional-looking quotation page. The
1076
module <tt class="xref py py-mod docutils literal"><span class="pre">account_invoice_layout</span></tt> (installed automatically on installation of <tt class="xref py py-mod docutils literal"><span class="pre">sale_layout</span></tt>),
1077
also gives you the same functionality for invoice templates.</p>
1078
<p>The two figures <a class="reference internal" href="#fig-invlayfrm"><em>Invoice using Customizable Layout</em></a> and <a class="reference internal" href="#fig-invlayprin"><em>Printed Invoice</em></a> show an invoice template in OpenERP
1079
and the resulting printed invoice.</p>
1080
<div class="figure align-center" id="fig-invlayfrm">
1081
<a class="reference internal image-reference" href="../../_images/invoice_layout_form.png"><img alt="../../_images/invoice_layout_form.png" src="../../_images/invoice_layout_form.png" style="width: 599.25px; height: 338.25px;" /></a>
1082
<p class="caption"><em>Invoice using Customizable Layout</em></p>
1084
<div class="figure align-center" id="fig-invlayprin">
1085
<a class="reference internal image-reference" href="../../_images/invoice_layout_print.png"><img alt="../../_images/invoice_layout_print.png" src="../../_images/invoice_layout_print.png" style="width: 450.0px; height: 474.75px;" /></a>
1086
<p class="caption"><em>Printed Invoice</em></p>
1089
<div class="section" id="invoice-analysis">
1090
<h2> Invoice Analysis<a class="headerlink" href="#invoice-analysis" title="Permalink to this headline">¶</a></h2>
1091
<p>Analyse your invoicing in OpenERP through the <strong>Invoice Analysis</strong> screen.</p>
1092
<p>This report provides an overview of what has been invoiced to your customer as well as the average payment delays.
1093
You can easily group by partner, product category, ... or select only invoices that have not been confirmed yet.</p>
1094
<p>This is an easy way to check your sales people’s impact on turnover.</p>
1095
<div class="figure align-center">
1096
<a class="reference internal image-reference" href="../../_images/invoice_analysis.jpeg"><img alt="../../_images/invoice_analysis.jpeg" src="../../_images/invoice_analysis.jpeg" style="width: 1186.4px; height: 350.4px;" /></a>
1097
<p class="caption"><em>Analyzing your Invoices</em></p>
1105
<div id="disqus_thread"></div>
1106
<script type="text/javascript">
1107
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
1108
var disqus_shortname = 'openerponlinebook'; // required: replace example with your forum shortname
1110
/* * * DON'T EDIT BELOW THIS LINE * * */
1112
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
1113
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
1114
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
1117
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
1118
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
1126
<footer class="footer">
1127
<div class="container">
1128
<p class="pull-right">
1129
<a href="#">Back to top</a>
1133
© Copyright 2014, OpenERP Book.<br/>
1134
Last updated on Mar 28, 2014.<br/>
1138
<div class="container">You can contribute to OpenERP Book on <a href="#">Launchpade.net</a>
1139
<script type="text/javascript">
1141
var ga = document.createElement('script');
1142
ga.src = ('https:' == document.location.protocol ?
1143
'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
1144
ga.setAttribute('async', 'true');
1145
document.documentElement.firstChild.appendChild(ga);
b'\\ No newline at end of file'