ERPNext

Implement ERPNext on the Frappe Framework, with DocTypes, scripts, custom apps, integrations and data migration designed around your accounting, stock and production.

On this page

What an ERPNext implementation involves

ERPNext is an ERP under the GPLv3, built on the Frappe Framework (MIT licensed, Python and JavaScript, with MariaDB as its main database). It covers accounting, buying, selling, stock, manufacturing, projects, assets, quality and support. HR and payroll are a separate GPLv3 app, Frappe HR, installed on the same site.

Everything in Frappe is a DocType: one definition produces the table, form, list view, permissions and REST endpoints. That makes ERPNext quick to extend and makes implementation mostly modeling work. Companies and chart of accounts, items and warehouses, bills of materials and routings, pricing rules, tax templates and approval workflows are decided before data is loaded.

The project then fills the gaps: custom fields and DocTypes, scripts, a custom app for anything that needs version control, integrations with banks, shops and other systems, and a migration from the package being replaced.

Versions to plan against

Dates from Frappe's supported versions page. ERPNext, the Frappe Framework and Frappe HR share the same version numbers and end-of-life dates, and planned dates can change.

VersionStatusPlanning note
Version 14End of life on January 31, 2026.Sites still on v14 no longer receive fixes. Plan the move to v15 or v16 now.
Version 15Supported, with end of life planned for the end of 2027.Existing v15 sites can stay for now, but should schedule the v16 upgrade and the porting of custom apps.
Version 16Released in January 2026, with end of life planned for the end of 2029.The target for new implementations. It raises the Python, Node.js and MariaDB versions the host needs, so check the installation requirements first.
develop branchBleeding edge.Useful for testing upcoming changes. Keep production sites on a released version.

Where customizations live

The layer you choose decides whether a change is reviewed, versioned and carried through upgrades, or lives only in one site's database.

Customize Form and custom fields

Changes and new fields on standard DocTypes are stored as Property Setter and Custom Field records. Export them into a custom app as fixtures so every environment matches.

Custom DocTypes

New document types for processes ERPNext does not cover, such as an inspection record. Create them in a custom app's module so their definitions sit in Git.

Client and server scripts

Client scripts add form behavior in JavaScript. Server scripts run restricted Python on document events or as API endpoints. Since v15 they are disabled by default, and on Frappe Cloud they need a private bench.

Workflows and notifications

The Workflow DocType defines states, transitions and the roles allowed to move a document. Notifications and assignment rules handle alerts and routing.

Custom apps

A Frappe app holds DocTypes, hooks, event handlers, overrides, reports, patches and fixtures in one repository. Business logic that needs tests belongs here, and this is what gets ported at each major upgrade.

How the implementation runs

Map order to cash, procure to pay, stock movements, production planning and month-end close with the people who run them. Record legal entities, currencies, tax rules, numbering, approval limits and the reports finance relies on.

Integrations and APIs

DocTypes are exposed at /api/resource and whitelisted methods at /api/method. Integration users authenticate with an API key and secret on a user with limited roles.

NeedMechanismDesign point
Outbound eventsWebhooks on DocType events, or document event hooks in a custom app.Define retries and failure alerts. Hooks in an app are easier to test.
Bank dataBank Statement Import and reconciliation tools, or a bank integration app.Agree file formats with each bank and who handles unmatched lines.
E-commerceConnector apps or a custom app calling the REST API.Pick one owner for items, prices and stock.
Regional complianceLocalization apps for e-invoicing and tax reporting.Confirm the app supports your major version before relying on it.
IdentityLDAP Settings for directory login; Social Login Keys for OAuth or OpenID Connect providers.Map LDAP groups to roles and keep one local administrator for recovery.

Migrate data from the previous system

Common predecessors are desktop accounting packages, spreadsheets, another ERP or an older ERPNext site. Migrate masters (customers, suppliers, items, BOMs, chart of accounts) and open positions, and leave closed history in an archive unless a report needs it.

The Data Import tool loads CSV or Excel files from a template, inserts new records or updates existing ones by ID, handles child tables, and validates the file before anything is written. Frappe recommends batches of a few thousand records to avoid slowing the site for other users. Larger loads run as scripts in a custom app.

Opening positions use ERPNext's own tools: the Opening Invoice Creation Tool for open receivables and payables, a journal entry for account balances, and Stock Reconciliation with the Opening Stock purpose for quantities and valuation. Reconcile the trial balance, aged receivables and payables and stock value with finance after every rehearsal, and use the same scripts for the final cutover.

Hosting, access and upgrades

Frappe's managed hosting. Sites with custom apps or server scripts need a private bench. It removes server operations, and data sits in Frappe's infrastructure.

ERPNext operating ownership

After go-live, ERPNext needs owners for the platform, the configuration, the custom app and the controls around it.

Platform

  • Run the bench, MariaDB, Redis and workers.
  • Watch the background job queue and scheduler.
  • Apply minor updates on a tested schedule.

Functional owners

  • Own masters such as items, accounts and price lists.
  • Approve changes to workflows, roles and print formats.
  • Run period close and stock reconciliation.

Developers

  • Maintain the custom app with tests and review.
  • Move UI customizations into fixtures.
  • Port the app before each major upgrade.

Security and audit

  • Review administrators, API keys and role grants.
  • Keep segregation of duties in approval workflows.
  • Retain evidence of access reviews and restore tests.

ERPNext implementation questions

Should we customize through the UI or a custom app?

Use the UI to prototype and for small changes, then export anything that matters into a custom app as fixtures or code. Customizations that exist only in one site's database are easy to lose track of and hard to test before upgrades.

Is HR and payroll part of ERPNext?

HR and payroll are in Frappe HR, a separate GPLv3 app. It installs on the same site, works with ERPNext companies and accounting, and follows the same version numbers and end-of-life dates.

Can we stay on version 15?

For now. Frappe plans end of life for v15 at the end of 2027. Schedule the v16 upgrade, including porting custom apps and any localization apps, well before that date.

Can DeployOpen help with SOC 2 or ISO 27001 readiness?

Yes. DeployOpen reviews roles, approval workflows, hosting and change control, runs security testing, and helps prepare evidence for SOC 2, ISO 27001, DORA or NIS2 readiness. DeployOpen does not issue audit reports or certifications.

Scope and handover

Effort depends on the number of companies and countries, the modules in use, manufacturing complexity, the volume of custom DocTypes and integrations, source data quality and the number of users to train. Masters design and migration rehearsals usually take longer than the technical setup.

DeployOpen runs discovery, designs masters and workflows, builds the custom app, integrates SSO and other systems, migrates and reconciles data, deploys and hardens the bench or containers in your infrastructure, trains key users and supports go-live. Handover includes the process and masters design, the custom app repository with fixtures, integration specifications, migration scripts and reconciliation records, the role and permission matrix, backup and restore results, and the plan for the next major version.

Sources and further reading

More on ERPNext

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.