ERPNext data model
An entity-relationship reference for ERPNext — 448 entities across 18 modules, with diagrams, field tables and every relationship in the system.
Every ERPNext entity is a DocType — a table definition stored as JSON in the source tree and materialised as a database table named tab<DocType Name>. This site documents those definitions directly, so it describes the authoritative schema rather than a reconstruction from a live database.
448 entities across 18 modules: 72 transactions, 12 ledger and derived tables, 150 masters and 214 child tables, wired together by 2,323 Link and Table fields.
Start here
Start the learning path
A guided, ordered route through this site — start here if you don’t know where to start.
The data model in brief
Universal columns, the three ledger patterns and the transaction chain.
Modules
All 18 modules with diagrams and a full entity reference each.
Reference
Whole-system lookup: every relationship, entity and polymorphic link.
Desk
The shipped desk surface: reports, workspaces, dashboards, print formats and onboarding.
The two core chains
Nearly every transaction in ERPNext sits on one of two document chains. Each step optionally pulls from the previous one, and every line carries a back-reference to its source — which is how delivered, billed and received percentages are tracked.
The busiest modules
Accounts
The financial core — Chart of Accounts, GL Entry, invoices, payments, taxes, budgets and the receivable/payable ledgers.
Stock
Item, Warehouse, and every movement of quantity and value — Stock Ledger Entry, Bin, batches, serials and reconciliation.
Manufacturing
BOM, Production Plan, Work Order and Job Card — planning and executing production against stock.
Setup
Company, Item Group, UOM, Territory, Employee and the other cross-cutting masters every other module links to.
Source version
This site documents ERPNext v16.29.0 — tag v16.29.0, commit a5de60c on the version-16 branch of frappe/erpnext.
Every count, fieldname, naming rule and relationship on this site is a snapshot of that release. Nothing here tracks develop, and nothing is inferred where the DocType JSON was silent.
| App | Version | Covered here |
|---|---|---|
| frappe/erpnext | v16.29.0 | The 448 entities across 18 modules — everything under Modules and Reference — plus the behaviour documented under System designs and the shipped desk configuration (reports, workspaces, dashboards, print formats, onboarding) documented under Desk. |
| frappe/frappe | v16 | Not documented; the doctypes ERPNext links into are listed as framework entities and marked (fw). |
| frappe/payments | v16 | Not documented; Payment Gateway is referenced by Payment Gateway Account and marked (payments). |
| resilient-tech/india-compliance | v16.7.0 | A companion reference only — see GST compliance. Not counted in the 448. |
What the 448 covers
ERPNext v16.29.0 defines 529 DocTypes. This site documents the 448 that make up the relational business model. The 81 left out are chiefly settings singletons (Stock Settings, Accounts Settings), tools and their child tables (Bank Reconciliation Tool, Payment Reconciliation, BOM Update Tool), import and log doctypes, and website/portal helpers — none of which carry business relationships worth diagramming.
Narrative descriptions are drawn from the official ERPNext user documentation.