"How to set up ERPNext" is the search that follows every "what is ERPNext?" conversation. Most guides online dump bench commands and MariaDB configs — useful for sysadmins, useless for the business owner who just wants ERPNext running. This guide covers both sides: how to set up ERPNext from choosing your deployment path through post-install configuration. I have set up ERPNext for manufacturers, distributors, and service businesses across India and Singapore since 2020 — these are the steps, mistakes, and shortcuts I have learned.
Short answer
ERPNext can be set up in three ways: self-hosted on your own server, on Frappe Cloud (official managed hosting), or through a managed implementation partner like Mith Tech. Self-hosting gives maximum control but requires Linux sysadmin skills. Frappe Cloud removes server management entirely for $5–200/month. A managed partner handles everything — server, installation, configuration, data migration, training, and go-live support — typically in 6–10 weeks. The right path depends on your team's technical capacity, budget, and how fast you need to go live.
What are the three ways to set up ERPNext?
ERPNext can be deployed in three distinct ways, each with different trade-offs on cost, control, and technical complexity. The choice you make here determines your ongoing maintenance burden for years.
Self-hosted means you install ERPNext on a Linux server you own or rent. You get full control over the server, database, backups, and updates. You also get full responsibility for uptime, security, and troubleshooting. Self-hosting suits businesses with in-house IT staff or a trusted sysadmin, and it is the cheapest option long-term. Typical monthly cost: ₹1,500–5,000 for a cloud VPS.
Frappe Cloud is the official managed hosting platform built by the same team that develops ERPNext and the Frappe Framework. You get a working ERPNext instance in under 10 minutes with automatic backups, updates, and monitoring. No server management required. Pricing starts at $5/month for a shared instance and scales to $200+/month for dedicated servers. Best for businesses under 50 users who want to skip DevOps.
Managed implementation partner means a firm like Mith Tech handles everything — server provisioning, installation, configuration, data migration from your existing system, user training, and post-go-live support. You pay for the partner's time and expertise instead of learning it yourself. Typical timeline: 6–10 weeks from kickoff to go-live. This is the path most Indian SMEs take because the real challenge is not installing ERPNext — it is configuring it correctly for your business.
| Path | Best for | Monthly cost | Setup time | Technical skill needed |
|---|---|---|---|---|
| Self-hosted | IT teams, developers, cost-conscious businesses | ₹1,500–5,000 (VPS) | 2–6 hours | High (Linux, CLI) |
| Frappe Cloud | Non-technical teams, startups, quick pilots | ₹400–16,000 ($5–200) | 10 minutes | Low (browser only) |
| Managed partner | SMEs going live for real, complex migrations | ₹50,000–3,00,000 (one-time) | 6–10 weeks | None |
For a detailed cost breakdown of each path, see the ERPNext cost guide.
Skimmable summary: how to set up ERPNext comes down to three paths — self-host for control, Frappe Cloud for speed, managed partner for real-world go-live. Most Indian SMEs choose a partner because configuration is harder than installation.
What are the server requirements for ERPNext?
ERPNext v16 has specific hardware and software requirements. Under-provisioning the server is the most common self-hosting mistake — ERPNext runs MariaDB, Redis, Node.js, and Python workers simultaneously, and skimping on RAM causes random crashes under load.
Minimum hardware for production (up to 25 users):
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 4 vCPU | 8 vCPU |
| RAM | 8 GB | 16 GB |
| Storage | 80 GB SSD | 160 GB NVMe SSD |
| OS | Ubuntu 22.04/24.04 LTS or Debian 12 | Ubuntu 24.04 LTS |
| Python | 3.12+ (mandatory for v16) | 3.12 |
| Node.js | 18 LTS or 20 LTS | 20 LTS |
| Database | MariaDB 10.6+ | MariaDB 10.11 |
| Redis | 6.0+ | 7.0+ |
For development or testing, 2 vCPU and 4 GB RAM on a ₹800/month VPS is sufficient. Do not use this for production — it will slow down the moment two users generate reports simultaneously.
ERPNext does not run on Windows natively. Windows users need WSL2 (Windows Subsystem for Linux) or Docker Desktop for local development. For production, always use a Linux server. There is no official Windows installer and the Frappe team does not support Windows production deployments.
For hosting cost comparisons across AWS, Hetzner, and managed providers, see the ERPNext hosting cost guide.
Skimmable summary: 4 vCPU, 8 GB RAM, 80 GB SSD minimum for production. Ubuntu 22.04/24.04 LTS. Python 3.12+ is mandatory for v16. No native Windows support — Linux only for production.
How do I install ERPNext on my own server?
Self-hosted installation uses the Frappe Bench CLI tool. Bench manages the entire ERPNext stack — Frappe Framework, ERPNext app, MariaDB, Redis, Node.js, Supervisor, and Nginx. The process takes 2–4 hours for someone comfortable with Linux command line.
The six installation steps:
-
Provision a server — spin up a VPS on Hetzner (₹2,000/mo), DigitalOcean, AWS EC2, or any provider offering Ubuntu 22.04/24.04 LTS. Ensure ports 80, 443, and 22 are open.
-
Install prerequisites — Python 3.12+, Node.js 20, MariaDB 10.11, Redis 7, wkhtmltopdf (for PDF generation), and standard build tools. The official Frappe documentation lists exact package names.
-
Install Bench —
pip install frappe-benchinstalls the Bench CLI. Thenbench init frappe-bench --frappe-branch version-16creates your bench directory with the Frappe Framework. -
Create a site and install ERPNext —
bench new-site yoursite.comcreates the MariaDB database.bench get-app erpnext --branch version-16downloads ERPNext.bench --site yoursite.com install-app erpnextinstalls it. -
Set up production —
sudo bench setup production [user]configures Supervisor (process manager) and Nginx (web server) for production use. This sets up automatic process restart, logging, and reverse proxy. -
Configure SSL —
sudo bench setup lets-encrypt yoursite.comprovisions a free SSL certificate. HTTPS is mandatory for any production site handling business data.
After installation, navigate to https://yoursite.com in a browser to access the setup wizard. The wizard walks you through company creation, chart of accounts, currency, and initial settings.
Common installation mistakes I see:
- Running as root instead of a dedicated user (security risk and Bench will warn you)
- Skipping
bench setup productionand running in development mode (single-threaded, no auto-restart) - Using MySQL instead of MariaDB (ERPNext requires MariaDB specifically)
- Insufficient swap space on low-RAM servers (add 4 GB swap for 8 GB RAM servers)
For the detailed command-by-command walkthrough, the official Frappe installation guide is the authoritative reference. This pillar focuses on what to do after the install completes — the configuration that actually determines whether your ERPNext deployment succeeds.
Skimmable summary: install Bench CLI → create site → install ERPNext app → set up production mode → configure SSL. Takes 2–4 hours. The official Frappe docs have the exact commands — our focus is what comes after.
How do I set up ERPNext on Frappe Cloud?
Frappe Cloud is the fastest path from zero to a working ERPNext instance. No server management, no CLI commands, no Linux skills required.
Step-by-step Frappe Cloud setup:
-
Create an account at frappecloud.com. Sign up with email or GitHub.
-
Choose a plan — Sites plan (shared, from $5/month) for small teams. Servers plan ($20+/month) for dedicated resources. For a pilot or evaluation, the $5 shared plan is sufficient.
-
Create a new site — click "New Site", choose ERPNext as the app, select your region (Mumbai for India), and pick a subdomain (e.g., yourcompany.frappe.cloud). You can add a custom domain later.
-
Wait for provisioning — Frappe Cloud creates the site, installs ERPNext, and configures everything automatically. This takes 5–10 minutes.
-
Run the setup wizard — log in with the administrator credentials emailed to you. The wizard walks through company name, country (India), chart of accounts template, fiscal year, and default currency.
-
Optional: add a custom domain — in site settings, add your domain (e.g., erp.yourcompany.com) and update your DNS CNAME record. SSL is provisioned automatically.
What Frappe Cloud handles for you:
- Daily automated backups (downloadable anytime)
- One-click ERPNext version updates
- Server monitoring and auto-restart on crashes
- SSL certificate management
- Email delivery (basic SMTP included)
When to outgrow Frappe Cloud: If you need custom Frappe apps not available on the marketplace, have more than 50 concurrent users, require specific server-side configurations (custom Redis tuning, dedicated database server), or want to control your own backup infrastructure, self-hosting or a managed partner makes more sense.
Skimmable summary: sign up → create site → run wizard. Working ERPNext in 10 minutes. $5/month to start. Handles backups, updates, and SSL automatically.
What should I configure after installing ERPNext?
Knowing how to set up ERPNext means understanding that installation gets ERPNext running, but configuration gets it working for your business. This is where most setups fail — people skip the configuration and wonder why their invoices look wrong, stock valuations are off, or GST returns do not reconcile.
The post-install configuration checklist (in order):
Company settings
- Set your company name, abbreviation, default currency (INR), and country
- Upload your company logo (appears on invoices and letterheads)
- Set the default fiscal year (April–March for Indian companies)
- Configure company address with full GSTIN, state, and PIN code
Chart of accounts
- ERPNext ships a default Indian chart of accounts. Review it before entering any transactions
- Add industry-specific accounts (manufacturing accounts, job work accounts, project-specific revenue accounts)
- Set default receivable and payable accounts
- Configure cost centres if you track profitability by department or location
GST configuration (India)
- Enter your GSTIN in the company master and all company addresses
- Set up GST categories (Regular, Composition, Unregistered, SEZ, Deemed Export)
- Configure HSN/SAC codes in your item masters — mandatory for GST returns
- Enable e-invoicing if your turnover exceeds ₹5 crore
- Set up e-way bill generation for goods movement above ₹50,000
- Install the India Compliance app for advanced GST features
For the complete GST e-invoicing setup, see the GST e-invoicing guide. For 2026 GST compliance changes, see ERPNext GST 2026 readiness.
Item master setup
- Create item groups (hierarchy: All Item Groups → Raw Materials, Finished Goods, Services, etc.)
- Set valuation method per item or globally (FIFO or Moving Average — choose before entering stock transactions, difficult to change later)
- Enter HSN/SAC codes, default warehouse, default unit of measure
- Set reorder levels for critical items — ERPNext auto-generates Material Requests when stock drops below the threshold
Warehouse structure
- Create warehouses matching your physical locations (Main Store, Production Floor, Finished Goods, Scrap)
- Set up warehouse hierarchy if you have multiple locations
- Assign default warehouses to items and in Stock Settings
User roles and permissions
- Create user accounts for your team with company email addresses
- Assign roles (Accounts User, Stock User, HR User, Manufacturing User) — do not give everyone Administrator access
- Set up role-based permissions for sensitive data (salary slips, pricing, cost data)
- Enable two-factor authentication for administrator accounts
Skimmable summary: company → chart of accounts → GST → items → warehouses → users. Do this in order — each step depends on the previous one. Skip any step and you will fix it later under pressure.
How do I set up ERPNext for manufacturing?
Manufacturing setup in ERPNext requires configuring Bills of Materials (BOMs), work orders, production planning, and the new Material Requirements Planning (MRP) feature in v16. Get the BOM structure right and everything else follows.
Manufacturing configuration steps:
-
Create items — finished goods, raw materials, sub-assemblies, and consumables. Set the "is stock item" flag for physical items and "is fixed asset" for machinery.
-
Build BOMs — a Bill of Materials defines what raw materials and quantities are needed to produce one unit of a finished good. ERPNext supports multi-level BOMs (sub-assemblies with their own BOMs).
-
Set up workstations — define your production workstations with hourly operating costs. These flow into finished goods costing.
-
Configure operations — define manufacturing operations (Cutting, Welding, Assembly, QC) and assign them to workstations. Operations appear in work orders and track time per step.
-
Enable production planning — use the Production Plan to generate work orders from sales orders or material requests. V16's MRP feature automates this — it reads demand, checks stock, and generates purchase orders for shortfalls.
-
Set up subcontracting — if you outsource operations to job workers, configure subcontracting workflows with supplied-item tracking and scrap/wastage handling.
For the complete manufacturing setup including BOM costing and landed cost vouchers, see our ERPNext for manufacturers guide.
Skimmable summary: items → BOMs → workstations → operations → production planning → subcontracting. V16's MRP automates demand-to-purchase flow. Get the BOM structure right first.
How do I set up ERPNext HRMS and payroll?
ERPNext HRMS (now a standalone Frappe app called Frappe HRMS) manages the full employee lifecycle — hiring, attendance, leave, expense claims, and Indian payroll with PF, ESI, and TDS compliance.
HRMS setup checklist:
-
Install Frappe HRMS — on self-hosted, run
bench get-app hrmsandbench --site yoursite.com install-app hrms. On Frappe Cloud, add it from the marketplace. -
Configure the HR module — set up departments, designations, branches, and employment types (Full-time, Part-time, Contract, Intern).
-
Create employee records — enter each employee with personal details, date of joining, department, designation, and reporting structure. Import in bulk via CSV for large teams.
-
Set up leave policy — define leave types (Casual Leave, Sick Leave, Earned Leave, Compensatory Off) with annual allocation, carry-forward rules, and encashment policies.
-
Configure attendance — choose your attendance method: manual entry, biometric integration (via API), or self-attendance from the employee portal.
-
Set up payroll — this is the critical step:
- Create a salary structure with earnings (Basic, HRA, Special Allowance, Conveyance) and deductions (PF, ESI, Professional Tax, TDS)
- Assign salary structures to employees via Salary Structure Assignment
- Configure PF contribution (12% employee + 12% employer on Basic up to ₹15,000)
- Configure ESI (0.75% employee + 3.25% employer for gross salary below ₹21,000/month)
- Set up TDS calculation based on the employee's declared investments (Form 12BB)
-
Run a test payroll — process payroll for a past month to verify all calculations before going live. Compare the output against your previous payroll provider's salary slips line by line.
For the detailed Indian payroll setup with PF/ESI/TDS configuration, see the ERPNext payroll India setup guide.
Skimmable summary: install Frappe HRMS → departments → employees → leave policy → attendance → salary structures with PF/ESI/TDS → test payroll. Always run a test month before going live.
How do I migrate data into ERPNext?
Data migration is the step that takes the longest and causes the most post-go-live issues. Getting opening balances, item masters, and customer/supplier records right is non-negotiable.
What to migrate (in order):
| Data type | Source | ERPNext import method | Priority |
|---|---|---|---|
| Chart of accounts | Tally/existing ERP | Manual setup or template import | Critical |
| Customer master | Tally/spreadsheet | Data Import Tool (CSV) | Critical |
| Supplier master | Tally/spreadsheet | Data Import Tool (CSV) | Critical |
| Item master | Tally/spreadsheet | Data Import Tool (CSV) | Critical |
| Opening stock balances | Physical count + Tally | Stock Reconciliation | Critical |
| Opening account balances | Tally trial balance | Journal Entry | Critical |
| Outstanding invoices | Tally | Sales/Purchase Invoice (backdated) | High |
| Historical transactions | Tally | Usually not migrated | Low |
Key migration rules:
- Always use the Data Import Tool (Setup → Data Import) for bulk imports. It validates data before inserting and rolls back on errors.
- Migrate masters before transactions — customers and items must exist before you can create invoices referencing them.
- Reconcile opening balances — the trial balance in ERPNext on day one must match your previous system's closing trial balance exactly. Any mismatch will cascade through every report.
- Do not migrate historical transactions unless legally required. They add complexity without value. Start with opening balances as of your go-live date.
- Run parallel operations — keep your old system running for 1–2 months after go-live. Enter transactions in both systems and compare outputs weekly.
For a complete migration walkthrough from Tally, see the Tally to ERPNext migration guide. For the general migration framework, see the migration pillar.
Skimmable summary: migrate masters first (customers, suppliers, items), then opening balances, then outstanding invoices. Skip historical transactions. Reconcile trial balance on day one. Run parallel for 1–2 months.
What does the ERPNext setup wizard do?
The setup wizard runs the first time you log in to a new ERPNext site. It creates the foundational settings that every subsequent configuration depends on. Rushing through it means fixing things later.
What the wizard configures:
-
Language and region — sets the default language, date format (DD-MM-YYYY for India), and number format (Indian: 1,00,000 vs Western: 100,000).
-
Company details — company name, abbreviation (used as a suffix for all accounts, e.g., "Cash - MT"), and default currency.
-
Chart of accounts — select a pre-built template. For Indian companies, choose "Standard with Numbers" which includes GST accounts, TDS accounts, and Indian-standard groupings.
-
Fiscal year — set the financial year start (April 1 for Indian companies).
-
Domains — select which modules to enable: Manufacturing, Services, Retail, Distribution, Education, Healthcare, Agriculture, Non-Profit. This controls which workspace shortcuts appear — it does not restrict functionality. You can enable all modules later.
-
Branding — upload your company logo. This appears on print formats, the login page, and the sidebar.
What the wizard does not configure (and you must do manually):
- GST settings and GSTIN
- Item masters and warehouse structure
- User accounts and permissions
- Print formats and letterheads
- Email accounts for notifications
- Payment terms and pricing rules
- Workflow approvals
Skimmable summary: the wizard sets language, company, chart of accounts, fiscal year, and enabled modules. Everything else — GST, items, users, print formats — you configure manually after.
How long does ERPNext setup take?
Setup time depends entirely on which path you choose and how complex your business operations are. Here are realistic timelines from actual implementations.
| Setup path | Simple business (trading, 10 users) | Medium (manufacturing, 25 users) | Complex (multi-location, 50+ users) |
|---|---|---|---|
| Self-hosted install only | 2–4 hours | 2–4 hours | 4–8 hours |
| Frappe Cloud install | 10 minutes | 10 minutes | 10 minutes |
| Post-install configuration | 1–2 weeks | 3–4 weeks | 4–6 weeks |
| Data migration | 1–2 days | 1–2 weeks | 2–4 weeks |
| User training | 2–3 days | 1–2 weeks | 2–3 weeks |
| Parallel run + go-live | 2–4 weeks | 4–6 weeks | 6–8 weeks |
| Total (install to go-live) | 4–8 weeks | 8–12 weeks | 12–18 weeks |
The numbers above assume a dedicated implementation team. If you are configuring ERPNext alongside your day job, double the timeline. The most common delay is not technical — it is waiting for the business to finalize its chart of accounts, pricing rules, and approval workflows.
For the full implementation cost breakdown, see the ERPNext implementation cost guide.
Skimmable summary: installation is hours (self-host) or minutes (cloud). Configuration, migration, and training take 4–18 weeks depending on complexity. Configuration is always the bottleneck, not installation.
What are the most common ERPNext setup mistakes?
After setting up ERPNext for dozens of businesses, I see the same mistakes repeatedly. Every one of them is avoidable.
-
Skipping the chart of accounts review — the default Indian template works for most businesses, but manufacturers need production accounts, distributors need warehouse-wise P&L, and service businesses need project-wise revenue tracking. Fixing the chart of accounts after six months of transactions means re-mapping hundreds of entries.
-
Wrong valuation method — choosing FIFO when your industry uses Moving Average (or vice versa) cannot be changed after stock transactions are entered. Understand the difference before entering your first stock entry.
-
Not setting up HSN codes — every item needs an HSN/SAC code for GST returns. Doing this for 500 items after go-live is painful. Do it during item master setup.
-
Giving everyone Administrator access — Administrator bypasses all permission checks. Give users role-based access (Accounts User, Stock User) and test with a non-admin account before go-live.
-
Ignoring print format customisation — the default invoice format is functional but generic. Your customers and vendors expect invoices that look like your existing ones. Customise print formats before go-live, not after your first customer complains.
-
No backup strategy for self-hosted — Frappe Cloud handles this automatically. Self-hosted users must configure automated daily backups to an off-site location (S3, Google Drive, or a separate server). Test restoring from backup at least once before go-live.
-
Starting with production data on day one — always set up a test site first. Configure everything, import sample data, run test transactions, verify reports. Once you are confident, replicate the configuration on your production site with real data.
Skimmable summary: review your chart of accounts, choose the right valuation method, set HSN codes upfront, use role-based access, customise print formats, automate backups, and test on a staging site before going live.
How do I keep ERPNext updated after setup?
ERPNext receives regular updates — minor patches weekly, major versions annually. Keeping your instance updated ensures security patches, bug fixes, and new features.
On Frappe Cloud: Updates are one-click. Frappe Cloud shows available updates in your dashboard. Click "Update", wait 5–10 minutes, done. Automatic updates can be enabled to apply patches without manual intervention.
On self-hosted:
bench update --pull # pulls latest code
bench --site yoursite.com migrate # applies database changes
bench restart # restarts all services
Update best practices:
- Always back up before updating —
bench --site yoursite.com backupcreates a database and files backup - Test updates on a staging site first — clone your production site, apply the update, verify critical workflows (invoicing, stock entries, payroll)
- Do not skip major versions — update v15 → v16, never v14 → v16 directly. For the v15 to v16 upgrade path, see the upgrade guide
- Schedule updates during off-hours — updates take 5–30 minutes depending on the number of database migrations. Users cannot access the system during migration
Skimmable summary: Frappe Cloud — one-click updates. Self-hosted — bench update then bench migrate. Always backup first, test on staging, never skip major versions.
Frequently asked questions
Can I install ERPNext on Windows?
Not for production. ERPNext requires Linux (Ubuntu 22.04/24.04 LTS or Debian 12) for production deployments. You can run ERPNext on Windows using WSL2 (Windows Subsystem for Linux) or Docker Desktop for development and testing, but the Frappe team does not support Windows production installations. If your team uses Windows, Frappe Cloud or a managed partner eliminates the OS question entirely.
Do I need coding skills to set up ERPNext?
For Frappe Cloud — no. The entire setup is browser-based. For self-hosted installation — you need basic Linux command-line skills (SSH, package management, file editing). For post-install configuration — no coding required. ERPNext's admin interface handles company setup, item masters, user roles, and all standard configuration through forms and wizards. Custom workflows, fields, and reports can be created without code using ERPNext's built-in customisation tools.
How much does ERPNext setup cost in India?
The software is free. Setup costs depend on your path: self-hosted VPS runs ₹1,500–5,000/month for hosting. Frappe Cloud starts at ₹400/month ($5). A managed implementation partner charges ₹1–5 lakh for setup and configuration depending on complexity, plus ₹50,000–2 lakh/year for ongoing support. For the complete cost breakdown, see the ERPNext cost guide.
Can I set up ERPNext for multiple companies?
Yes. ERPNext supports multi-company setup within a single installation. Each company gets its own chart of accounts, fiscal year, and settings. Inter-company transactions (sales between group entities) are supported with automatic journal entries. Multi-company setup is configured after the initial setup wizard — add additional companies through Setup → Company → New Company.
Should I start with Frappe Cloud and move to self-hosted later?
Yes, this is a common and recommended path. Start on Frappe Cloud for the pilot and initial configuration. Once you have validated that ERPNext works for your business, migrate to self-hosted if you need more control or want to reduce long-term costs. Frappe Cloud provides a full site backup (database + files) that can be restored on any self-hosted Bench installation. The reverse migration (self-hosted to Frappe Cloud) is also supported.
How do I get help if I am stuck during setup?
Four options: (1) The official ERPNext documentation covers every module and feature. (2) The Frappe Forum is an active community with thousands of answered questions. (3) Frappe Cloud includes basic support on all paid plans. (4) An implementation partner provides hands-on, business-specific guidance — useful when the documentation answers "how" but not "how for my specific business."
Need help setting up ERPNext?
I help SMEs across India and Singapore set up ERPNext the right way — from server provisioning to GST configuration to go-live support. Book a free 30-minute discovery call to discuss your setup requirements. No commitment, no pitch deck.
About the author
Manoj is the founder of Mith Tech, a Bengaluru-based consultancy specialising in ERPNext, Frappe, and open-source business infrastructure for SMEs across India and Southeast Asia. He has led ERPNext implementations for manufacturers, distributors, and service businesses since 2020 — from fresh installs to complex multi-company migrations.