An integrated process Employee Expenses

224 Figure 17.22: Leave request form Leaves requests can be recorded by employees and validated by their managers. Once a leave request is validated it appears automatically in the agenda of the employee. You can define several allowance types paid holidays, sickness, etc and manage allowances per type. OpenERP can provide following features for efficient holiday management process. • It helps you to manage leaves and leaves’ requests. • A synchronisation with an internal agenda use of the CRM module is possible: in order to automatically create a case when an holiday request is accepted, you have to link the holidays status to a case section. • You can set up colour preferences according to your leave type like Seak Leave should be red in reports. • An employee can make an ask for more off-days by making a new Allocation The statistical report for the leaves can be seen using Human Resources → Reporting → Holidays → Leaves Analysis menu. 225 CHAPTER EIGHTEEN DELIVER QUALITY SERVICES This chapter focuses on the management of contracts, and the services associated with that. The complete process of managing services is studied here: from defining prices and contracts to automatically invoicing the services through planning, and the treatment of additional costs such as expense receipts. For this chapter you should start with a fresh database that includes demo data, with sale, project and all of their dependencies installed, and no particular chart of accounts configured.

18.1 Managing Service Contracts

Contracts can take different forms within OpenERP, depending on their nature. So you can have several distinct types of service contracts, such as: • fixed-price contracts, • cost-reimbursement contracts, invoiced when services are completed, • fixed-price contracts, invoiced monthly as services are carried out. Tip: Contract quotations Some companies commit to contracts on the basis of a requested volume at a certain price for a defined period. In such a case, the contract is represented by a pricelist for that specific customer. The pricelist is linked in the Sales and Purchases tab of the Customers form, so that it is brought up whenever anything is bought from or sold to this partner depending on whether it is a purchase or sales agreement. OpenERP automatically selects the price based on this agreed pricelist.

18.1.1 Fixed Price contracts

Fixed price contracts for the sale of services are represented in OpenERP by a Sales Order. In this case, the supply of services is managed just like all other stockable or consumable products. You can add new orders using the menu Sales → Sales → Sales Orders. The new Sales Order document starts in the Quotation state, so the estimate has no accounting impact on the system until it is confirmed. When you confirm the order, your estimate moves into the state Manual In Progress . 226 Figure 18.1: Process for handling a Sales Order Once the order has been approved, OpenERP will automatically generate an invoice andor a delivery document proposal based on the parameters you set in the order. The invoice will be managed by the system depending on the setting of the field Shipping Policy on the order’s second tab Other Information: • Payment Before Delivery : OpenERP creates an invoice in the Draft state. Once this is confirmed and paid, the delivery is activated. • Invoice on Order After Delivery : the delivery order is produced when the order is validated. A draft invoice is then created when the delivery has been completed. • Shipping Manual Invoice : OpenERP starts the delivery from the confirmation of the order, and adds a button which you manually click when you are ready to create an invoice. • Invoice from Delivery : invoices are created from the picking stage. Note: Delivery of an order The term ‘delivery’ should be taken in the broadest sense in OpenERP. The effect of a delivery depends on the configuration of the sold product. If its type is either Stockable Product or Consumable, OpenERP will make a request for it to be sent for picking. If the product’s type is Service, OpenERP’s scheduler will create a task in the project management system, or create a subcontract purchase order if the product’s Procurement Method is Make to Order. Invoicing after delivery does as it says: invoicing for the services when the tasks have been closed. When you sign a new contract, you can just enter the order into the system and OpenERP will track the order. This works well for small orders. But for large valued service orders, you might want to invoice several times through the contract, for example: • 30 on order, • 40 on completion, • 30 one month after the system has gone into production. In this case you should create several invoices for the one Sales Order. You have two options for this: • Do not handle invoicing automatically from the Sales Order but carry out manual invoicing instead, • Create draft invoices and then link to them in the third tab History of the Sales Order, in the Related Invoices section. When you create an invoice from the order, OpenERP deducts the amounts of the invoices already linked to the order to calculate the proposed invoice value.

18.1.2 Cost-reimbursement contracts

Some contracts are not invoiced from a price fixed on the order but from the cost of the services carried out. That is usually what happens in the building sector or in large projects. The approach you use for this is totally different because instead of using the sales order as the basis of the invoice you use the analytic accounts. For this you have to install the module hr_timesheet_invoice. An analytic account is created for each new contract. The following fields must be completed in this analytic account: