Why Frappe & ERPNext
Before we talk about how we work, it helps to understand the platform we build on. Frappe, the open-source framework behind ERPNext, earns its place not by having fewer gaps than the alternatives, but by what arrives the moment you install it. This page covers what you actually get out of the box, and why that translates into faster delivery and lower long-term cost for your business.
<div class="handbook-issue-detail-list handbook-issue-detail-list--four">
<div class="handbook-issue-detail-card"><strong>Open-source</strong><span>No per-seat licence fees</span></div>
<div class="handbook-issue-detail-card"><strong>Weeks</strong><span>To configure, not months to build</span></div>
<div class="handbook-issue-detail-card"><strong>Batteries included</strong><span>Admin, API, audit and mobile built in</span></div>
<div class="handbook-issue-detail-card"><strong>You own it</strong><span>Your data, your code</span></div>
</div>
<img class="handbook-wide-image" src="/files/doctype-defination.png" width="1999" height="1000" alt="Diagram defining a Frappe DocType and the screens, APIs, and permissions generated from it" />
<h2 class="compact-content-heading">What You Actually Get</h2>
<p class="compact-content-paragraph">A schema-as-code system with a generated UI, a complete admin desk, an audit trail, a scheduler, a job queue, a realtime layer, a REST API, an OAuth provider, multi-tenant isolation, a mobile-ready app, and a document lifecycle with thirty-plus extension points. <span class="handbook-highlight-blue">All open-source. All running on a Linux server in an afternoon.</span></p>
<p class="compact-content-paragraph">For roughly 80% of business applications, the ones that are essentially data, plus a workflow, plus permissions and reports, this is a genuine productivity multiplier. It is the reason ERPNext can be configured to your business in weeks rather than the many months a from-scratch build would demand.</p>
<div class="handbook-value-grid handbook-value-grid--outcome">
<div class="handbook-value-card"><strong class="handbook-value-title">Faster to launch</strong><p>The framework generates the screens, APIs, and permissions, so we spend our time on your workflows, not plumbing.</p></div>
<div class="handbook-value-card"><strong class="handbook-value-title">Lower total cost</strong><p>Open-source core means no per-user licence fees; your investment goes into fit, not seat counts.</p></div>
<div class="handbook-value-card"><strong class="handbook-value-title">You own it</strong><p>Your data and customizations are yours. Export, back up, or move them on your terms. No lock-in.</p></div>
<div class="handbook-value-card"><strong class="handbook-value-title">Built to grow</strong><p>Multi-company, multi-warehouse, and module-by-module expansion are part of the platform, not bolt-ons.</p></div>
</div>
<h2 class="compact-content-heading">Architecture at a Glance</h2>
<p class="compact-content-paragraph">You don't need to know the internals to benefit from them, but the shape of the system explains a lot about why it's flexible and safe to grow on. One server can run many isolated sites; each site runs one or more apps; the apps sit on a shared runtime; everything persists to a per-site database. Tap any block to see what it means for you.
<img class="handbook-wide-image" src="/files/erp-architecture.png" width="1999" height="1484" alt="ERPNext and Frappe architecture overview showing server, sites, apps, runtime, and per-site database" />
<h2 class="compact-content-heading">The Productivity Loop</h2>
<p class="compact-content-paragraph">Here is the core idea in one picture. In Frappe, you define a data entity once, called a DocType, and the framework instantly generates everything around it. </p>
<img class="handbook-wide-image" src="/files/doctype.png" width="1999" height="1029" alt="DocType example illustrating fields, forms, lists, and permissions in ERPNext" />
<h2 class="compact-content-heading">A Little Vocabulary</h2>
<p class="compact-content-paragraph">You don't need to be technical to work with us, but a few terms come up often.</p>
<div class="handbook-vocab-grid">
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>Site</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>A single, isolated instance of your system, with its own database, files, and settings. Several sites can run on one server with complete data separation.</p></div></div>
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>App</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>A bundle of features. ERPNext is an app; HRMS is an app; a custom app built for your business is one too. Multiple apps run together on one site.</p></div></div>
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>Module</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>A logical group of related screens within an app, for example Accounts, HR, or Manufacturing. Used to organise and navigate the system.</p></div></div>
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>DocType</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>The fundamental building block. It defines a business entity's fields, permissions, and behaviour. Every form you use is a DocType.</p></div></div>
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>Field</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>A single piece of data on a form: text, number, date, a link to another record, a table of child rows, and many more types.</p></div></div>
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>Virtual DocType</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>A screen that shows data living in another system, projected into your ERPNext desk without copying it. Useful for integrations.</p></div></div>
</div>
<h2 class="compact-content-heading">Capabilities, by Area</h2>
<p class="compact-content-paragraph">Everything below is included: not purchased separately, not custom-built.</p>
<div class="handbook-capability-explorer">
<div class="handbook-capability-filter" role="group" aria-label="Filter capabilities by area">
<button class="handbook-capability-filter-btn is-active" type="button" data-filter="all" aria-pressed="true">All</button>
<button class="handbook-capability-filter-btn" type="button" data-filter="what-users-see" aria-pressed="false">What users see</button>
<button class="handbook-capability-filter-btn" type="button" data-filter="identity-access" aria-pressed="false">Identity & access</button>
<button class="handbook-capability-filter-btn" type="button" data-filter="infrastructure" aria-pressed="false">Infrastructure</button>
<button class="handbook-capability-filter-btn" type="button" data-filter="audit-integrity" aria-pressed="false">Audit & integrity</button>
<button class="handbook-capability-filter-btn" type="button" data-filter="integration" aria-pressed="false">Integration</button>
<button class="handbook-capability-filter-btn" type="button" data-filter="workflow" aria-pressed="false">Workflow</button>
<button class="handbook-capability-filter-btn" type="button" data-filter="mobile-web" aria-pressed="false">Mobile & web</button>
</div>
<div class="handbook-capability-grid">
<div class="handbook-capability-card" data-area="what-users-see">
<strong class="handbook-capability-title">What users see — for free</strong>
<span class="handbook-capability-tagline">The interface your team works in, generated automatically.</span>
<ol class="handbook-capability-points">
<li><strong>Desk</strong> — A complete admin interface with navigation, search, and settings.</li>
<li><strong>List, report & kanban views</strong> — Multiple ways to view any data set without building screens.</li>
<li><strong>Dashboards & charts</strong> — Visual summaries of your operations out of the box.</li>
<li><strong>Web forms</strong> — Public-facing forms that write straight into your system.</li>
</ol>
</div>
<div class="handbook-capability-card" data-area="identity-access">
<strong class="handbook-capability-title">Identity, authentication & access</strong>
<span class="handbook-capability-tagline">Enterprise-grade access control included.</span>
<ol class="handbook-capability-points">
<li><strong>Role-based permissions (RBAC)</strong> — Control who can see and do what, by role.</li>
<li><strong>OAuth identity provider</strong> — Frappe can act as a single sign-on source.</li>
<li><strong>LDAP / Active Directory</strong> — Connect to your existing corporate directory.</li>
<li><strong>Record-level sharing</strong> — Share individual records with specific users when needed.</li>
</ol>
</div>
<div class="handbook-capability-card" data-area="infrastructure">
<strong class="handbook-capability-title">Infrastructure in the box</strong>
<span class="handbook-capability-tagline">The operational backbone you would otherwise assemble yourself.</span>
<ol class="handbook-capability-points">
<li><strong>Background jobs & queue</strong> — Heavy tasks run in the background without blocking users.</li>
<li><strong>Scheduler</strong> — Automated recurring tasks and reminders.</li>
<li><strong>Realtime layer</strong> — Live updates pushed to the screen as data changes.</li>
<li><strong>Caching</strong> — Fast performance under load, handled by the platform.</li>
</ol>
</div>
<div class="handbook-capability-card" data-area="audit-integrity">
<strong class="handbook-capability-title">Data integrity, audit & versioning</strong>
<span class="handbook-capability-tagline">A compliance-ready trail, automatically.</span>
<ol class="handbook-capability-points">
<li><strong>Activity log</strong> — Every significant action is recorded.</li>
<li><strong>Version history</strong> — Changes to records are tracked over time.</li>
<li><strong>Immutable submitted documents</strong> — Once submitted, records are locked against silent edits.</li>
<li><strong>Document lifecycle</strong> — A defined draft → submit → cancel flow for business records.</li>
</ol>
</div>
<div class="handbook-capability-card" data-area="integration">
<strong class="handbook-capability-title">Integration surface</strong>
<span class="handbook-capability-tagline">Connect ERPNext to the rest of your stack.</span>
<ol class="handbook-capability-points">
<li><strong>REST & RPC API</strong> — Programmatic access to every record and action.</li>
<li><strong>Webhooks</strong> — Push events to other systems as things happen.</li>
<li><strong>Email integration</strong> — Inbound and outbound email tied to your records.</li>
<li><strong>Virtual DocTypes</strong> — Show external system data inside ERPNext without copying it.</li>
</ol>
</div>
<div class="handbook-capability-card" data-area="workflow">
<strong class="handbook-capability-title">Workflow & business logic</strong>
<span class="handbook-capability-tagline">Encode your approval rules without custom code.</span>
<ol class="handbook-capability-points">
<li><strong>State-machine workflows</strong> — Define stages, transitions, and who can move them.</li>
<li><strong>Workflow builder</strong> — Configure approval chains visually.</li>
<li><strong>Naming rules</strong> — Automatic, consistent document numbering.</li>
<li><strong>30+ lifecycle hooks</strong> — Extension points to add business logic where needed.</li>
</ol>
</div>
<div class="handbook-capability-card" data-area="mobile-web">
<strong class="handbook-capability-title">Mobile & web reach</strong>
<span class="handbook-capability-tagline">Your team can work from anywhere.</span>
<ol class="handbook-capability-points">
<li><strong>Progressive Web App (PWA)</strong> — Install ERPNext like an app, straight from the browser.</li>
<li><strong>Mobile-ready interface</strong> — Core screens adapt to phones and tablets.</li>
<li><strong>Frappe HR mobile</strong> — Dedicated mobile experience for HR tasks.</li>
<li><strong>Web & portal pages</strong> — Customer- and vendor-facing portals on the same system.</li>
</ol>
</div>
</div>
</div>
<h2 class="compact-content-heading">The Ecosystem You Get Access To</h2>
<p class="compact-content-paragraph">Frappe is more than ERPNext. The same platform powers a family of open-source apps you can adopt as your needs grow, all sharing <span class="handbook-highlight-blue">one login, one database, and one design language</span>.</p>
<div class="handbook-issue-detail-list">
<div class="handbook-issue-detail-card"><span class="handbook-app-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="7" height="7" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><rect x="14" y="3" width="7" height="7" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><rect x="3" y="14" width="7" height="7" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><rect x="14" y="14" width="7" height="7" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span><strong>ERPNext</strong><span>Full ERP suite</span></div>
<div class="handbook-issue-detail-card"><span class="handbook-app-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="8" r="3.5" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><path d="M5 20c0-3.866 3.134-7 7-7s7 3.134 7 7" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><rect x="9" y="4" width="6" height="3" rx="1" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span><strong>Frappe HR</strong><span>HR and payroll</span></div>
<div class="handbook-issue-detail-card"><span class="handbook-app-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 4C7.582 4 4 7.582 4 12v2" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 14v-2c0-4.418-3.582-8-8-8" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><rect x="2" y="13" width="3" height="5" rx="1.5" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><rect x="19" y="13" width="3" height="5" rx="1.5" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span><strong>Helpdesk</strong><span>Support tickets</span></div>
<div class="handbook-issue-detail-card"><span class="handbook-app-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 4h16l-6 8v6l-4-2v-4L4 4z" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span><strong>Frappe CRM</strong><span>Sales pipeline</span></div>
<div class="handbook-issue-detail-card"><span class="handbook-app-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 6C10 4 6 4 4 5v14c2-1 6-1 8 1 2-2 6-2 8-1V5c-2-1-6-1-8 1z" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 6v14" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span><strong>Wiki</strong><span>Knowledge base</span></div>
<div class="handbook-issue-detail-card"><span class="handbook-app-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 20h16" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><rect x="5" y="12" width="3" height="8" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><rect x="10.5" y="7" width="3" height="13" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><rect x="16" y="4" width="3" height="16" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span><strong>Insights</strong><span>BI and dashboards</span></div>
<div class="handbook-issue-detail-card"><span class="handbook-app-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 8h18" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><path d="M9 8v13" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span><strong>Builder</strong><span>Web pages</span></div>
<div class="handbook-issue-detail-card"><span class="handbook-app-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span><strong>Raven</strong><span>Team chat</span></div>
<div class="handbook-issue-detail-card"><span class="handbook-app-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 4L2 9l10 5 10-5-10-5z" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 11.5V17c0 0 2 2.5 6 2.5S18 17 18 17v-5.5" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 9v5" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span><strong>LMS</strong><span>Training and courses</span></div>
</div>
<div class="handbook-agile-feedback">
<p><strong>Why it matters for you:</strong> You can start with ERPNext and add HR, a helpdesk, a CRM, or BI later without buying or integrating a separate vendor. It's the same system you already own.</p>
</div>
<h2 class="compact-content-heading">Where It Runs</h2>
<p class="compact-content-paragraph">You're not locked to one hosting choice. The platform runs the same way whether it's on your own servers or fully managed.</p>
<div class="handbook-value-grid handbook-value-grid--outcome">
<div class="handbook-value-card"><strong class="handbook-value-title">Self-hosted</strong><p>On your own Linux server or private cloud, fully under your control.</p></div>
<div class="handbook-value-card"><strong class="handbook-value-title">Frappe Cloud</strong><p>Fully managed hosting with backups and updates handled for you.</p></div>
<div class="handbook-value-card"><strong class="handbook-value-title">Docker / Kubernetes</strong><p>Containerised for scalable, modern infrastructure setups.</p></div>
</div>
<h2 class="compact-content-heading">Frequently Asked Questions</h2>
<div class="handbook-faq-list">
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>Is open-source safe for a serious business?</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>Yes. Frappe and ERPNext run thousands of production deployments worldwide, including large institutions and SMEs. Open-source means you can see the code, you're not tied to one vendor, and you avoid per-seat licence fees while still getting enterprise capabilities like audit trails, RBAC, and OAuth out of the box.</p></div></div>
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>Why is this faster than building custom software?</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>Because defining a single data model automatically generates the forms, lists, search, REST API, permissions, comments, attachments, and reports around it. We spend our effort tailoring your workflows instead of rebuilding the basics.</p></div></div>
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>Do we own our data and customizations?</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>Yes. You retain ownership of your data and the customizations built for you, with the ability to export, back up, or migrate based on your project agreement. There's no proprietary lock-in.</p></div></div>
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>Can we start small and expand later?</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>Absolutely. You can begin with the modules you need today and add others, or whole apps like HR, Helpdesk, CRM, or BI, later on the same platform with one login and one database.</p></div></div>
<div class="handbook-faq-item"><button class="handbook-faq-question" type="button" aria-expanded="false"><span>Where can it be hosted?</span><span class="handbook-faq-chevron" aria-hidden="true"></span></button><div class="handbook-faq-answer"><p>On your own servers, on fully managed Frappe Cloud, or in containerised Docker/Kubernetes environments, whichever fits your infrastructure and compliance needs.</p></div></div>
</div>