Frappe Framework
What Frappe Framework gives you
DocTypes & ORM
Describe a document once and get database tables, forms, list views and a Python/JS ORM — virtual DocTypes included.
Desk UI out of the box
Auto-generated admin UI with list, kanban, calendar and report views, workspaces and dashboards.
Granular permissions
Role-based and field-level permissions, user permissions per record and share controls.
REST & RPC APIs
Every DocType ships a REST API automatically, with token and OAuth2 authentication.
Server & client scripts
Extend behaviour with webhooks, scheduled jobs, server scripts and custom apps — without forking.
Workflow builder
Low-code approval workflows, web forms, notifications and print formats configured, not coded.
Also included
How Frappe Framework works in practice
You define a DocType — fields, validations, permissions — and the framework generates the storage, the form, the list view and the API in one stroke. Business logic lives in Python controllers or low-code server scripts; the UI reacts through client scripts. This is why a two-person team can ship an internal tool in days: the plumbing that consumes most project hours is already built, tested and maintained by a global community.
Why it matters to your ERP
Every customisation we make to ERPNext — custom fields, approval flows, integrations — rides on Frappe Framework, which keeps them upgrade-safe. Explore the wider Frappe ecosystem, our implementation service, or the official Frappe Framework site.
Frequently asked questions
Is Frappe Framework free?
Yes — MIT-licensed open source. You pay for hosting and expertise, never per-user licences.
Do customisations survive upgrades?
Custom apps and fields live outside core code, so version upgrades keep your changes intact by design.
What language does it use?
Python on the server, JavaScript on the client, MariaDB/Postgres underneath — mainstream, hireable skills.