Book Image

Working with OpenERP

By : Greg Moss
Book Image

Working with OpenERP

By: Greg Moss

Overview of this book

<p>OpenERP continues to gain momentum throughout the world in providing the best platform for open source ERP installations. This book covers all the essential modules and how to get the power of OpenERP to work for you.</p> <p>"Working with OpenERP" provides a real-world business solution approach to integrating OpenERP into your small or medium sized business. This book begins by walking you through how to install OpenERP on a Windows or Ubuntu server then takes you through all the essential modules you will need to get OpenERP up and running for your company.</p> <p>All through the book, "Working with OpenERP" provides real-world examples in sales, customer relationship management (CRM), purchasing, manufacturing, human resources, and financial accounting. After covering the basics, you will learn how to customize various methods to configure OpenERP for your business and even build your own custom modules.</p> <p>"Working with OpenERP" covers all the basics of installing and using OpenERP along with advanced real-world examples you will not find anywhere else.</p>
Table of Contents (21 chapters)
Working with OpenERP
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Preface

Working with OpenERP provides a comprehensive walkthrough for installing, configuring, and implementing OpenERP in real-world business environments. This book will assist you in understanding the value of Enterprise Resource Planning (ERP) systems and best practice approaches for getting a system up and running in your organization. For those that are new to ERP systems this book will serve as a solid introduction. In later chapters the book covers advanced configurations and will show you how to customize OpenERP to fit the needs of practically any business.

What this book covers

The book is divided into three sections:

  • Installation of OpenERP and the basics for implementing OpenERP in your business (Chapter 1, Setting Up OpenERP through Chapter 4, Purchasing with OpenERP)

  • Introduction to accounting and finance setup and modules to help your business run more efficiently (Chapter 5, Making Goods with Manufacturing Resource Planning through Chapter 8, Understanding Project Management)

  • Advanced configurations and customization of OpenERP (Chapter 9, Creating Advanced Searches and Dashboards through Chapter 12, Modifying Documents and Reports)

Now let's discuss in some detail what each chapter will cover:

Chapter 1, Setting up OpenERP, covers the different installation types and prerequisites for both Windows and Ubuntu. Instruction is provided for finding the right download package and setting up OpenERP. The chapter then goes into the basics for configuring OpenERP. We will also discuss the advantages of running OpenERP in the cloud and the basic sign-up process for accessing a demonstration installation to get an overview of the software.

Chapter 2, Starting Your First Company, begins by introducing you to the real-world case study that will be used as an example throughout the book. We continue by learning how to create the company database and configure the basic company settings required to quickly get your first OpenERP system up and running. The first module, Sales Management, will be installed, and we will walk through the steps of entering a customer and a product. The chapter concludes by entering a sales order and completing the sale.

Chapter 3, Exploring Customer Relationship Management in OpenERP, starts with a basic overview of CRM systems and their importance in today's modern business environment. After we cover the installation of the CRM module, a lead is entered for our sample company. We will demonstrate CRM workflow by turning the lead into a customer. Next, a quote is generated for our newly acquired customer, and a call is scheduled for follow-up. Finally we give an introduction to social features that can be used to communicate with employees and customers throughout the sales process.

Chapter 4, Purchasing with OpenERP, shows us how to install the purchasing module, set up suppliers and begin purchasing and receiving products in OpenERP. Later in the chapter we learn how to tie purchasing into sales orders to automatically generate draft purchase orders based on your business requirements.

Chapter 5, Making Goods with Manufacturing Resource Planning, begins to explore some of the primary functionality of ERP systems for manufacturing operations. You will learn how to set up your manufacturing orders and define a bill of materials to specify the raw materials that will go into your final products. Manufacturing operations can then be extended with routing and work centers to provide you with more control in tracking time and resources.

Chapter 6, Configuring Accounting and Finance, discusses the Accounts Receivable and Accounts Payable basic functions. Next, we will introduce the chart of accounts and discover how to set up fiscal periods. This chapter will also include the basic accounting reports and how to close a period.

Chapter 7, Implementing the Human Resources Application, begins by installing the basic HR modules and going over the employee directory. Other topics in the chapter will include timesheets, recruitment process, and leave management. The chapter concludes with installing the Document Manager and using it to provide documents to employees.

Chapter 8, Understanding Project Management, covers the features of the Project Management module in OpenERP. We will create a project, see how to enter tasks, and tie a project to a specific customer. Next, team members are assigned to the project, and we configure task stages. We will then go over real-world examples of using the Project Management module to more easily manage complex orders and customer needs with greater ease.

Chapter 9, Creating Advanced Searches and Dashboards, demonstrates how to utilize the advanced search features and configure custom dashboards in OpenERP. By the end of the chapter, the reader with be able to create and save custom searches to reuse later as well as add search results to dashboards.

Chapter 10, Customizing OpenERP for Your Business, explains how to enter developer mode for making a variety of custom changes to OpenERP. We will walk through the steps to add fields to the sales order form and then include the fields in tree views for sorting and reporting. From here, we will get into advanced configuration topics to better customize OpenERP for your specific business requirements.

Chapter 11, Understanding Workflows, introduces the workflow editor and analyzes the basic sales order workflow. Using our case study example, the workflow is modified to improve the flow of information through the business. By the end of the chapter you should have a basic understanding of modifying workflows to better handle unique business processes.

Chapter 12, Modifying Documents and Reports, goes over the basic reporting mechanisms available in OpenERP and weighs the advantages and disadvantages of the various options. We then demonstrate how to install the OpenOffice reporting module and make changes to a report.

Chapter 13, Discovering Custom OpenERP Modules, introduces the process of developing custom solutions in OpenERP. We build on what we have learned in customizing OpenERP and create a module that will persist our custom field and views within our module. Next we build on the workflow modifications we made in Chapter 11, Understanding Workflows, and upgrade our module to approve art designs for our real-world example.

Chapter 14, Integrating Warehouse and Inventory Management Practices, helps us configure our installation when inventory management becomes more sophisticated and involves multiple warehouses and multiple locations.You can download this from https://www.packtpub.com/sites/default/files/downloads/3800OS_Chapter14_Integrating_Warehouse_and_Inventory_Management_Practices.pdf

Appendix, Locating Additional OpenERP Resources, provides a useful collection of links that will help you in deploying an OpenERP installation.

What you need to know to use this book

To get the most out of this book you should have an understanding of basic business operations. For example, you should know the purpose of a sales order and a purchase order. The reader should also have basic computer skills for understanding file systems and installing software. For more advanced customization topics in the book, the reader should have a basic knowledge of databases and programming concepts.

Who this book is for

This book is for anyone that is interested in implementing an ERP system in a business organization. If you are an IT professional looking to get a functional understanding of OpenERP, then this book is for you. This book is also appropriate business and operations managers who wish to get a comprehensive understanding of OpenERP and how it can be used to improve business processes.

What is an ERP system?

An Enterprise Resource Planning (ERP) system is essentially a suite of business applications that are integrated together to assist a company in collecting, managing, and reporting information throughout core business processes. These business applications, typically called modules, can often be independently installed and configured based on the specific needs of the business. As the needs of the business change and grow, additional modules can be incorporated into an existing ERP system to better handle the new business requirements. This modular design of most ERP systems gives companies great flexibility in how they implement the system.

In the past, ERP systems were primarily utilized in manufacturing operations. Over the years, the scope of ERP systems has grown to encompass a wide range of business-related functions. Recently ERP systems have started to include more sophisticated communication and social networking features.

Common ERP modules

The core applications of an ERP system typically include:

  • Sales Orders

  • Purchase orders

  • Accounting and finance

  • Manufacturing Resource Planning (MRP)

  • Customer Relationship Management (CRM)

  • Human Resources (HR)

Let us take a brief look at each of these modules and how they address specific business needs.

Selling products to your customer

Sales Orders (SO), are documents that a business generates when they sell products and services to a customer. In an ERP system, the Sales Order module usually will allow management of customers and products to optimize efficiency for data entry of the sales order. Many sales orders begin as customer quotes. Quotes allow a salesperson to collect order information that may change as the customer makes decisions on what they want in their final order.

Once a customer has decided exactly what they wish to purchase, the quote is turned into a sales order and is confirmed for processing. Depending on the requirements of the business, there are a variety of methods to determine when a customer is invoiced or billed for the order.

The preceding screenshot shows a sample sales order in OpenERP.

Purchasing products from suppliers

Purchase Orders, often known as PO, are documents that a business generates when they purchase products from a vendor. The Purchase Order module in an ERP system will typically include management of vendors (also called suppliers) as well as management of the products that vendor carries. Much like sales order quotes, a purchase order system will allow a purchasing department to create draft purchase orders before they are finalized into a specific purchasing request.

Often a business will configure the Sales Order and Purchase Order modules to work together to streamline business operations. When a valid sales order is entered, most ERP systems will allow you to configure the system so that a purchase order can be automatically generated if the required products are not in stock to fulfill the sales order. ERP systems will allow you to set minimum quantities on-hand or order limits that will automatically generate purchase orders when inventory falls below a predetermined level. When properly configured, a purchase order system can save a significant amount of time in purchasing operations and assist in preventing supply shortages.

The preceding screenshot shows a sample Purchase Order in OpenERP.

Accounting and finance

Accounting and finance modules integrate with an ERP system to organize and report business transactions. In many ERP systems, the accounting and finance module is known as GL for General Ledger. All accounting and finance modules are built around a structure known as the chart of accounts. The chart of accounts organizes groups of transactions into categories such as assets, liabilities, income, and expenses. ERP systems provide a lot of flexibility in defining the structure of your chart of accounts to meet the specific requirements for your business.

Accounting transactions are grouped by date into periods (typically by month) for reporting purposes. These reports are most often known as financial statements. Common financial statements include balance sheets, income statements, cash flow statements, and statements of owner's equity.

Managing your accounts and financing in OpenERP

Accounting and finance modules integrate with an ERP system to organize and report business transactions. In many ERP systems, the accounting and finance module is known as GL for General Ledger. All accounting and finance modules are built around a structure known as the chart of accounts. The chart of accounts organizes groups of transactions into categories such as assets, liabilities, income, and expenses. ERP systems provide a lot of flexibility in defining the structure of your chart of accounts to meet the specific requirements for your business.

Accounting transactions are grouped by date into periods (typically by month) for reporting purposes. These reports are most often known as financial statements. Common financial statements include balance sheets, income statements, cash flow statements, and statements of owner's equity.

Handling your manufacturing operations

The Manufacturing Resource Planning (MRP) module manages all the various business operations that go into the manufacturing of products. The fundamental transaction of an MRP module is a manufacturing order, which is also known as a production order in some ERP systems. A manufacturing order describes the raw products or subcomponents, steps, and routings required to produce a finished product. The raw products or subcomponents required to produce the finished product are typically broken down into a detailed list called a bill of materials or BOM. A BOM describes the exact quantities required of each component and are often used to define the raw material costs that go into manufacturing the final products for a company.

Often an MRP module will incorporate several submodules that are necessary to define all required operations. Warehouse management is used to define locations and sublocations to store materials and products as they move through the various manufacturing operations. For example, you may receive raw materials in one warehouse location, assemble those raw materials into subcomponents and store them in another location, then ultimately manufacture the end products, and store them in a final location before delivery to the customer.

Managing customer relations in OpenERP

In today's business environment, quality customer service is essential to being competitive in most markets. A Customer Relationship Management (CRM) module assists a business in better handling the interactions they may have with each customer. Most CRM systems also incorporate a presales component that will manage opportunities, leads, and various marketing campaigns.

Typically, a CRM system is utilized the most by the sales and marketing departments within a company. For this reason, CRM systems are often considered to be sales force automation tools or SFA tools. Sales personnel can set up appointments, schedule call backs, and employ tools to manage their communications. More modern CRM systems have started to incorporate social networking features to assist sales personnel in utilizing these newly emerging technologies.

Configuring human resource applications in OpenERP

Human Resource modules, commonly known as HR, manage the workforce or employee-related information in a business. Some of the processes ordinarily covered by HR systems are payroll, time and attendance, benefits administration, recruitment, and knowledge management.

Increased regulations and complexities in payroll and benefits have led to HR modules becoming a major component of most ERP systems. Modern HR modules typically include employee "kiosk" functions to allow employees to self-administer many tasks such as putting in a leave request or checking on their available vacation time.

Finding additional modules for your business requirements

In addition to core ERP modules, OpenERP has many more official and community-developed modules available. At the time of this book's publication, the OpenERP application repository had 1,348 modules listed for Version 7! Many of these modules provide small enhancements to improve usability, like adding payment type to a sales order. Other modules offer e-commerce integration or complete application solutions, such as managing a school or hospital.

Here is a short list of the more common modules you may wish to include in an OpenERP installation:

  • Point of Sale

  • Project Management

  • Analytic Accounting

  • Document Management System

  • Outlook Plugin

  • Country-Specific Accounting Templates

  • OpenOffice Report Designer

Throughout the book you will be introduced to various OpenERP modules that extend the functionality of the base OpenERP system. You can find a complete list of OpenERP modules at: http://v6apps.openerp.com/.

The preceding screenshot shows the module selection page in OpenERP.

Getting into OpenERP

Do you want to jump in right now and get a look at OpenERP 7 without any complex installations? Well, you are in luck! You can access an online installation of OpenERP where you can get a peek at many of the core modules right from your web browser. The installation is shared publicly, so you will not want to use this for any sensitive information. It is ideal, however, for getting a quick overview of the software and for getting an idea for how the interface functions.

You can access the demonstration version of OpenERP at: https://demo2.openerp.com.

OpenERP – an open source ERP solution

OpenERP is a collection of business applications that are available under an open source license. For this reason, OpenERP can be used without paying license fees and can be customized to suit the specific needs of a business. There are many advantages to open source software solutions. Some of these advantages are covered in the following sections.

Free your company from expensive software license fees

One of the primary downsides of most ERP systems is they often involve expensive license fees. Increasingly, companies must pay these license fees on an annual basis just to receive bug fixes and product updates. Because ERP systems can require companies to devote great amounts of time and money for setup, data conversion, integration, and training, it can be very expensive, often prohibitively so, to change ERP systems. For this reason many companies feel trapped as their current ERP vendors increase license fees.

Choosing open source software solutions frees a company from the real possibility that a vendor will increase license fees in the years ahead.

Modify the software to meet your business needs

With proprietary ERP solutions, you are often forced to accept the software solution the vendor provides chiefly "as is". While you may have customization options and can sometimes pay the company to make specific changes, you rarely have the freedom to make changes directly to the source code yourself. The advantages to having the source code available to enterprise companies can be very significant. In a highly competitive market being able to develop solutions that improve business processes and give your company the flexibility to meet future demands can make all the difference.

Collaborative development

Open source software does not rely on a group of developers who work secretly to write proprietary code. Instead, developers from all around the world work together transparently to develop modules, prepare bug fixes, and increase software usability. In the case of OpenERP, all of the source code is available at https://launchpad.net/. Here developers submit their code changes through a structure called branches. Changes can be peer reviewed, and once the changes are approved, they are incorporated into the final source code product.

OpenERP – AGPL Open Source License

The term "open source" covers a wide range of open source licenses that have their own specific rights and limitations. OpenERP and all of its modules are released under the Affero General Public License (AGPL) version 3. One key feature of this license is that any custom developed module running under OpenERP must be released with source code. This stipulation protects the OpenERP community as a whole from developers who may have a desire to hide their code from everyone else.

You can find the full AGPL license at: http://www.gnu.org/licenses/agpl-3.0.html.

A real-world case study using OpenERP

The goal of this book is to do more than just walk through the various screens and reports of OpenERP. Instead we want to give you a solid understanding of how you would implement OpenERP to solve real-world business problems. For this reason, this book will present a real-life case study in which OpenERP was actually utilized to improve specific business processes.

Silkworm, Inc. – a mid-sized screen printing company

Silkworm, Inc. is a mid-sized silkscreen printer in the Midwest that manufactures and sells a variety of custom apparel products. Using OpenERP, we will set up the company records (or system) from scratch and begin by walking through their most basic sales order process: selling t-shirts. From there, we will move on to manufacturing operations where custom art designs are developed and then screen printed onto raw materials for shipment to customers.

The marketing and sales departments at Silkworm rely heavily on the CRM functions in OpenERP. We will go over how they manage opportunities and leads and take advantage of the many communication features of OpenERP. The project manager module plays a central role in organizing complex projects that can involve multiple sales orders and detailed product requirements.

In later chapters, we will get into some of the OpenERP customization that was required to meet the specific needs of our case study's business. New fields to collect data and changes in workflow are examples of the customization we will be covering in this real-life example. Finally, we will introduce more complex custom development concepts that call for (or necessitate) modifying the actual source code of OpenERP to streamline business processes and improve efficiency for the business.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "We could create our directory in the addons folder."

A block of code is set as follows:

  <field name="x_daterequired"/>
  <field name="x_rush"/>

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

        'th_weight': fields.float('Weight', readonly=True, states={'draft': [('readonly', False)]}),

        'state': fields.selection([('cancel', 'Cancelled'),('draft', 'Draft'),('confirmed', 'Confirmed'),('exception', 'Exception'),('done', 'Done')], 'Status', required=True, readonly=True,

New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "You can click on the Skip this step link to go ahead and begin using OpenERP immediately."

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply send an e-mail to , and mention the book title via the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the errata submission form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website, or added to any list of existing errata, under the Errata section of that title. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Piracy

Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at if you are having a problem with any aspect of the book, and we will do our best to address it.