You are on page 1of 18

Introduction

Today, small and medium-sized businesses (SMEs) also face some of the problems that large enterprises do.
One of them being planning and managing their resources. SMEs face similar complexities but have limited
resources to deal with them.

Small businesses (like their bigger counterparts) have to:

 Do accounts to track their sales/purchases.


 Do their taxes.
 Pay their employees.
 Manage deliveries within promised timelines.
 Deliver quality goods and services.
 Communicate with customers, answer their queries.

Large enterprises invest millions of dollars in highly sophisticated systems like SAP. SAP and similar systems
are able to handle requirements from these large enterprises to bring their multi-country, multi-company,
multi-currency, global businesses into a single platform. This has helped them achieve consolidation of
data/records in the fundamental processes such as accounting, taxation, payroll, reporting, and supply chain to
name a few.

In contrast to large enterprises, SMEs have been left out of the 1st wave of digital revolution (1995-2015). The
main reason for being left out is because they don't have the financial resources to license, hire programmers
and customize such software to match their needs. Systems like SAP have been a no-go for most SMEs. Such
systems need a minimum CAPEX or OPEX layout of $100k (Yes, One Hundred Thousand Dollars) and
upwards. Even with cloud offerings (Software as a Service, SAAS) from such vendors, there is no easy Do It
Yourself (DIY) people can feel confident about.

So even today, small businesses continue to struggle to keep things organized. They often use a mix of
applications and tools such as spreadsheets, accounting software, web-based CRMs to manage their day-to-day
record keeping. As a consequence, they have to access different systems to understand customers' master data,
sales, cash flows, or profitability. The information exists in different silos. It becomes hard to combine the data
in order to get useful insights or alerts. This leads to SMEs being reactive instead of being proactive in their
day to day operations. With such a constrained way of working, there's limited scope for growth.

ERPNext addresses some fundamental problems SMEs struggle with when managing their resources:

1. Affordability: It is a Free and Open-Source Software, freely available to download and install.
2. Completeness: All necessary modules are available. Customization: It is easy to add fields or add
more features.
3. Efficiency: Computing requirements are relatively low (cheaper to host and manage).
4. Wholesomeness: A single system and database that allows multiple users to record transactions or
extract data simultaneously
Flowchart

Installation

A typical bench setup provides two types of environments — Development and


Production.
The setup for each of these installations can be achieved in multiple ways:

 Containerized Installation
 Manual Installation
We recommend using Docker Installation to set up a Production Environment. For
Development, you may choose either of the two methods to set up an instance.

Containerized Installation

A Frappe/ERPNext instance can be setup and replicated easily using Docker. The
officially supported Docker installation can be used to setup either of both Development
and Production environments.

Setup

Download the Easy Install script and execute it:

 $ wget https://raw.githubusercontent.com/frappe/bench/develop/easy-install.py
$ python3 easy-install.py --prod --email your@email.tld

This script will install docker on your system and will fetch the required containers, setup
bench and a default ERPNext instance.

The script will generate MySQL root password and an Administrator password for the
Frappe/ERPNext instance, which will then be saved under $HOME/passwords.txt of the
user used to set up the instance. It will also generate a new compose file under
$HOME/<project-name>-compose.

When the setup is complete, you will be able to access the system at http://<your-server-
ip>, wherein you can use the Administrator password to login.

Arguments

Here are the arguments for the easy-install script


usage: easy-install.py [-h] [-p] [-d] [-s SITENAME] [-n PROJECT] [--email EMAIL]

Install Frappe with Docker

options:
-h, --help show this help message and exit
-p, --prod Setup Production System
-d, --dev Setup Development System
-s SITENAME, --sitename SITENAME The Site Name for your production site
-n PROJECT, --project Project Name
--email EMAIL Add email for the SSL.

Troubleshooting
In case the setup fails, the log file is saved under $HOME/easy-install.log. You may then
 Create an Issue in this repository with the log file attached.

Manual Installation
Some might want to manually set up a bench instance locally for development. To
quickly get started on installing bench the hard wayYou'll must set up the system
dependencies required for setting up a Frappe Environment.
$ pip install frappe-bench

Basic Usage
Apart from bench init, all other bench commands are expected to be run in the
respective bench directory.

Create a new bench:

$ bench init [bench-name]

 Add a site under current bench

$ bench new-site [site-name]

Optional: If the database for the site does not reside on localhost or listens on a custom
port, you can use the flags --db-host to set a custom host and/or --db-port to set a
custom port.

$ bench new-site [site-name] --db-host [custom-db-host-Ip] --db-port [custom-db-port]

 Download and add applications to bench:

$ bench get-app [app-name] [app-link]


 Install apps on a particular site

$ bench --site [site-name] install-app [app-name]

 Start bench (only for development)

$ bench start

 Show bench help:

$ bench –help

Order management modules

 Buying
 Selling
 Stock
 Accounting
 CRM

CUSTOMER

A customer, who is sometimes known as a client, buyer, or purchaser is the one who receives goods, services,
products, or ideas, from a seller for a monetary consideration.

Every customer needs to be assigned a unique id. Customer name itself can be the id or you can set a naming
series for ids to be generated in Selling Settings.

To access the Customer list, go to: > Home > CRM > Sales Pipeline

Or

> Home > Selling > Customers

1. How to create a customer

 Go to the Customer list and click on New.


 Enter Full Name of the customer.
 Select Individual if the customer represents an individual or Company if the customer represents a
company in Type field.
 Select a Customer Group. Individual, Commercial, Non-Profit and Government are available by
default. You can create additional groups if you need.
 Select the Territory.
 If the customer is being created against a lead, you can select the same in From Lead field.
 Save.

2. Features

General flow of transactions for a customer is as following:

2.1Multiple Contacts and Addresses

Contacts and Addresses are stored separately so that you can attach multiple Contacts or Addresses to the
customer.

2.2Allow creation of Sales Invoice without Sales Order and Delivery Note

If the "Delivery Note Required" or "Sales Order Required" option is configured as "Yes" in Selling Settings,
it can be overridden for a particular customer by enabling the "Allow Sales Invoice Creation Without Sales
Order" or "Allow Sales Invoice Creation Without Delivery Note" in the Customer Master.
2.3Set Tax Withholding Category

You can set the Tax Withholding Category to set up TCS against eligible customers.

2.4 Default Currency and Price List

ERP Next supports Multiple Currencies and Price Lists.You can set the default currency to be used for this
customer in sales orders and sales invoices by selecting the appropriate currency in Billing Currency.

Similarly, you can set the default price list to be used for this customer in sales orders and sales invoices by
selecting the appropriate currency in the Default Price List.

2.5 Integration with Accounts

Unlike many accountings' software, you need not create a separate accounting ledger for each customer. By
default, a unified ledger named Debtors is created.

However, if you specifically need a separate ledger for a customer, first create the ledger under Accounts
Receivable in the Chart of Accounts and then add it to the ACCOUNTING section of the customer.

2.6 Credit Limit and Payment Terms

You can set the credit limit by entering the amount in 'Credit Limit' field. Read Credit Limit for more details.

You can select the default Payment Terms to be applied in sales orders and sales invoices in the 'Default
Payment Terms Template' field.
2.7 Sales Team and Sales Partner

 If you have one or more Sales Person to manage the sales to the customer, you can add them in the
SALES TEAM section. If multiple salespersons are involved, you can split
 contribution among them. Make sure that the sum of all salesperson's contribution equals 100%.

Check Sales Persons in Sales Transaction :

A Sales Partner is a third-party distributor / dealer / commission agent / affiliate / reseller who facilitates
your products/services sales, for a commission. If you sell your products/services to the customer through a
sales partner, you can set it in the 'Sales Partner' field and mention the 'Commission Rate' for calculation of
commission.

2.8 Loyalty Program

If you would like to offer a Loyalty Program to the customer, select the same in Loyalty Program field.

2.9 View Accounting Ledger and Accounts Receivable

Click on Accounting Ledger button to view all accounting transactions with the customer.

Click on the Accounts Receivable button to view the details of all outstanding invoices.

2.10 Set Customer Id, Default Customer Group, Territory, and Price List

You can set how a unique id should be generated for each customer in Selling Settings.

 Naming Series: If you would like a unique id to be generated for each customer based on the naming
series select 'Naming Series' in Customer Naming By.
 Customer Name: If customer name itself should be used as an id, then select 'Customer Name' in
Customer Naming By. In this case, if you create two customers with identical names, - 1 will be
suffixed to the second customer.

Suppliers are companies or individuals who provide you with products or services.

To access the Supplier list, go to: > Home > Buying > Supplier > Supplier

1. How to create a Supplier

 Go to the Supplier list and click on New.


 Enter the name of the supplier.
 Select the supplier group whether Pharmaceutical, Hardware etc.
 Save.

2. Features
Fields in future transactions will be auto populated if the 'Default' fields like Default Bank Account, Default
Payment Terms Template etc., are set in Supplier.

2.1 Tax details

 Country: If the supplier is from another country, you can change it here.
 Tax ID: Tax identification number of the supplier.
 Tax Category: This is linked to Tax Rule. If a Tax Category is set here, when you select this
supplier, the respective Purchase Tax and Charges template will be applied. This template is linked to
the Tax Rule and the Tax Rule is linked with a Tax Category. Tax Category can be used to group
suppliers to whom the same tax will be applied. For example: Government, commercial, etc...
 Print Language: The language in which the document will be printed.
 Tax Withholding Category: For India, TDS category for the Supplier. On setting a category here, it
will be fetched into the Purchase Invoice. For more information, visit the Tax Withholding
Category page.
 Disabled: Disables the Supplier and they won't be shown in the Supplier List.
 Is Transporter: If the supplier is selling your transport services, tick this box. 'GST Transporter ID'
field will be visible if this field is ticked.
 Internal Supplier: If the supplier is from a sister or parent/child company, tick this field and select
the company which they represent.

For India:

 GST Category: Select a GST Category of the supplier.


 PAN: For India, PAN (Permanent Account Number) card details of the Supplier.

2.2 Allow creation of Purchase Invoice without Purchase Order and Purchase Receipt

If the "Purchase Order Required" or "Purchase Receipt Required" option is configured as "Yes" in Buying
Settings, it can be overridden for a particular supplier by enabling the "Allow Purchase Invoice Creation
Without Purchase Order" or "Allow Purchase Invoice Creation Without Purchase Receipt" in the Supplier
Master.

2.3 Currency and Price List


Billing Currency: Your supplier's currency can be different from your company currency. If you choose JPY for a
supplier, then the currency will be filled as JPY and the exchange rate shown for future purchase transactions.

Each Supplier can have a default Price List so that every time you buy a new item from this supplier for different
prices, the price list associated with the supplier would be updated as well. Under the price list comes item price,
you can see the prices in Buying > Items and Pricing > Item Price.

If you select this supplier, then the associated Price List will be fetched in Purchase transactions.

2.4 Credit Limit

 Default Payment Terms Template: If a Payment Terms template is set here, it'll be automatically
selected for future purchase transactions.
 Block Supplier: You can block invoices, payments or both from a supplier till a specific date. Choose
'Hold Type', if you do not select a hold type, ERPNext will set it to "All". When a supplier is blocked,
their status will be shown as 'On Hold'.

The hold types are as follows:

o Invoices: ERP Next will not allow Purchase Invoices or Purchase Orders to be created for the
supplier
o Payments: ERPNext will not allow Payment Entries to be created for the Supplier
o All: ERPNext will apply both hold types above

If you do not set a release date, ERPNext will hold the Supplier indefinitely.

2.5 Default Payable Accounts

Add the default account from which invoices against this supplier will be paid. Add additional rows for more
companies, you can select only one account per company.

You can integrate a supplier with an account. For all Suppliers, "Creditor" account is set as the default payable
Account. When the Purchase Invoice is created, payable to the supplier is booked against the "Creditors"
account.

If you want to customize payable account for the Supplier, you should first add a payable Account in the Chart
of Account, and then select that Payable Account in the Supplier master.
If you don't want to customize the payable account and proceed with the default payable account "Creditor",
then do not update any value in the Default Supplier Account's table.

Default Payable Account is set in the Company master. If you want to set another account as Account as
default for payable instead of Creditors Account, go to Company master, and set that account as "Default
Payable Account".

Depending on your plan, you can add multiple companies in your ERPNext instance. One Supplier can be
used across multiple companies. In this case, you should define the Company-wise Payable Account for the
Supplier in the "Default Payable Accounts" table, i.e., add multiple rows

2.6 More Information

You can add the supplier's website and any additional details about your supplier in this section. If you freeze a
supplier with the 'Is Frozen' option, accounting entries for the supplier will be frozen. In this case the only user
whose entries will surpass the 'freeze' is the role assigned in 'Role Allowed to Set Frozen Accounts & Edit
Frozen Entries' in accounting > Settings > Accounts Settings. This is useful when the supplier's name or bank
details are being amended.

2.7 Address and Contacts

Contacts and Addresses in ERPNext are stored separately so that you can create multiple Contacts and
Addresses for one Supplier. Once Supplier is saved, you will find the option to create Contact and Address for
that Supplier.

When you select a Supplier in any transaction, contact for which "Is Primary" field id checked, it will auto-
fetch with the Supplier details.
2.8 After saving

Once all the necessary details are filled in, save the document. On saving, options to create the following will
be seen in the Dashboard:

 Request for Quotation: An RFQ against this supplier.


 Supplier Quotation: Any quotations that the supplier has sent you and you have submitted to the
system.
 Purchase Order: Purchase Orders you've made against this supplier.
 Purchase Receipt: Purchase receipts given by this supplier that you've saved in the system.
 Purchase Invoice: Purchase Invoices you've made against this supplier.
 Payment Entry: Payment Entries for the Purchase Invoices against this supplier.
 Pricing Rule: Any Pricing Rules linked with this supplier. See section 2.2 Currency and Price List to
know how it works.

By clicking on the View button, you can view the Accounting Ledger or Accounts Payable directly for this
supplier.

There's a button to 'Send GST Update Reminder' to the supplier. You need to have a default email account
setup first.

Stock Entry
A Stock Entry lets you record Item movement between Warehouses.

To access the Stock Entry list, go to: > Home > Stock > Stock Transactions > Stock Entry

Stock Entries can be made for the following purposes:


 Material Issue: If the material is being issued to someone in or outside the company (Outgoing
Material). The Items will be deducted from the Warehouse set under Source Warehouse.
 Material Receipt: If the material is being received (Incoming Material). The Items will be added to
the Warehouse set under Target Warehouse.
 Material Transfer: If the material is being moved from one internal Warehouse to another.
 Material Transfer for Manufacturing: If raw materials are being transferred for manufacturing. The
transfer can happen against a Work Order or a Job Card.
 Material Consumption for Manufacture: There can be multiple consumption stock entries against a
manufacturing Work Order.
 Manufacture: If the Material is being received from a Manufacturing/Production Operation.
 Repack: If the Original item/items are being repacked into new item/items.
 Send to Subcontractor: If the Material is being issued for a subcontract activity. This entry is made
from a Purchase Order. To know more, visit the subcontracting page.

1. Prerequisites
Before creating and using a Stock Entry, it is advised that you create the following first:
 Warehouse
 Item

2. How to create a Stock Entry


 Stock Entries for Manufacturing purposes are usually created from a Work Order. To create a Stock
Entry manually for other purposes, follow these steps:
 Go to the Stock Entry list, click on New.
 Select the Stock Entry Purpose from the ones listed above.
 If you set the Default Source or Target Warehouses, they'll be automatically filled for the rows in the
Items table.
 Source/Target Warehouses will be available as per the Stock Entry Purpose you selected.
 Select Items and enter a quantity.
 The basic rate will be fetched, and the amount will be calculated automatically.
 Save and submit.

Usually, "Source Warehouse" and "Target Warehouse" both are set for recording a movement.

2.1 Additional options when creating a Stock Entry

 Work Order: If this is a Manufacturing entry, the Work Order will be shown in this field.
 Edit Posting Date and Time: Will allow you to edit the Stock Entry's date and time.
 Inspection Required: If a Quality Inspection needs to be performed on the Items before submitting
the Stock Entry.
 From BOM: If this is a Manufacturing entry, the associated BOM for the Item being manufactured
will be shown.

2.2 Stock Entry Type

You can also create a Stock Entry Type where only the name will be different, for example 'Scrap Entry'. The
purpose will be Material Transfer, but the name will be different. This is useful if you want certain Users to
have access only to specific actions related to stock.
3. Features

3.1 The Items table

Details about the Item, Rate, Quantity, etc. will be shown here.

Ticking on 'Allow Zero Valuation Rate' will allow submitting the Purchase Receipt even if the Valuation Rate
of the Item is 0. This can be a sample item or due to a mutual understanding with your Supplier.

Different Source and Target Warehouses can be set for different Items.

3.2 Scrap and Process Loss

 Scrap Item: Scrap items are the by-product and can be treated as products. The scrap items will have
the valuation rate and they will be added to the scrap warehouse. Users can set the valuation rate for
the scrap item manually in the Basic Rate field.
 Process Loss: Process Loss has no impact on the stock, this will reduce the number of FG Items.
Check the below image, the user has planned to produce 100 FG Items but after the manufacturing
process, the quantity has been produced as 80. To produce 80 FG Items, the user must use all raw
material quantity. So here 20 quantities have been produced so therefore the system has marked it as
Process Loss Qty. The process loss cost of 20 quantities has been added to the 80 quantities of FG
Item.

3.3 Additional Costs

If the stock entry is an incoming entry i.e. any item is being received at a target warehouse, you can add related
additional costs (like Shipping Charges, Customs Duty, Operating Costs, etc) associated with the process.
Additional costs will be considered to calculate the Valuation Rate of the items.

To add additional costs:

 Select the Expense Account to which the expense from this Stock Entry will be recorded.
 Enter the description and amount of the cost in the Additional Costs table.
The added Additional Costs will be distributed among the receiving items (where the Target Warehouse
mentioned) proportionately based on the Basic Amount of the items. And the distributed additional cost will be
added to the basic rate of the item, to calculate Valuation Rate.

Quantity and Rate is shown as follows when you expand the Items table.

3.4 Accounting Dimensions

You can tag different transactions based on different dimensions. By default,Projects can be considered as a
dimension as it is a common practice to track costs of different projects.

3.5 Printing Settings Letterhead

You can print your Purchase Receipt on your company's letterhead.

Print Headings

Purchase Receipt headings can also be changed when printing the document. You can do this by selecting a
Print Heading. To create new Print Headings, go to: Home > Settings > Printing > Print Heading.

3.6 More Information

 Is Opening: If this entry is the opening stock entry for the Items.
 Remarks: Any additional remarks about the Items
 Percentage Transferred: The percentage of Items transferred depending on Stock Entry purpose.
 Total Amount: The total amount of Items transferred.
3.7 Perpetual Inventory

If the perpetual inventory system is enabled, additional costs will be booked in the Expense Account
mentioned in the Additional Costs table.

3.8 After Submitting

After submitting a Stock Entry, you can go to the stock ledger or the accounting ledger from the dashboard.

4. Add to Transit
If you want to transfer materials from one warehouse to another and you want to make two entries for that then
use the "Add to Transit" feature.

To use the "Add to Transit" feature, make a stock entry with type as "Material Transfer" and enable "Add to
Transit" checkbox. Next you need to select the source warehouse from where you want to issue the material
and then select the warehouse of type "Transit" in the target warehouse. To make transit warehouse you can go
to the Warehouse master and select the warehouse type as "Transit". After that add items in the stock entry
which needs to be transfer and submit it.

To make a second stock entry at the destination wareho


use, users have two options. Either they can open the Original Stock Entry and click on "End Transit" or they
can create new stock entry and click on "Get Items From" -> "Transit Stock Entry". The system will fetch
items from the original stock entry with the source warehouse (Transit warehouse) same as target warehouse
from the original stock entry. User must set the target warehouse and save.

Warehouse
A warehouse is a commercial building for storage of goods. Warehouses are used by manufacturers, importers,
exporters, wholesalers, transport businesses, customs, etc.

They are usually large plain buildings in industrial areas of cities, towns, and villages. They mostly have
loading docks to load and unload goods from trucks.

The terminology of 'Warehouse' in ERPNext is a bit broader though and maybe can be regarded as "storage
locations". You can create a sub-Warehouse which could be a shelf inside your actual location.

This can become quite a detailed Tree like the following:

Warehouse > Room > Row > Shelf > Bin

To access the Warehouse list, go to: > Home > Stock > Settings > Warehouse

1. How to create a Warehouse


 Go to the Warehouse list, click on New.
 Enter a name for the Warehouse.
 Set/check the Parent Warehouse. If you tick on 'Is Group', you can create sub-Warehouses under this
group Warehouse.
 Save.

Warehouses are saved with their respective Company’s abbreviations. This facilitates identifying which
Warehouse belongs to which company at a glance.

1.1 Additional options when creating a Warehouse

Account: Set a default account here for all transactions with this Warehouse. Setting this account will show
transactions from this Warehouse in the Accounting Ledger.
Warehouse Type: You can create a Warehouse Type to classify Warehouses. For example, Supplier
Warehouses, Stock Warehouses, WIP Warehouses, Rooms, etc. can be tagged. This classification is useful
when generating reports or in certain stock transactions.

Address and contact: You can add Billing, Shipping, and other types of addresses for the Warehouse. You
can also add a contact, this could be the Warehouse Manager for example.

1.2 After Saving

After saving a Warehouse, you'll see the following options:

 Stock Balance: This will open the Stock Balance report to display the quantity, valuation, balance,
etc.
 General Ledger: This will open the General Ledger to display the accounting transactions.
 Non-Group to Group: If the Warehouse is a Non-Group Warehouse, i.e. cannot contain other
Warehouses under it, this button will make this a Group Warehouse.

2. Features

2.1 Tree View


You can also switch to 'Tree' View which will show all the group and child Warehouses.

2.2 Warehouse Account

In ERPNext, if you enable Perpetual Inventory, every Warehouse must belong to a specific company to
maintain company-wise stock balance. To do so, each Warehouse should be linked with an Account in the
Chart of Accounts (the same name as the Warehouse itself). This account captures the monetary equivalent of
the goods or materials stored in that specific warehouse.

If you have a more detailed Warehouse Tree, most likely it's a good idea to link the sub-locations (room, row,
shelf, etc.) to the account of the actual Warehouse (the root Warehouse of that Tree) as most scenarios do not
require to account for value of stock items per Shelf or Bin. For example, if you have Warehouse A, and the
room, rows are B, C, etc., then link B and C to the account of A.

You might also like