Professional Documents
Culture Documents
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.
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
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
$ 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
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.
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 start
$ bench –help
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
2. Features
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.
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.
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.
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%.
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.
If you would like to offer a Loyalty Program to the customer, select the same in Loyalty Program field.
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
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.
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:
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.
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.
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'.
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.
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
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.
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:
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
1. Prerequisites
Before creating and using a Stock Entry, it is advised that you create the following first:
Warehouse
Item
Usually, "Source Warehouse" and "Target Warehouse" both are set for recording a movement.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
To access the Warehouse list, go to: > Home > Stock > Settings > Warehouse
Warehouses are saved with their respective Company’s abbreviations. This facilitates identifying which
Warehouse belongs to which company at a glance.
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.
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
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.