Lean is the buzzword of this century – all the organisations, whether big or small, want to do more and better things in less time and with fewer resources. While this is easy for small organisations, the big ones or even the medium sized enterprises often take lot of time to cut the flab and get to the right size in terms of resources. What makes this so difficult? Why isn’t it possible to move quickly in the direction you want to? While there is not a single reason for this, the biggest contributor to such a situation is unplanned growth. Especially in the initial stages of the company, people focus more on growth and less on planning, leading to extra hires and extra resources. When such companies grow bigger and recognise that they need to pivot, then it’s too late! So, why not plan in advance and grow organically?
We will explore the open source tool ERPNext and learn how to use it to manage resources in your company. It doesn’t matter whether you have a small or a big setup – everyone needs to manage resources well. ERPNext offers the complete spectrum of resource planning tools, from CRM and HR to asset management and accounting. We used Ubuntu 14.04 as the host and software from the ERPNext GitHub repository.
ERPNext can be installed in two different ways, so you just need to choose the installation type best suited to your use case. The first and probably the easiest way to install ERPNext is by downloading the VirtualBox image file and mounting it on VirtualBox. For the uninitiated, VirtualBox is an open source virtualisation tool backed by Oracle. It is available for almost all the major platforms – Linux, Windows, Mac and so on. So, you can install VirtualBox on your system and then mount the ERPNext VirtualBox image file. Then you need to boot the virtual machine, access http://localhost:8080 via the browser in the host machine, and log in using the credentials Administrator (user) and admin (password).
The other way to install ERPNext is via the automated script available at their GitHub page. Just open the command prompt and type the following commands:
# wget https://raw.githubusercontent.com/frappe/
# sudo bash setup_frappe.sh –setup-production
The first command downloads the script setup_frappe.sh and the second command executes it on your system. If everything is fine you will get a confirmation message. You can then access ERPNext at http://localhost:80. Note that the passwords are generated dynamically for this installation process; you can find them at ~/frappe_passwords.txt. Now log in as admin using the username Administrator and password from the passwords file. After the first successful login, the setup wizard will ask you to provide several details related to the admin user, your company, taxes, customers and suppliers. You can either fill them or skip them to do later.
2. Setup users and permissions
After you have ERPNext installed and the basic data filled in, the next important thing to do is to set up the users and their permissions in the system. ERPNext uses a role-based permission system, so once a user is assigned a role, their permissions automatically change as per the role. To add new users, go to Setup>Users and Permissions>User. Once you click on the user link, you’ll have the user list visible. Here, click on the New button in the top-left corner. Next, a form will appear for you to fill in the user details – only the first name and email id are mandatory. Click Save after you have entered the details. The page then redirects you to the user details page, where you can set the roles for the new user. You also have options to set the security details, new password, third party authentication and so on.
3. System settings
The next step is to personalise the tool. Go to Setup>Settings, where you will see four options available. The first is System Settings, which enables you to set up the language, date, time and more. Second is Show/Hide Modules, where you can decide which of the system modules will be visible on the home page when a user logs in. The third option is Naming Series, where you set the naming series for the various transactions on the system. For example, if you set the series for journal voucher as JRNLV.#### then vouchers will be numbered as JRNLV.0001, JRNLV.0002 and so on. Last is the Global Settings, for setting the currency and company details.
4. Price lists
All the products and items that you may need to procure, or the finished products that your organisation sells, need to have prices associated with them. Now, prices are no longer just the function of cost; there are several other factors affecting them like customer, currency, region and shipping costs. In such a dynamic scenario it is almost mandatory to have different price lists based on different parameters. Thankfully, ERPNext supports price lists and you can maintain as many different ones as you like. You can access price lists under the Buying, Selling or the Stock sections. Just go to Buying/Selling/Stock>Setup>Price List to see the list of price lists. Note that there are two default lists already created by the system.
Now click the New button in the top-left corner. Fill in the details and tick the buying or selling checkbox based on the type. Then click Save and you have the new price list ready.
Workflows are an integral part of an organisation, and ERPNext doesn’t let you down in this area. Let’s see how to implement workflows based on roles: the first important thing to note here is that workflows are applicable to document types in ERPNext, and so you need to know the document on which your workflow will be based. To add a workflow, go to Setup>Workflows>New Workflow, then click on the ‘Make a new workflow’ button. Next, enter the workflow name and the applicable document type. Now you need to set the states of the workflow and the roles allowed to edit the workflow in that state. For example, in a typical leave application workflow the states will be either approved, pending or rejected (the default states available), and the role allowed to edit the workflow will be the HR Manager. You can also add new workflow states while editing the row. The next step is to add the transition rules, ie the steps that will change the state of the workflow – for example, the transition approve will change the state of a leave application from pending to approved.
6. Make a brand
Branding is another very important aspect of a business. As they say: act big, even if you are small. So, every time you as a business communicate with an external entity, it is important to get your brand noticed. ERPNext has a feature called Print Format that will help you achieve this. Print format lets you define the format for a document type. This way, whenever a new document of that type is created, it automatically takes the form as defined in Print Format. To get started, go to Setup>Printing and Branding>Print Format to be able to see the list of predefined print formats. To add a new one, click on the New button in the top-right corner. On the next page, set the document type for which this print format is applicable. You will then need to write the HTML for the page; you can refer the Bootstrap CSS framework and Jinja template designer documentation.
With the background set, let’s head to the basic business functions: buying and selling products. An enterprise resource planning system must enable you to properly manage these two things and ERPNext does that too. While on the home page, click on Buying. The first option under Downloads is Supplier – this works as the supplier database, so add all your suppliers here. Once you click on a supplier, all the related documents like quotations, purchase orders, receipts and invoices are shown along with their basic info, contact details and communication history. So, this is your one-stop shop to deal with almost everything related to suppliers. Next is the Material Request list to help you add requests for a raw material, and then Supplier Quotation and Purchase Order follow this. The Contact and Address fields help you manage the contact details, and finally, Items is the place to find or add the list of raw materials that you need to procure. Also, note that a few options here like Contact are accessible via different sections too, so if you make changes in one place then they will be visible elsewhere as well.
To manage sales, click on the Selling section on the home page. The first option here is Lead – a database for potential customers, similar to CRM tools, you can track conversations and convert leads into customers. Second is the Customer, for people/organisations who have already bought something. The third option is Opportunity; the main difference between a lead and an opportunity is that leads are people or organisations that may buy, while opportunities are leads that are definitely looking to buy. This means that you can only create an opportunity if certain criteria are met – for example, the lead liked your product demo. Also, an opportunity can only be created by using either a lead or a customer. The fourth option is Quotation, for quotes to the customer or leads. Fifth is Sales Order, listing the confirmed orders. The last three options are same as the Buying section.
In line with typical transaction types, there are two types of invoices supported – sales invoice (raised to customers) and purchase invoice (raised by suppliers). To access sales invoices, go to Accounts>Documents>Sales Invoice and click on the ‘Make a new sales invoice’ button. In the form that appears, you can fill in the details or even choose to populate it with data from sales orders or delivery notes. Similarly, to access purchase invoices, go to Accounts>Documents>Purchase Invoice and click on ‘Make a new purchase invoice’. It is obvious that this has to be raised by the suppliers, and so in real-world scenarios the supplier will have access to the system and raise the invoice. Note that a purchase invoice can be preloaded using the data from a purchase order or a purchase receipt.
10. Human resource management
ERPNext is a huge tool and covers almost all of the important aspects of a business. So talking of important aspects, we just can’t ignore HR management. To finish, let’s see how to manage human resources in ERPNext. As you log in, you can see the Human Resources section on the home page. Click to enter and you’ll find almost all the major HR management features: employee records, leave applications, expense claims, attendances, salary slips, appraisals, and even job opening and applicant management – you have it all here. Next, click on the Tools link on the left sidebar; here you can find the Process Payroll, Upload Attendance and the Leave Allocation tools. To process the payroll on the payroll freeze date, just click on the Process Payroll link and then fill in the details like the concerned branch, department and designation, for example. Optionally, you can also check the Send Email checkbox to send salary slips to all the employees via email. The Upload Attendance field enables you to upload the employee attendance via CSV files, and Leave Allocation can be used to allocate designated leaves to the employees during the beginning of the leave cycle.