Company Setup: 1. How To Create A New Company
Company Setup: 1. How To Create A New Company
In ERPNext, the first Company is created when an ERPNext account. For each Company,
you can set a domain as manufacturing, retail, or services depending on the nature of
your business activity.
If you have more than one company, you can add them from:
2. Enter the name, abbreviation, and default currency for the company.
3. Save.
The abbreviation for your company is created by default. For example, FT for Frappe
Technologies. The abbreviation helps in differentiating assets of one company from
another.
The abbreviation also appears in various accounts, cost centers, taxes templates,
warehouse, etc, of your company.
You can also attach a company logo and add a description for the company.
1.1 Multi Company Structure
Let's assume you run a group of companies, some may be larger companies and some
may be smaller that are a part of the larger companie(s).
In ERPNext, you can set up multiple companies. The company structure can be parallel,
i.e., sister companies, parent-child companies, or a combination of both.
The company tree view displays the overall structure of your companies.
Once you build a company tree, ERPNext will validate if the accounts of the child
companies match the accounts in the parent company. All the accounts can be
combined in a consolidated chart of accounts statement.
Domain: The domain of work the company is into. Eg: manufacturing, services,
Parent Company: If this is a child company, set the parent from this field i.e.,
select a group company this company belongs to. If a parent company is set, the
chart of accounts for the new company you're creating will be created based on
For each Company, the master for Chart of Accounts is maintained separately. This
allows you to maintain separate accounting for each company as per the legal
requirements. You can also import chart of accounts using the Charts Of Accounts
Importer.
ERPNext has localized Chart of Accounts readily available for some countries. When
creating a new Company, you can choose to set up the Chart of Account for it from one
of the following options.
Note that, if the Parent Company is selected when creating a new Company, the Chart of
Accounts will be created based on the existing Parent Company.
1.4 Defaults
Within the Company master, you can set many of the default values for masters and
accounts. These default accounts will help you in the quick posting of accounting
transactions, where the value for the account will be fetched from the Company master if
provided. As soon as the company is created, a default Chart Of Accounts and Cost
Center is automatically created.
Country
Tax ID
Date of Establishment
2. Features
2.1 Monthly Sales Target
Set the monthly sales target number in the company currency, for example, $10,000.
Total monthly sales will be visible once transactions are made. To know more click here.
Some of the following accounts will be set by default when you create a new company,
others can be created. The accounts can be seen in the Chart of Accounts. These values
can be changed later on if needed.
Credit Limit
Perpetual Inventory feature would lead to Stock transactions impacting the company's
books of accounts. Know more here. It is enabled by default.
For managing fixed assets in a company, the following accounts are needed. Most of
them will be created by default. They can be seen in the Chart of Accounts.
For the Indian user, setting the default value in this section will help in Employee Tax
Declaration calculations, especially for HRA exemption amount.
Basic Component
HRA Component
Arrear Component
Using the Payment Order feature (in Accounts), you can give a single document of
transfer for multiple bank transfers. Updating value in the following fields will help you
generate Bank Remittance in a format which can be accepted and can be also uploaded
on the bank's portal.
Payment order allows a user to combine several payment entries/payment requests into
a single document. Bank Remittance allows a user to send that single document to the
bank as text format, this text format can be manually uploaded to Kotak bank payments
platform.
Client Code and Product Code are codes given by the bank to you. This is required to be
added in the text file as per the format specified by Kotak bank.
2.7 Budget
Exception Budget Approver Role: The role selected here can bypass the set budget to
approve expenses.
For reference, the following details of your company can be saved in ERPNext:
Date of Incorporation
Phone No
Fax
Email
Website
Address
Registration Details
Note: When setting the address here, it is important to tick the 'Is Your Company
Address' checkbox.
For India, different addresses can be added with different GSTIN numbers if the
company has multiple locations. For example, if your company has offices in Mumbai,
Delhi, and Bangalore, you'll have to add different addresses with different GSTIN
numbers.
1. Monthly sales targets can be set for a Company via the Company master under
the Sales Settings section. By default, the Company master dashboard displays
month-wise past sales stats.
2. You can set the Sales Target field to track progress against the graph:
3. The target progress is also shown in notifications:
Global Defaults
Default values for documents like Currency, Fiscal Year, etc, can be set from Global
Defaults.
The values set here will impact all users and the default values for various fields will be
set for them.
Default Company
Country
Default Currency
Disable In Words
The Default Distance Unit is used to calculate the total distance in Delivery Trips.
System Settings
System Setting contains settings for system-wide configuration of the account.
You can localize ERPNext to use particular timezone, date, number or currency format,
and also set global session expiry via System Settings.
Country: You can set the default country here, this will be fetched when creating
Language: Sets the global language for the ERPNext account. Then language will
1000.00.
Float Precision: The number of zeros displayed after the decimal point for
Currency Precision: Number of zeros displayed after the decimal point for
1.3 Backups
In ERPNext you can backup the database as well as your files. Database backups are
created automatically while file backups need to be downloaded explicitly.
This field shows the number of backups after which older ones will be deleted. By
default, 3 backups are saved over 24 hours. New backups are automatically created every
few hours and the newest backup will overwrite the oldest one. For a backup of files,
click on the Download Files Backup button in the Download Backups form.
Keeping regular backups of your system is a good practice in case of any mishap and
you want to roll back or just for your records.
1.4 Permissions
Using permissions, you can limit user access to document types. The limitation can be
based on fields like Company, Territory, Branch, etc. To know more about User
Permissions, click here.
If Apply Strict User Permissions checkbox is ticked and User Permission is defined for a
DocType for a User, then all the documents where the value of the link is blank, will not
be shown to that User.
Home > Users and Permissions > Permissions > User Permissions
For example: If you set User Permissions for Territory and set the value as India. If the
checkbox is unticked, all transactions (sales orders, quotations) with India and blank will
be shown to the users.
If the Apply Strict User Permissions checkbox is ticked, documents, where Territory is
blank, will not be shown to the users.
1.5 Security
Session Expiry: Number of idle hours after which you'll be logged out of a
session. This helps in better security. For example, if there is no activity for 6
Session Expiry Mobile: Session expiry when logged in from a mobile phone.
Allow only one session per user: If you want to use a single set of credentials for
multiple users, tick this checkbox. The number of simultaneous sessions can be
changed under User master. Mobile phone sessions are not counted here.
Allow Login using Mobile Number: By checking the 'Allow Login using Mobile
Number' checkbox, you can log in to ERPNext using a valid mobile number set in
your User account.
Allow Login using User Name: Allow user login via their username set in
the User master.
Show Full Error and Allow Reporting of Issues to the Developer: This will
display the whole error on the screen and allow reporting issues. If you have
technical knowledge in this area, you can get a better idea of the error by reading
1.6 Password
Force User to Reset Password: Number of days after which a password reset is
Enable Password Policy: Enables a password strength checker so that users have
o 3 is strong
o 4 is very strong
locked out of the account for a specific period. This helps if an intruder tries to
Allow Login After Fail: Seconds after which a login attempt will be allowed after
On ticking 'Enable Two Factor Auth', the following two options will be seen.
Bypass Two Factor Auth for users who log in from restricted IP Address:
Users who log in from restricted IP addresses will not be asked for Two Factor
Authentication. You can restrict IPs from User master under the Restrict IP field.
Bypass restricted IP Address check If Two Factor Auth Enabled: If checked, all
users can log in with Two Factor Authentication regardless if their IP is restricted
or not.
Two Factor Authentication method: Select the authentication method to be
used - OTP App, SMS, or email.
Expiry time of QR Code Image Page: Expiry time for QRCode image if "OTP
Email Footer Address: Organization name, address, and other details can be
Disable Standard Email Footer: If ticked, the standard email footer will be
Hide footer in auto-email reports: If ticked, footers will be hidden in Auto Email
reports.
1.10 Chat
Enable Chat: This option will enable the in-app chat which can be used to
After exporting data, you can use the same file to import data using Data Import.
5. You can also add filters to select only specific data, for example, Grand Total >=
It allows you to create your own Chart of Accounts according to your requirement and
import it into the system.
Any existing Chart Of Accounts against that company will be overwritten. Make sure the
company you are selecting doesn't have any pre-existing transactions otherwise you'll
receive a validation error.
To access, go to:
2. Click on "Download Template" button on the top right corner to download the
template. The template you have downloaded will look as follows.
3. Once you download the template, fill in the details in the template as shown in
the screenshot below. Please make sure to make accounts for account types "Cost
of Goods Sold", "Depreciation", "Fixed Asset", "Payable", "Receivable", "Stock
Adjustment". Root types for these accounts must be one of Asset, Liability,
Income, Expense, and Equity.
To know more about "Account Types" and "Root Types" click here click here
5. Once you upload the template you'll be able to see the preview of the Chart of
Accounts in the Chart Preview section.
6. If everything seems correct in the preview, click on "Start Import" in the top right
corner and the accounts will be created.
7. To verify the created accounts you can go to Chart of Accounts and see the newly
created accounts for that company.
Downloading Backups
In the ERPNext, you can manually download database backup. To get the latest database
backup, go to:
By default three latest backups will be available for the download. To change this, click
on "Set Number of Backups". This will take you to System Settings where you can set
Number of Backups available for download at a time.
Downloading Files Backup
Clicking on Download Files Backup will send an email with links to the backup for both
private and public files. Email must be configured for this to work.
Adding Users
Users can be added by the System Manager. To add users go to:
Website users: Customers, Suppliers, Students, etc., who have access only to the portal
and not to any modules. System Users: People using ERPNext in the Company with
access to modules, company data, etc.
Under User, a lot of info can be entered. For the sake of usability, the information
entered for web users is minimal: First Name and Email.
An Email address is the unique key (ID) identifying the Users.
3. Save.
2. Features
2.1 Setting Roles
After saving, you will see a list of roles and checkboxes next to them. Just check the roles
you want the user to have and save the document. The roles have pre-defined
permissions, to know more about roles, click here. You can set Role profiles to use as a
template which selects multiple roles together.
2.2 More Information
More information about the employee can be set from this section:
Gender
Phone
Mobile No
Birth Date
Location
Interests
Bio
Banner Image
Ticking on 'Mute Sounds' will mute sounds that play on interacting with documents. The
user may need to do a Settings > Reload for the changes to take place.
Set New Password: As a System Manager, you can set a new password for the
Log out from all devices while changing Password: When changing the user's
password, this logs out the user from PC and any mobile device they may have
logged into.
With this option you can follow various documents in the system and get email
notifications when they are updated. Know more here.
Send Notifications for Email threads: The user will get notifications for Email
Send Me A Copy of Outgoing Emails: Sends the user a copy of the emails they
send. This is useful for keeping track if the email got sent.
Email Signature: Adding an email signature here will set it as default for all
outgoing emails for the user. This is different from a footer which is set from
the Company master.
Subscribe the user to different mailing lists of your company from this section. Add a
new row and select the mailing list to assign this user. For example, mailing lists can be
jobs, support, sales, etc. To know more about Email Inbox, click here.
Simultaneous Sessions: Simultaneous login sessions the user is allowed. You can
use the same set of credentials for multiple users by allowing more sessions. This
users.
User Type: If the user has any role checked other than Customer, Supplier,
Patient, or Student they automatically become a System User. This field is read-
only.
Login After, Login Before: If you wish to give the user access to the system only
between office hours, or during weekends, specify it here. For example, if office
hours are from 10 am to 6 pm, set the Login After, Login Before hours as 10:00
and 18:00.
Restrict IP: Restrict user login to the IPs specified here. This can be used so that
the user can log in only from office computers. Multiple IPs can be added
separated by commas.
This section also shows other details like Last Login, Last IP, and Last Active time for the
user.
This will allow users to use Facebook, Google, or GitHub to log in. To use this feature,
signup for a developer account with Facebook, Google, GitHub, etc. Create an app on
their console, specify an app name, the originating URL and callback URL, copy the client
ID and client secret info here to start using.
You can generate API Secret keys from this section using the Generate Keys button. This
can be used to access your account's data from another application, for example, an
offline POS system.
After saving a user, these buttons will be seen on the dashboard area of the User master.
Permissions
Set User Permissions: Will take you to the User Permissions page of Bruce from
View Permitted Documents: Will take you to the 'Permitted Documents For
User' report for this user. Here you can see which documents does Bruce have
access to. For example, on selected Sales Order, the list of Sales Orders Bruce has
Password
Reset Password: An email with instructions to reset the user's password will be
Reset OTP Secret: Reset OTP Secret for logging in via Two Factor Authentication.
Create User Email will let you create an Email Account for the user based on the email
entered in the User master.
3. Login Methods
In System Settings, under the Security section, if you check the 'Allow Login using Mobile
No' checkbox, a mobile number can also be used to log in. While a Mobile No will be
unique, it will not be treated as a user ID.
Roles define a set of permissions which can be set from the Roles Permission Manager.
Most commonly used roles are already defined in ERPNext, you can use the system with
them. If needed, you can add more roles. For example, if you assign the Sales User role
to a user, they'll be able to access documents like Quotations and Sales Orders since the
permissions are already set for the role Sales User.
Role profiles store different roles so that multiple roles can be assigned at once.
Role Profiles act as a template to store and select multiple roles. This Role Profile can
then be assigned to a User. For example, a Sales Supervisor will have the roles Employee,
Sales Manager, Sales User, and Sales Master Manager. Role Profiles are useful to assign
multiple roles at once when adding multiple employees.
3. Choose whether the Role has desk access. A role that has desk access can access
ERPNext modules and the company's documents. The level of access depends on
4. Save.
You can add two factor authentication for the role and also restrict it to a specific
domain. From here, you can go to the Roles Permission Manager and set permissions for
the role across different DocTypes.
Home > Users and Permissions > Permissions > Role Profile
2. Enter a name.
4. Save.
Role Based Permissions
Permission to different documents can be controlled using Role Based Permissions.
ERPNext has a role-based permission system. It means that you can assign Roles to
Users, and Permissions can be set on Roles. The Role Permissions Manager allows you to
set which roles can access which documents and with what permissions (read, write,
submit, etc.).
Once roles are assigned to a user, their access can be limited to specific documents. The
permission structure allows you to define different permission rules for different fields
using a concept called Permission Level of a field.
Roles: As we saw earlier, Users are assigned Roles and it is on these Roles that
permission rules are applied. For example, a sales user may be given the roles of
an Employee and a Sales User.
Examples of Document Types are Sales Invoice, Leave Application, Stock Entry,
etc.
Permission Levels: In each document, you can group fields by "levels". Each
group of fields is denoted by a unique number (0 to 9). A separate set of
permission rules can be applied to each field group. By default, all fields are of
level 0.
Permission "Level" connects fields with level X to a permission rule with level X. To
know more click here.
For example, a Customer is a link field in a Sales Order or Quotation. In the Role
Permissions Manager, User Permissions can be set using the 'Set User
Permissions' button.
User Permissions
User permissions is a way of restricting user access to particular documents.
Role based permissions allow setting complete (by default) access to a document type
(doctype) like Sales Invoice, Orders, Quotation, etc. This means that when you assign a
Sales User role to a user, they can access all the Sales Orders and Quotations.
User Permissions can be used to restrict access to select documents based on the link
fields in the document. For example, consider that you do business with multiple
territories and you want to restrict access of certain Sales Users to Quotations/Sales
Order belonging to a particular territory. This can be done via User Permissions. The
restrictions can be set on Customer, Supplier, Customer Group, Supplier Group, etc.
Setting User Permissions are particularly useful when you want to restrict based on:
"Company).
5. If you check 'Is Default', the value selected in 'For Value' will be used as default
for any future transactions by this user. That is, if company Unico Plastics Inc. is
selected as 'For Value', this Company will be set as default for all future
transactions by this user.
Note: Only a single user permission can be set as default for a particular
document type for a specific user.
You can optionally apply user permissions only for specific document type by setting the
Document Type after unticking the Apply To All Document Types checkbox.
Setting Applicable For option will make the current user permission applicable only
under the selected Document Type master.
In the above User Permission, the user will be able to access only Sales Orders of the
selected company.
Note: If Applicable For is not set, User Permission will apply across all related Document
Types.
Another way of allowing documents to be seen by everyone that have been restricted by
User Permissions is to tick "Ignore User Permissions" on a particular field by going
to Customize Form.
For example, you don't want Assets to be restricted for any user, then select Asset in
form type. Under the fields table, expand the Company field and tick on "Ignore User
Permissions".
Finally, once you have created your air-tight permission model, and you want to check
how it applies to various users. You can see it via the Permitted Documents for
User report. Using this report, you can select the User and document type and view
which documents a particular user can access.
Ticking on the Show Permissions checkbox will show the read/write/submit and other
access levels.
Note: If you cannot access Sales Order or any other document type in this list, make sure
you've set the roles correctly.
Document types are Sales Order, Customer, Supplier, etc. They are a document
type meaning they can contain multiple documents of that type. A Page is a single page
like Selling Settings. You cannot create multiple Selling Settings, but you can create
multiple Sales Orders.
In ERPNext, user can make a custom user interface using Page and a custom report
using Report Builder or Query Report. ERPNext has a role-based permission
system where you can assign roles to the user. The same role can be assigned to the
page and report to access them.
If the user has enabled developer mode, then they can add the roles directly in the page
and report record. In that case, the permissions will also be reflected in the JSON file for
the page/report. Consider you want to restrict the roles that can access certain pages
and reports in ERPNext, this can be done via the Role Permission for Page and Report.
Home > Users and Permissions > Role Permission for Page and Report
Using the "Reset to Defaults" button, the user can remove the custom permissions
applied on a page or report. Then default permissions will be applicable on that page or
report.
2. Add a row and select which other roles can access the Page.
Sharing
You can share documents with other users via sharing in ERPNext.
In addition to user and role permissions, you can also share a document with another
user if you have sharing rights for that document. Note that, a shared document will be
visible to the other user even if the document is restricted via User Permissions.
To share a document, open the document, click on the "+" icon under sharing and select
the user with whom you want to share:
In the popup window, you can either select all users or one particular user.
Read, write, and share access can be granted to the user for this document. Ticking
'Notify by Email' will send an email notifying the user that this document has been
shared with them.
Administrator
The administrator is above the System Manager and has all the rights and
permissions for an ERPNext account.
A System Manager also has permissions to most items in the system, but the
Administrator has unrestricted access.
2. For cloud-hosted account, upgrades are managed from the backend. We reserve
admin login credentials with us so that we can upgrade all the customer's
ERPNext accounts from the backend.
4. For self-hosted on-premises accounts, the admin credentials are with the account
user.
Print Settings
In Print Settings you can set your printing preferences like Paper Size, default text
size, whether you want to output as PDF or HTML, etc.
1. PDF Settings
1.1 PDF or HTML
When you email any document (like Sales Order/Invoice) from ERPNext, it is sent in the
PDF or HTML format. The file is sent in PDF by default. If you wish to send a document in
the HTML format, just untick the field "Send Print as PDF".
The letterhead is a master where you can define the standard Header and Footer which
is appended to the document's Print Format. If this property is enabled, then Header and
Footer are added to each page. If you don't want header and footer repeat on each
page, just disable this setting.
The default size for printing PDF pages is A4, you can change it to letterhead size.
2. Page Settings
2.1 Print With Letterhead
Enabling this property will automatically tick the Letter Head option when printing a
document. Note that you need to either set Letter Head as default or select one in the
transaction for it to appear in the print view.
Transactions like sales orders/invoices have a table detailing items bought or sold. It has
multiple columns like Item Name, Description, UoM, Rate Amount, etc. If there are many
columns in the Item table, then Print Format looks bit cluttered. You can improve the
view of the table by enabling Compact Item Print.
As per this setting, there will be only four columns in the Print Format, namely:
Description, Qty, Rate, and Amount.
The values of other columns (like name, description, image, serial nos. etc.) are
concatenated in the Description column.
The documents (mostly transactions) have two stages of authentication, Save and
Submit. The saved documents are the first draft and not submitted to the system. Hence
printing is restricted for the documents at this stage. However, if you wish to permit
users to print documents at the Draft stage as well, enable this checkbox.
ERPNext has a portal view available from where parties like Customers and Suppliers can
sign up and view their order history.
When you email a transaction to your party, you can also send a web link to view the
same document on the portal of your ERPNext account.
Enabling this setting also print "Draft" in the Print Format, thus indicating that document
shared is not completely authenticated yet.
If an item's description captures more than usual space of a page, then enabling this
setting will split the item's details to the next page. Hence, a page break will be inserted
between the Item Description, and the rest of the details will be pushed to the next page.
2.7 Allow Print for Canceled
Canceled transactions are the ones which don't have any impact on the reports. If you
wish to allow printing for the canceled transactions, then enable this setting. A
transaction can be canceled only once it is submitted.
In the sales and purchase transactions, you can add apply multiple taxes on the item. By
default, in the print format, only taxes which have some amount calculated are visible. If
you wish to also print the tax which was not applied and has zero tax amount, enable
this setting.
4. Raw Printing
You can enable raw printing and print to many supported thermal printers. Click here to
know more about Raw Printing.
Print Style
In Print Style you can define custom CSS styles applied to Print Formats.
ERPNext comes with preset styles for printing documents. You can also create new styles
using CSS that can be applied to all your print formats.
The standard print Styles in ERPNext are: Monochrome, Modern, and Classic. To create a
new Print Style go to:
3. Enter the CSS that'll define how the style will look like.
4. Save.
The styles you create here apply to both standard and custom print formats. To find out
the various CSS classes available, you can make a standard print format, open in a new
page and see the source.
All Print Format styles are based on Bootstrap (Version 3) CSS Framework.
If you have enabled developer mode and tick on Standard then system will generate the
JSON file for the Print Style. You can contribute a default print style with this.
Address Template
Address template can store different formats of addresses based on the region.
Each region has its way of defining addresses. To manage multiple address formats for
your Documents (like Quotations, Purchase Invoices, etc.), you can create country-
wise Address Templates.
Consider a customer from the United States where 'County' is a part of the address. If
you set county in the address template for United States, then it'll show up in the
address field and hence in the print preview. Fields like PIN code can be changed to be
displayed as ZIP code and fields like county can be added by using Address Templates.
The Address Template checks the 'Country' field in the Address master to apply different
address templates to transactions.
2. Select a country.
4. Save.
The templating engine is based on HTML and the Jinja Templating system. All the fields
(including Custom Fields) will be available for creating the template.
{{ address_line1 }}<br>
{% if address_line2 %}{{ address_line2 }}<br>{% endif -%}
{{ city }}<br>
{% if state %}{{ state }}<br>{% endif -%}
{% if pincode %}PIN: {{ pincode }}<br>{% endif -%}
{{ country }}<br>
{% if phone %}Phone: {{ phone }}<br>{% endif -%}
{% if fax %}Fax: {{ fax }}<br>{% endif -%}
{% if email_id %}Email: {{ email_id }}<br>{% endif -%}
Here is an example:
Each Quotation/Sales Order must ideally contain a set of terms of your contract. Terms
and conditions are usually included to define terms of service, conditions for using any
service or to even limit responsibilities of the seller in case any harm is caused to the
buyer due to using the provided goods or services. It is usually a good idea to make
template(s) of your Terms and Conditions so that you have a standard set of terms.
In transactions, you will find a section of Terms and Conditions where you will be able to
search and fetch the required Terms and Condition master.
Here are some common topics that Terms and Conditions should contain:
Safety/usage warning.
Warranty if any.
Return Policy.
Terms and conditions are the general and special arrangements, provisions,
requirements, rules, specifications, and standards that a company follows. These
specifications are an integral part of an agreement or contract that the company gets
into with its customers, suppliers or partners.
Business involves making payment to various parties like suppliers and employees.
Payment can be made in various modes like cash, NEFT or cheque. If you are making a
payment via a cheque, you can also create a Print Format for printing Cheques from
ERPNext based on the Payment Entry.
A sample cheque:
1. How to create a Cheque Print Template
1. Go to the Cheque Print Template list, click on New.
3. Save.
In the Cheque Print Template, for each value (say Payee, Date), exact coordinates are
provided based on where that value should be printed on a cheque. Co-ordinates are
provided in centimeters. Here is a representation the structure:
To speed up the creation of a new cheque printing format, you can upload a scanned
image of the cheque. Considering the scanned image for the cheque, the system
automatically updates co-ordinates for each value like party name, amount, date, the
amount in words, etc.
If the preview looks good, click on the Create Print Format button to create a new Print
Format for printing the cheque. Based on the values provided in the Cheque Print
Template, the system will auto-generate an HTML script for the cheque’s Print Format.
You can manually provide the co-ordinate for each value based on where you want it to
be printed on the cheque and customize with HTML/CSS.
Preview
Based on coordinates provided for all the values, a preview will be shown as to how the
values will be printed on the cheque.
1.3 Printing Cheques
New print format generated for the cheque will be visible in the Payment Entry form.
After creating the payment entry, you will be able to print transaction details on the
cheque.
Custom Translations
With Custom Translations, user can print the customer's and supplier's document
in their local language.
For example, if you have customers from Germany and France who want quotations in
German and French, it's possible using Custom Translations.
Same way, you can also set default language in the Supplier master.
In the Print Preview of a transaction, values will be translated into the party's language.
Home > Customization > Other > Custom Translations > New
The translation is applied when the user selects the language as Spanish on supplier
Quotation's print preview. Note that no translation is applied for the second item's
description since it wasn't created in the Translation list.
Raw Printing
Introduced in Version 12
Sending a string of commands to a printer directly in its native language is called
Raw Printing.
Many thermal printers need these raw commands sent to them in order to perform
functions like barcode printing, receipt printing, label printing, etc. Raw Printing bypasses
the printer's drivers in most cases, making them very fast and reliable. Raw Printing is
also capable of doing some advanced features such as cutting receipt paper, kicking out
cash drawers, etc.
Download and install the QZ Tray application on the computer to which your thermal
printer is connected. This application can be found at its official site. Currently, Windows,
macOS, and Linux are supported by QZ Tray. During the installation you will be
prompted to install Java if not already installed, please install Java to complete the
installation.
Further instructions on installing the QZ Tray Application can be here.
To be able to send raw commands to a printer you need to first create a print format in
raw commands. Jinja Templating Language is used in raw commands just like in
the HTML custom print format.
1. Go to print format list: Home > Settings > Printing > Print Format
2. Click on New.
the printer.
6. Click Save.
Currently, any string-based printer languages can be used in the Raw Commands field in
the print format. Writing raw commands requires knowledge of the printer's native
language provided by the printer manufacturer. Please refer to the developer manual
provided by the printer manufacturer on how to write their native commands.
1. Go to: Home > Settings > Printing > Print Settings > Raw Printing.
3. Save.
To print a raw command print format from the Document print view:
1. Select appropriate print format. For print format in Raw Commands, "No Preview
3. Please allow the connection prompt from the QZ Tray for the actions that you
printer.
a print
format.
o This mapping is stored locally on the same computer and will have to be
It is often a requirement that a print command has to be issued on a certain event (like
submit, save, amend, etc.). It is possible to write a custom script to do this for you.
Following are the relevant Raw Print functions:
1. function: frappe.ui.form.qz_connect
application.
connection.
o Usage example:
frappe.ui.form.qz_connect()
.then(function () {
return qz.print(config, data);
})
.then(frappe.ui.form.qz_success)
.catch(err => {
frappe.ui.form.qz_fail(err);
});
Here, qz is a global object provided by the qz-tray.js library.
1. function: frappe.ui.form.qz_get_printer_list
Usage example:
frappe.ui.form.qz_get_printer_list().then(
// Required action on getting the printer list.
// Note: Printer list is a array of strings.
);
1. function: frappe.ui.form.qz_success
o Displays a "Print Sent to the printer!" alert to the user. Can be called after
Tray connection.
You can also directly access the functions provided by the qz-tray.js library via
the qz object. Click here for qz-tray.js library documentation. Note: The qz object is
initialized only after calling the frappe.ui.form.qz_connect for the first time. In case you
require the qz object before that you can use the frappe.ui.form.qz_init.
Workflow Actions
Introduced in Version 11
Workflow Actions is a single place to manage all the pending actions you can take
on Workflows.
Workflow Actions will send email notifications only if the 'Send Email Alert' checkbox is
ticked in the Workflow that you've created.
Note:
You can set email template for Workflow Actions on each state. The template
might consist of a message for users to proceed with the next Workflow Actions.
Workflow State
A Workflow State is a state in the workflow you create.
Different Workflow States may be achieved before or after applying different Workflow
Actions on them. If you want to create a Workflow where there are multiple approvals
from manager, senior manager, general manager, etc, you can set the states for it from
Workflow States.
The Workflow States can have different colors according to the state.
Success - Green
Danger - Red
Inverse - Black
Warning - Orange
Document statuses:
Saved = 0
Submitted = 1
Canceled = 3
Assignment Rule
Introduced in Version 12
An Assignment Rule lets you set up automatic assignment of documents to Users.
Assignment Rule will be useful in a scenario like—you have a support team and
incoming support tickets. To assign the support tickets automatically amongst the
employees who work on support, an Assignment Rule can be used.
2. Select the Document Type you want to assign automatically (for example Issue).
Examples:
o status == "Open"
o Load Balancing: Assign new documents to the User who has the least
number of assignments.
7. Save.
You can use properties of the document in the Description field that will be part of the
assignment. Higher 'Priority' Assignment Rules will be applied first.
Example:
You can also set up multiple auto assignments for each Document Type, the one with
the highest Priority will be applied first:
Email Domain
An email domain is the name of the network/service you're using for your email
account.
You can skip to Email Account creation if you are using one of the services listed here.
You can configure your Email Domain in ERPNext for easy setup of all Email Accounts. To
find Email Domain settings go to:
If you want to send and receive emails on your ERPNext account, you need to correctly
setup an email domain. You may be using free mail services like Gmail or Yahoo. In this
case, you don't need to create a domain, instead select a service provider from the list.
However, you might have to allow access to ERPNext for your Gmail account.
ERPNext creates a template email domain using example.com for your reference. You
should add your new domain if you want to use it in your ERPNext account.
2. Enter the Example Email Address. This is where you enter your business email
3. Email Server. This is the URL of your mail server or the email service that you have
imap.yourcompany.com.
4. Use IMAP. IMAP and POP are two services used by most mail servers for incoming
emails. If your Email server allows IMAP service for the incoming emails keep this
checked. Otherwise, leave this unchecked.
5. Use SSL. If your mail server uses SSL (Secure Socket Layer) communication keep
this checked.
Do I have SSL?: You may have purchased SSL certificate from your IT service
provider for SSL and they may have set up SSL for your mail server. If you're using
'https' while accessing mail server over browser then you might have SSL setup.
6. Attachment Limit (MB). You can limit the size of file attachments in emails sent
from ERPNext.
7. SMTP Server is the outgoing email service address of your email server.
8. Tick Use TLS if your SMTP service supports TLS for security.
9. Default port. SMTP service is usually set on port 25. If your email server is set up
on a separate port number you can set that up here.
Once you click on save, these settings are validated by ERPNext and the Email Domain
gets saved. Sometimes this could take a few seconds and you might have to wait. This
email domain is then available in a dropdown called Domain in the Email Accounts
screen.
Email Inbox
Once an email account is added, the email inbox will be accessible.
Running a business involves many transactional email exchanges with parties like
Customers and Suppliers and other members within the company. Email Inbox feature
allows you to pull all your business emails into your ERPNext account. Enabling access to
business emails with other transactional details makes ERPNext a single platform for
accessing all business information in one place.
In ERPNext, you can configure Email Inbox for each System User. Following are the
detailed steps to configure Email Inbox for a User.
1. Create a User
You can configure an Email Inbox for a System User only. Hence ensure that you have
added yourself and your colleagues as a User and assigned them required permissions.
To know how to add a new User, go to the User page.
Gmail
Yahoo
Sparkpost
SendGrid
Outlook.com
Yandex.mail
To be able to send and receive emails into your ERPNext account from other email
services (like WebMail or Gmail), you should set up an Email Domain master. In this
master, email gateway details like SMTP Address, Port No., IMAP/POP3 address details
are captured. If you have ever configured a local email client (like Outlook), Email
Domain master requires details to be fed similarly.
Home > Settings > Emails > Email Domain > New
Know more about Email Domains here. Once you have configured an Email Domain for
your Email Service, it will be used for creating Email Accounts for all the Users in your
ERPNext account.
3. Email Account
Create an Email Account based on the Email ID of the User. For each User whose email
account is to be integrated with ERPNext, an Email Account master should be created for
it.
If you are creating an Email Account for your colleague who's Email Password is
unknown to you, then check field "Awaiting Password". As per this setting, a User (for
whom Email Account is created) will get a prompt to enter email password when
accessing his/her ERPNext Account.
If you are creating an Email Account for Email Inbox of a User, then leave Append To
field as blank.
For more details on how to setup an Email Account, click here.
5.1 Folders
In ERPNext, you can link multiple Email Accounts with the single User. To switch to Inbox
of a different email account and access other folders like Sent Emails, Spam, Trash, click
on Email Inbox option in the left bar.
5.2 Actions
On the emails in your inbox, you can take various actions like Reply, Forward, Mark as
Spam or Trash.
5.3 Relink
You can relink an email to a document like Issue, Lead, Opportunity, etc. based on the
context of the email. Select the document type and the document to link the email to.
Email Template
Every email sent is different but certain emails can be standardized, usually known as
Email Template or Standard Reply.
4. Response is the standard content of the email that will be a part of this template.
5. Save.
DocType Associated: (optional) The DocType associated with this template.
You can use this Email Template in the Emails that are sent from ERPNext in the "CC, BCC
& Email Template" field of the email section of the document. ERPNext will fetch the
subject and response as per the template selected.
The fieldnames you can use in your email template are the fields in the document from
which you are sending the email. You can find out the fields of any documents via Setup
> Customize Form View and selecting the document type (e.g. Sales Order)
1.3 Templating
Templates are compiled using the Jinja. To learn more about Jinja, visit this page.
2. Now when an Email is sent to or received from the Contact associated with
Customer or Supplier, that email is linked to the Customer or Supplier mentioned
in the Links section of the Contact.
2. Automatic Email Linking to a Document
Automatic Email Linking links an Email to the Document specified in the unique Email
Address generated by the system for a document. If an Email is sent or received using
the unique Email Address, the system will link that Email to the Document.
1. Enable Automatic Email Linking in Email Account. This feature can be used only
with one Email Account at a time.
2. Once this feature has been enabled, you will see a unique Email ID generated
using the Email ID mentioned in the Email Account.
3. Now you can copy the Email ID by clicking on it and you can send or receive
Emails using the unique Email ID. If an Email contains this unique Email ID either
in the Recipients, Cc or Bcc, section, the system will link that Email to the specified
Document.
Email Digest
Email Digests allow you to get regular updates about your sales, expenses and
other critical numbers directly in your Email Inbox.
Email Digests are a great way for top managers to keep track of the big numbers like
“Sales Booked” or “Amount Collected” or “Invoices Raised” etc.
5. Save.
Example:
You can setup Auto Email Report to send reports at regular intervals. These must be
saved reports of any type (Report Builder, Script or Query Report).
You can find Auto Email Report at
3. Select the user for which you want to create this report (permissions will apply for
this user).
4. Set the Email Addresses to which you want this report to be emailed and the
frequency of the report.
You can also change the file format in which the report is created. A message can also be
added to be sent with the email report.
If your report has filters, you will be able to see them. Click on the table to edit it:
You can test the report by clicking on "Download" or "Send Now".
Here is an example of the email you will receive for a general ledger report:
SMS Settings
You can subscribe to an SMS provider to send SMS to mobile numbers.
To integrate SMS in ERPNext, approach an SMS Gateway Provider who provides HTTP
API. They will create an account for you and will provide a unique username and
password.
http://instant.smses.com/web2sms.php?
username=<USERNAME>&password;=<PASSWORD>&to;=<MOBILENUMBER>&sender;=<SENDERID>&me
ssage;=<MESSAGE>
http://instant.smses.com/web2sms.php?
username=abcd&password;=abcd&to;=9900XXXXXX&sender;
=DEMO&message;=THIS+IS+A+TEST+SMS
The above URL will send SMS from account abcd to mobile number 9900XXXXXX with
sender ID as DEMO with a text message as "THIS IS A TEST SMS".
Note that some parameters in the URL are static. You will get static values from your
SMS Provider like username, password, etc. These static values should be entered in the
Static Parameters table.
Notification
You can configure various notifications in your system to remind you of important
activities.
1. Setting Up An Alert
To set up a Notification:
2. Define what events you want to watch under Send Alert On. Events are:
submitted, or canceled.
3. Days Before/Days After: Trigger this alert a few days before or after
the Reference Date. To set the days, set Days Before or After. This can
be useful in reminding you of upcoming due dates or reminding you to
before_insert.
4. Set the recipients of this alert. The recipient could either be a field of the
6. Save.
You can retrieve the data for a particular field by using doc.[field_name]. To use it in
your subject/message, you have to surround it with {{ }}. These are called Jinja tags. For
example, to get the name of a document, you use {{ doc.name }}. The following
example sends an email on saving a Task with the Subject, "TASK#### has been created"
Notifications allow you to set conditions according to the field data in your documents.
For example, if you want to receive an Email if a Lead has been saved as "Interested" as
it's status, you put doc.status == "Interested" in the conditions textbox. You can also
set more complex conditions by combining them.
The above example will send a Notification when a Task is saved with the status "Open"
and the "Expected End Date" for the Task is the date on or before the date on which it
was saved on.
You can use both Jinja Tags ({{ doc.[field_name] }}) and HTML tags in the message
textbox.
<h3>Order Overdue</h3>
<h4>Details</h4>
<ul>
<li>Customer: {{ doc.customer }}
<li>Amount: {{ doc.total_amount }}
</ul>
Then you can use that as a condition in the Condition rules to ensure emails are not
sent multiple times
1.5 Example
1. Defining the
Criteria
2. Setting the Recipients and
Message
2. Slack Notifications
If you prefer to have your notifications sent to a dedicated Slack channel, you can also
choose the option "Slack" in the channel options and select the appropriate Slack
Webhook URL.
1. Go to https://api.slack.com/slack-apps.
2. Click on "Create a Slack
App".
3. Give your App a name and choose the right workspace. Once your app is created,
go to the "Incoming Webhooks" section and add a new Webhook to Workspace.
4. Copy the created link, go back to ERPNext and use it to create a new Slack
Webhook URL in Integrations > Slack Webhook
URL.
5. Select Slack and your Slack channel in the channel and Slack channel fields within
your notification
Example: Order Overdue
Transaction {{ doc.name }} has exceeded Due Date. Please take the necessary
action.
{% if comments %}
Last comment: {{ comments[-1].comment }} by {{ comments[-1].by }}
{% endif %}
*Details*
• Customer: {{ doc.customer }}
• Amount: {{ doc.grand_total }}
Document Follow
Introduced in v12
Document Follow is a feature that allows users to track changes in documents via
email notifications.
2. In the Document Follow section, tick the 'Send Notifications for documents
4. Now, you can receive emails for the documents you follow.
2. Click on 'Follow'.
checkbox.
When another user shares a document with you or assigns you to a document,
This is what an email notification for Document Follow will look like:
Email Dropbox
When you receive emails from Leads, Customers, Suppliers, or other business partners,
you might wish to attach those to their relevant records in ERPNext. One way to do so is
to save the email and upload it as an attachment. However, this could turn into a
cumbersome process. ERPNext offers a better way to handle this through its "Email
Dropbox" feature.
When enabled, each record in ERPNext will have it's own unique email address to which
you can forward emails. You can click on the email address to copy it to your clipboard,
which can then be added to the "To", "Cc", or "Bcc" field of the email that you wish to
send.