3
.. i18n: pair: service; contract
6
pair: service; contract
8
.. i18n: Managing Service Contracts
9
.. i18n: ==========================
11
Managing Service Contracts
12
==========================
14
.. i18n: Contracts can take different forms within Open ERP, depending on their nature. So you can have
15
.. i18n: several distinct types of services contract, such as:
17
Contracts can take different forms within Open ERP, depending on their nature. So you can have
18
several distinct types of services contract, such as:
20
.. i18n: * fixed-price contracts,
22
.. i18n: * cost-reimbursement contracts, invoiced when services are completed,
24
.. i18n: * fixed-price contracts, invoiced monthly as services are carried out.
26
* fixed-price contracts,
28
* cost-reimbursement contracts, invoiced when services are completed,
30
* fixed-price contracts, invoiced monthly as services are carried out.
32
.. i18n: .. tip:: Contract quotations
34
.. i18n: Some companies commit to contracts on the basis of a requested volume at a certain price for a
35
.. i18n: defined period.
36
.. i18n: In such a case the contract is represented by a pricelist for that specific customer.
38
.. i18n: The pricelist is linked in the :guilabel:`Properties` tab of the customer's :guilabel:`Partner` form,
39
.. i18n: so that it is brought up whenever anything is bought from or sold to this partner
40
.. i18n: (depending on whether it's a purchase or sales agreement).
41
.. i18n: Open ERP automatically selects the price based on this agreed pricelist.
43
.. tip:: Contract quotations
45
Some companies commit to contracts on the basis of a requested volume at a certain price for a
47
In such a case the contract is represented by a pricelist for that specific customer.
49
The pricelist is linked in the :guilabel:`Properties` tab of the customer's :guilabel:`Partner` form,
50
so that it is brought up whenever anything is bought from or sold to this partner
51
(depending on whether it's a purchase or sales agreement).
52
Open ERP automatically selects the price based on this agreed pricelist.
54
.. i18n: Fixed Price contracts
55
.. i18n: ---------------------
60
.. i18n: Fixed price contracts for the sale of services are represented in Open ERP by a Sales Order. In
61
.. i18n: this case, the supply of services is managed just like all other stockable or consumable products.
63
Fixed price contracts for the sale of services are represented in Open ERP by a Sales Order. In
64
this case, the supply of services is managed just like all other stockable or consumable products.
66
.. i18n: You can add new orders using the menu :menuselection:`Sales Management --> Sales Orders --> New Quotation`.
68
You can add new orders using the menu :menuselection:`Sales Management --> Sales Orders --> New Quotation`.
70
.. i18n: The new Sales Order document starts in the \ ``Quotation``\ state, so the estimate has no
71
.. i18n: accounting impact on the system until it's confirmed. When you approve the document, your estimate
72
.. i18n: moves into the state \ ``In Progress``\ .
74
The new Sales Order document starts in the \ ``Quotation``\ state, so the estimate has no
75
accounting impact on the system until it's confirmed. When you approve the document, your estimate
76
moves into the state \ ``In Progress``\ .
78
.. i18n: .. figure:: images/service_sale_workflow.png
80
.. i18n: :align: center
82
.. i18n: *Process for handling a Sales Order*
84
.. figure:: images/service_sale_workflow.png
88
*Process for handling a Sales Order*
90
.. i18n: Once the order has been approved, Open ERP will automatically generate an invoice and/or a delivery
91
.. i18n: document proposal based on the parameters you set in the order.
93
Once the order has been approved, Open ERP will automatically generate an invoice and/or a delivery
94
document proposal based on the parameters you set in the order.
96
.. i18n: The invoice will be managed by the system depending on the setting of the field :guilabel:`Shipping
97
.. i18n: Policy` on the order's second tab :guilabel:`Other data` :
99
The invoice will be managed by the system depending on the setting of the field :guilabel:`Shipping
100
Policy` on the order's second tab :guilabel:`Other data` :
102
.. i18n: * :guilabel:`Payment before delivery` : Open ERP creates an invoice in the \ ``Draft``\ state.
103
.. i18n: Once this is confirmed and paid the delivery is activated.
105
.. i18n: * :guilabel:`Invoice on Order After Delivery` : the delivery order is produced when the order is
106
.. i18n: validated. A draft invoice is then created when the delivery has been completed.
108
.. i18n: * :guilabel:`Shipping & Manual Invoice` : Open ERP starts the delivery from the confirmation of
109
.. i18n: the order, and adds a button which you manually click when you're ready to create an invoice.
111
.. i18n: * :guilabel:`Invoice from the Packing` : invoices are created from the packing stage.
113
* :guilabel:`Payment before delivery` : Open ERP creates an invoice in the \ ``Draft``\ state.
114
Once this is confirmed and paid the delivery is activated.
116
* :guilabel:`Invoice on Order After Delivery` : the delivery order is produced when the order is
117
validated. A draft invoice is then created when the delivery has been completed.
119
* :guilabel:`Shipping & Manual Invoice` : Open ERP starts the delivery from the confirmation of
120
the order, and adds a button which you manually click when you're ready to create an invoice.
122
* :guilabel:`Invoice from the Packing` : invoices are created from the packing stage.
124
.. i18n: .. index:: delivery
128
.. i18n: .. note:: Delivery of an order
130
.. i18n: The term 'delivery' should be taken in the broadest sense in Open ERP.
131
.. i18n: The effect of a delivery depends on the configuration of the sold product.
133
.. i18n: If its type is either Stockable Product or Consumable, Open ERP will make a request for it to be
134
.. i18n: sent for packing.
135
.. i18n: If the product's type is Service Open ERP's scheduler will create a task in the project management
137
.. i18n: or create a subcontract purchase order if the product's Procure Method is Make to Order.
139
.. i18n: Invoicing after delivery does as it says: invoicing for the services when the tasks have been
142
.. note:: Delivery of an order
144
The term 'delivery' should be taken in the broadest sense in Open ERP.
145
The effect of a delivery depends on the configuration of the sold product.
147
If its type is either Stockable Product or Consumable, Open ERP will make a request for it to be
149
If the product's type is Service Open ERP's scheduler will create a task in the project management
151
or create a subcontract purchase order if the product's Procure Method is Make to Order.
153
Invoicing after delivery does as it says: invoicing for the services when the tasks have been
156
.. i18n: When you sign a new contract you can just enter the order into the system and Open ERP will track
159
When you sign a new contract you can just enter the order into the system and Open ERP will track
162
.. i18n: This works well for small orders. But for larger value services orders you might want to invoice
163
.. i18n: several times through the contract, for example:
165
This works well for small orders. But for larger value services orders you might want to invoice
166
several times through the contract, for example:
168
.. i18n: * 30% on order,
170
.. i18n: * 40% on completion,
172
.. i18n: * 30% one month after the system has gone into production.
178
* 30% one month after the system has gone into production.
180
.. i18n: In this case you should create several invoices for the one Sales Order. You've two options for this:
182
In this case you should create several invoices for the one Sales Order. You've two options for this:
184
.. i18n: * Don't handle invoicing automatically from the Sales Order but carry out manual invoicing instead,
186
.. i18n: * Create draft invoices and then link to them in the third tab :guilabel:`History` of the
187
.. i18n: Sales Order, in the :guilabel:`Related
188
.. i18n: Invoices` section. When you create an invoice from the order, Open ERP deducts the amounts of the
189
.. i18n: invoices already linked to the order to calculate the proposed invoice value.
191
* Don't handle invoicing automatically from the Sales Order but carry out manual invoicing instead,
193
* Create draft invoices and then link to them in the third tab :guilabel:`History` of the
194
Sales Order, in the :guilabel:`Related
195
Invoices` section. When you create an invoice from the order, Open ERP deducts the amounts of the
196
invoices already linked to the order to calculate the proposed invoice value.
198
.. i18n: Cost-reimbursement contracts
199
.. i18n: ----------------------------
201
Cost-reimbursement contracts
202
----------------------------
204
.. i18n: Some contracts aren't invoiced from a price fixed on the order but from the cost of the services
205
.. i18n: carried out. That's usually what happens in the building sector or in large projects.
207
Some contracts aren't invoiced from a price fixed on the order but from the cost of the services
208
carried out. That's usually what happens in the building sector or in large projects.
211
.. i18n: single: module; hr_timesheet_invoice
214
single: module; hr_timesheet_invoice
216
.. i18n: The approach you use for this is totally different because instead of using the sales order as the
217
.. i18n: basis of the invoice you use the analytic accounts. For this you have to install the module
218
.. i18n: :mod:`hr_timesheet_invoice`.
220
The approach you use for this is totally different because instead of using the sales order as the
221
basis of the invoice you use the analytic accounts. For this you have to install the module
222
:mod:`hr_timesheet_invoice`.
224
.. i18n: An analytic account is created for each new contract. The following fields must be completed in this
225
.. i18n: analytic account:
227
An analytic account is created for each new contract. The following fields must be completed in this
230
.. i18n: * :guilabel:`Partner` : partner associated with the contract,
232
.. i18n: * :guilabel:`Sale Pricelist`,
234
.. i18n: * :guilabel:`Invoicing`.
236
* :guilabel:`Partner` : partner associated with the contract,
238
* :guilabel:`Sale Pricelist`,
240
* :guilabel:`Invoicing`.
242
.. i18n: The selection of an invoicing rate is an indirect way of specifying that the project will be
243
.. i18n: invoiced on the basis of analytic costs. This can take different forms, such as delivery of
244
.. i18n: services, purchase of raw materials, and expense reimbursements.
246
The selection of an invoicing rate is an indirect way of specifying that the project will be
247
invoiced on the basis of analytic costs. This can take different forms, such as delivery of
248
services, purchase of raw materials, and expense reimbursements.
251
.. i18n: single: pricelist
258
.. i18n: .. note:: Pricelists and billing rates
260
.. i18n: You can select a pricelist on the analytic account without having to use it to specify billing
263
.. i18n: An example of this is a client project that is to be invoiced only indirectly from the analytic
265
.. i18n: Putting the price list on the analytic account makes it possible to compare the actual sales with
266
.. i18n: a best case situation where all the services would be invoiced.
267
.. i18n: To get this comparison you have to print the analytic balance from the analytic account.
269
.. note:: Pricelists and billing rates
271
You can select a pricelist on the analytic account without having to use it to specify billing
274
An example of this is a client project that is to be invoiced only indirectly from the analytic
276
Putting the price list on the analytic account makes it possible to compare the actual sales with
277
a best case situation where all the services would be invoiced.
278
To get this comparison you have to print the analytic balance from the analytic account.
280
.. i18n: Services are then entered onto timesheets by the various people who work on the project.
281
.. i18n: Periodically the project manager or account manager uses the following menu to prepare an invoice
282
.. i18n: :menuselection:`Financial Management --> Periodical Processing --> Entries to Invoice -->
283
.. i18n: Uninvoiced Entries`.
285
Services are then entered onto timesheets by the various people who work on the project.
286
Periodically the project manager or account manager uses the following menu to prepare an invoice
287
:menuselection:`Financial Management --> Periodical Processing --> Entries to Invoice -->
290
.. i18n: Open ERP then displays all of the costs that haven't yet been invoiced. You can filter the proposed
291
.. i18n: list and click the appropriate action button to generate the corresponding invoices. You can select
292
.. i18n: the level of detail which is reported on the invoice, such as the date and details of the services.
294
Open ERP then displays all of the costs that haven't yet been invoiced. You can filter the proposed
295
list and click the appropriate action button to generate the corresponding invoices. You can select
296
the level of detail which is reported on the invoice, such as the date and details of the services.
298
.. i18n: .. figure:: images/service_timesheet_invoice.png
300
.. i18n: :align: center
302
.. i18n: *Screen for invoicing services*
304
.. figure:: images/service_timesheet_invoice.png
308
*Screen for invoicing services*
311
.. i18n: single: module; account_analytic_analysis
314
single: module; account_analytic_analysis
316
.. i18n: .. note:: Project Management and analytic accounts
318
.. i18n: The menu :menuselection:`Project Management --> Financial Project Management --> Analytic Accounts`
319
.. i18n: is only available once you have
320
.. i18n: installed the module :mod:`account_analytic_analysis`.
321
.. i18n: It provides various global financial and operational views of a project manager's projects.
323
.. note:: Project Management and analytic accounts
325
The menu :menuselection:`Project Management --> Financial Project Management --> Analytic Accounts`
326
is only available once you have
327
installed the module :mod:`account_analytic_analysis`.
328
It provides various global financial and operational views of a project manager's projects.
330
.. i18n: .. todo:: I can't find this button or the action below
332
.. todo:: I can't find this button or the action below
334
.. i18n: Select a project and open its analytic entries using the :guilabel:`Costs to invoice` button. You'll
335
.. i18n: find a list of costs that can be invoiced to the client:
337
Select a project and open its analytic entries using the :guilabel:`Costs to invoice` button. You'll
338
find a list of costs that can be invoiced to the client:
340
.. i18n: * time worked,
342
.. i18n: * expenses reimbursement,
344
.. i18n: * purchase of raw materials.
348
* expenses reimbursement,
350
* purchase of raw materials.
352
.. i18n: You can then invoice the selected lines using the action :guilabel:`Invoice costs`.
354
You can then invoice the selected lines using the action :guilabel:`Invoice costs`.
356
.. i18n: Fixed-price contracts invoiced as services are worked
357
.. i18n: -----------------------------------------------------
359
Fixed-price contracts invoiced as services are worked
360
-----------------------------------------------------
362
.. i18n: For larger-value projects, fixed-price invoicing based on the sales order isn't always appropriate.
363
.. i18n: In the case of a services project planned to run for about six months. invoicing could be based on
364
.. i18n: the following:
366
For larger-value projects, fixed-price invoicing based on the sales order isn't always appropriate.
367
In the case of a services project planned to run for about six months. invoicing could be based on
370
.. i18n: * 30% on order,
372
.. i18n: * 30% at the project mid-point,
374
.. i18n: * 40% at delivery.
378
* 30% at the project mid-point,
382
.. i18n: Such an approach is often used in a company but there are other options. This method of invoicing
383
.. i18n: can pose many problems for the organization and invoicing of the project:
385
Such an approach is often used in a company but there are other options. This method of invoicing
386
can pose many problems for the organization and invoicing of the project:
388
.. i18n: * It's extremely difficult to determine if the project is on track or not. The endpoint is fuzzy,
389
.. i18n: which can result in a tricky discussion with the client at the moment of final invoicing.
391
.. i18n: * If the project takes more or less time than forecast, it will effectively result in under- or
392
.. i18n: over-invoicing during the project.
394
.. i18n: * Whether you get a proper return can depend on the client. For example if the client takes a long
395
.. i18n: time to sign off on project acceptance you can't invoice the remaining 40% even though you might
396
.. i18n: have supplied the agreed service properly.
398
.. i18n: * The account manager and the project manager are often different people (see the section :ref:`sect-projroles`
399
.. i18n: in the chapter :ref:`ch-projects`).
400
.. i18n: The project manager has to
401
.. i18n: alert the account manager the moment that the client can be invoiced, but that moment easily can be
402
.. i18n: forgotten or mistaken.
404
.. i18n: * The project can be fixed for service costs but have agreed extras, such as reimbursement for
405
.. i18n: travel expenses. Invoicing from the order doesn't adapt well to such an approach.
407
* It's extremely difficult to determine if the project is on track or not. The endpoint is fuzzy,
408
which can result in a tricky discussion with the client at the moment of final invoicing.
410
* If the project takes more or less time than forecast, it will effectively result in under- or
411
over-invoicing during the project.
413
* Whether you get a proper return can depend on the client. For example if the client takes a long
414
time to sign off on project acceptance you can't invoice the remaining 40% even though you might
415
have supplied the agreed service properly.
417
* The account manager and the project manager are often different people (see the section :ref:`sect-projroles`
418
in the chapter :ref:`ch-projects`).
419
The project manager has to
420
alert the account manager the moment that the client can be invoiced, but that moment easily can be
421
forgotten or mistaken.
423
* The project can be fixed for service costs but have agreed extras, such as reimbursement for
424
travel expenses. Invoicing from the order doesn't adapt well to such an approach.
426
.. i18n: Open ERP provides a third method for invoicing services that can be useful on long projects. This
427
.. i18n: consists of invoicing the project periodically on the basis of time worked up to a fixed amount that
428
.. i18n: can't be exceeded. At the end of the project a final invoice or a credit note is generated to meet
429
.. i18n: the total amount of value fixed for the project.
431
Open ERP provides a third method for invoicing services that can be useful on long projects. This
432
consists of invoicing the project periodically on the basis of time worked up to a fixed amount that
433
can't be exceeded. At the end of the project a final invoice or a credit note is generated to meet
434
the total amount of value fixed for the project.
436
.. i18n: To configure such a project you must set an invoicing rate, a pricelist and a maximum amount on the
437
.. i18n: analytic account for the project. The services are then invoiced throughout the project by the
438
.. i18n: different project or account managers, just like projects that are invoiced by time used. The
439
.. i18n: managers can apply a refund on the final invoice if the project takes more time to complete than
440
.. i18n: permitted under the contract.
442
To configure such a project you must set an invoicing rate, a pricelist and a maximum amount on the
443
analytic account for the project. The services are then invoiced throughout the project by the
444
different project or account managers, just like projects that are invoiced by time used. The
445
managers can apply a refund on the final invoice if the project takes more time to complete than
446
permitted under the contract.
448
.. i18n: When the project is finished you can generate the closing invoice using the *Final Invoice* button
449
.. i18n: on the analytic account. This automatically calculates the final balance of the bill, taking the
450
.. i18n: amounts already charged into account. If the amount already invoiced is greater than the maximum
451
.. i18n: agreed amount then Open ERP generates a draft credit note.
453
When the project is finished you can generate the closing invoice using the *Final Invoice* button
454
on the analytic account. This automatically calculates the final balance of the bill, taking the
455
amounts already charged into account. If the amount already invoiced is greater than the maximum
456
agreed amount then Open ERP generates a draft credit note.
458
.. i18n: This approach offers many advantages compared with the traditional methods of invoicing in phases
459
.. i18n: for fixed-price contracts:
461
This approach offers many advantages compared with the traditional methods of invoicing in phases
462
for fixed-price contracts:
464
.. i18n: * Fixed-price contracts and cost-reimbursable contracts are invoiced in the same way, which makes
465
.. i18n: the company's invoicing process quite simple and systematic even when the projects are mixed.
467
.. i18n: * Everything is invoiced on the basis of worked time, making it easy to forecast invoicing from
468
.. i18n: plans linked to the different analytical accounts.
470
.. i18n: * This method of proceeding educates project managers just as much as the client because refunds
471
.. i18n: have to be given for work done if the project slips.
473
.. i18n: * Invoicing follows the course of the project and avoids a supplier's dependence on the goodwill of
474
.. i18n: the client in approving certain phases.
476
.. i18n: * Invoicing of expenses follows the same workflow and is therefore very simple.
478
* Fixed-price contracts and cost-reimbursable contracts are invoiced in the same way, which makes
479
the company's invoicing process quite simple and systematic even when the projects are mixed.
481
* Everything is invoiced on the basis of worked time, making it easy to forecast invoicing from
482
plans linked to the different analytical accounts.
484
* This method of proceeding educates project managers just as much as the client because refunds
485
have to be given for work done if the project slips.
487
* Invoicing follows the course of the project and avoids a supplier's dependence on the goodwill of
488
the client in approving certain phases.
490
* Invoicing of expenses follows the same workflow and is therefore very simple.
492
.. i18n: .. note:: Negotiating contracts
494
.. i18n: In contract negotiation, invoicing conditions are often neglected by the client.
495
.. i18n: So it can often be straightforward to apply this method of invoicing.
497
.. note:: Negotiating contracts
499
In contract negotiation, invoicing conditions are often neglected by the client.
500
So it can often be straightforward to apply this method of invoicing.
502
.. i18n: Contracts limited to a quantity
503
.. i18n: -------------------------------
505
Contracts limited to a quantity
506
-------------------------------
509
.. i18n: single: module; account_analytic_analysis
512
single: module; account_analytic_analysis
514
.. i18n: Finally certain contracts are expressed in terms of a quantity rather than a fixed amount. Support
515
.. i18n: contracts comprising a number of prepaid hours are a case in point. To generate such contracts in
516
.. i18n: Open ERP you should start by installing the module :mod:`account_analytic_analysis`.
518
Finally certain contracts are expressed in terms of a quantity rather than a fixed amount. Support
519
contracts comprising a number of prepaid hours are a case in point. To generate such contracts in
520
Open ERP you should start by installing the module :mod:`account_analytic_analysis`.
522
.. i18n: Then you can set a maximum number of hours for each analytic account. When employees enter their
523
.. i18n: time worked on the support contract in the timesheets, the hours are automatically deducted from the
524
.. i18n: maximum set on each analytic account.
526
Then you can set a maximum number of hours for each analytic account. When employees enter their
527
time worked on the support contract in the timesheets, the hours are automatically deducted from the
528
maximum set on each analytic account.
530
.. i18n: You must also name someone in the company responsible for renewing expired contracts. They become
531
.. i18n: responsible for searching through the list of accounts showing negative remaining hours.
533
You must also name someone in the company responsible for renewing expired contracts. They become
534
responsible for searching through the list of accounts showing negative remaining hours.
536
.. i18n: The client contract can be limited to a certain quantity of hours, and it can also be limited in
537
.. i18n: time. For that, you set an end date for the corresponding analytic account.
539
The client contract can be limited to a certain quantity of hours, and it can also be limited in
540
time. For that, you set an end date for the corresponding analytic account.
542
.. i18n: .. Copyright © Open Object Press. All rights reserved.
544
.. Copyright © Open Object Press. All rights reserved.
546
.. i18n: .. You may take electronic copy of this publication and distribute it if you don't
547
.. i18n: .. change the content. You can also print a copy to be read by yourself only.
549
.. You may take electronic copy of this publication and distribute it if you don't
550
.. change the content. You can also print a copy to be read by yourself only.
552
.. i18n: .. We have contracts with different publishers in different countries to sell and
553
.. i18n: .. distribute paper or electronic based versions of this book (translated or not)
554
.. i18n: .. in bookstores. This helps to distribute and promote the Open ERP product. It
555
.. i18n: .. also helps us to create incentives to pay contributors and authors using author
556
.. i18n: .. rights of these sales.
558
.. We have contracts with different publishers in different countries to sell and
559
.. distribute paper or electronic based versions of this book (translated or not)
560
.. in bookstores. This helps to distribute and promote the Open ERP product. It
561
.. also helps us to create incentives to pay contributors and authors using author
562
.. rights of these sales.
564
.. i18n: .. Due to this, grants to translate, modify or sell this book are strictly
565
.. i18n: .. forbidden, unless Tiny SPRL (representing Open Object Press) gives you a
566
.. i18n: .. written authorisation for this.
568
.. Due to this, grants to translate, modify or sell this book are strictly
569
.. forbidden, unless Tiny SPRL (representing Open Object Press) gives you a
570
.. written authorisation for this.
572
.. i18n: .. Many of the designations used by manufacturers and suppliers to distinguish their
573
.. i18n: .. products are claimed as trademarks. Where those designations appear in this book,
574
.. i18n: .. and Open Object Press was aware of a trademark claim, the designations have been
575
.. i18n: .. printed in initial capitals.
577
.. Many of the designations used by manufacturers and suppliers to distinguish their
578
.. products are claimed as trademarks. Where those designations appear in this book,
579
.. and Open Object Press was aware of a trademark claim, the designations have been
580
.. printed in initial capitals.
582
.. i18n: .. While every precaution has been taken in the preparation of this book, the publisher
583
.. i18n: .. and the authors assume no responsibility for errors or omissions, or for damages
584
.. i18n: .. resulting from the use of the information contained herein.
586
.. While every precaution has been taken in the preparation of this book, the publisher
587
.. and the authors assume no responsibility for errors or omissions, or for damages
588
.. resulting from the use of the information contained herein.
590
.. i18n: .. Published by Open Object Press, Grand Rosière, Belgium
592
.. Published by Open Object Press, Grand Rosière, Belgium