ERPNext
by Frappe Technologies
A full open-source ERP whose Production Plan takes sales orders, explodes sub-assemblies, subtracts projected stock including pending purchase orders, and raises dated material requests, with accounting, purchasing and quality in the same system.
Why it is classified this way
We call this a Manufacturing ERP product. A broad business system (accounting, sales, purchasing) with a substantial manufacturing or planning module attached.
This product meets our Full MRP tests, but we classify it by its center of gravity rather than its planning engine alone. The capability table below shows the detail.
The six Full MRP tests, and how ERPNext does on each (6 of 6)
- YesIt represents a bill of materials, recipe, or formula.Evidence: docs.frappe.io › Manufacturing(opens in a new tab)
- YesIt accepts dated demand, sales orders, a forecast, or a master production schedule.Evidence: docs.frappe.io › Production plan(opens in a new tab)
- YesIt nets that demand against stock on hand and orders already incoming.Evidence: docs.frappe.io › Production plan(opens in a new tab)
- YesIt explodes requirements through at least one level of the bill of materials.Evidence: docs.frappe.io › Production plan(opens in a new tab)The Production Plan's "Include Exploded Items" option pulls the raw materials of sub-assembly items into the plan, so demand for the finished item becomes component requirements. Scope: the Production Plan workflow; the separate MRP report is version 16 only.
- YesIt uses lead times or required dates.Evidence: docs.frappe.io › Material requirements planning mrp(opens in a new tab); github.com › V16.0.0(opens in a new tab)
- YesIt produces dated buy, make, transfer, release, or reschedule recommendations.Evidence: docs.frappe.io › Material requirements planning mrp(opens in a new tab); docs.frappe.io › Material request(opens in a new tab); docs.frappe.io › Production plan(opens in a new tab); github.com › V16.0.0(opens in a new tab)
These rules are applied identically to every product and enforced at build time, a record cannot be published as Full MRP unless all six pass with a source attached. Read the methodology.
Best for
- Shops that want to own their system outright and never pay a per-seat bill again
- Manufacturers who need accounting, purchasing and production in one place rather than three subscriptions
- Teams with someone technical who can run a server or manage a hosting partner
Not a fit when
- Solo makers who want to be running by Thursday. The setup burden is real and it is the main reason people abandon ERPNext
- Shops with nobody willing to own configuration decisions
Pricing facts
What it costs to do manufacturing in this product.
Free to self-host
The software itself is free under GPL-3.0 with no feature gating. Your real cost is hosting plus the time to configure it. The vendor's managed hosting on Frappe Cloud is priced separately; see the notes below.
Free to self-host
$0/month
Advertised from
$5/month
Useful entry price
$25/month
Billing basis
Flat rate
Why the useful price is higher
The software license is $0. The $5 figure is the cheapest Frappe Cloud shared hosting plan, which the vendor's FAQ says suits production only where use is not mission-critical and concurrency is low, so we use the $25 shared tier as a more realistic managed-hosting entry. Whether it is enough for your shop is not confirmed. Self-hosting costs whatever your own server and time cost.
Plans
| Plan | Price | Add-ons and setup |
|---|---|---|
| Self-hostedERPNext (GPL-3.0) | Free | — |
| No license fee. You pay for your own hosting and do the setup. | ||
| Frappe Cloud shared, $5Frappe Cloud hostingBilled monthly | $5/mo | — |
| 0.5 CPU-hours a day, 250 MB database, 2.5 GB storage. The vendor's FAQ says site plans suit production only where use is not mission-critical and concurrency is low. Frappe says site plans suit production only where use is not mission-critical, concurrency is low and occasional slowdowns are tolerable, and recommends server plans for more reliable hosting. Whether this size is enough for your shop is not confirmed. | ||
| Frappe Cloud shared, $25Frappe Cloud hostingBilled monthly | $25/mo | — |
| 2 CPU-hours a day, 1 GB database, 25 GB storage. Mid shared tier. Suitability for production is not confirmed. Frappe says site plans suit production only where use is not mission-critical, concurrency is low and occasional slowdowns are tolerable, and recommends server plans for more reliable hosting. Whether this size is enough for your shop is not confirmed. | ||
| Frappe Cloud shared, $50Frappe Cloud hostingBilled monthly | $50/mo | — |
| 4 CPU-hours a day, 2 GB database, 50 GB storage. Frappe says site plans suit production only where use is not mission-critical, concurrency is low and occasional slowdowns are tolerable, and recommends server plans for more reliable hosting. Whether this size is enough for your shop is not confirmed. | ||
| Frappe Cloud dedicatedFrappe Cloud hostingBilled monthly | from $40/mo | — |
| Server size and total cost depend on your load; not confirmed. | ||
Cheapest paid plan that manufactures, by paid users
- 1 user: Frappe Cloud shared, $5, at least $5 a month (billed monthly); first year at least $60.
- 5 users: Frappe Cloud shared, $5, at least $5 a month (billed monthly); first year at least $60.
- 10 users: Frappe Cloud shared, $5, at least $5 a month (billed monthly); first year at least $60.
Pricing detail
There is no license fee, so we show no monthly figure: ERPNext costs whatever your hosting and your setup time cost. For managed hosting, Frappe Cloud's shared site plans run $5, $10, $25, $38 and $50 a month (0.5 to 4 CPU-hours a day, 250 MB to 2 GB database), and dedicated servers start at $40 a month. The sites page says "Sites created with any of the plans do not have a user limit." These figures come from the vendor's pricing pages, which switch between USD and INR and show different regions, so treat them as a guide. The vendor's FAQ says site plans suit production only where use is not mission-critical and concurrency is low, so a working manufacturer is more likely on the $25 to $50 tier or a $40-plus server. Bug-fix support from Frappe engineers is shown only on the higher site tiers. Anyone comparing this against a $99 SaaS plan should still budget real implementation effort.
Price history
- ERPNext Cloud hosting at $150 per user per year, minimum 3 users paid annually; self-hosting estimated at around $40 a month for a VPS. Archived page, August 23, 2018(opens in a new tab)
- Hosted plans per site per month: Cloud $10, Starter $400 (hosting plus support, up to 10 users), Small Business $700 and Enterprise $1,250. Archived page, March 12, 2023(opens in a new tab)
- Hosted Small Business plan at $50 a month with unlimited users; Enterprise custom. Archived page, January 12, 2024(opens in a new tab)
- Frappe Cloud hosting page: shared hosting from $5 a month, sites on private benches from $25 a month, standard support from $50 a month and premium dedicated hosting from $400 a month. Archived page, March 20, 2025(opens in a new tab)
- Frappe Cloud: sites from $5 a month, servers from $20 a month, and a dedicated-server tier from $125 a month. Archived page, March 9, 2026(opens in a new tab)
From copies of the vendor's pricing page kept by the Internet Archive.
Checked on October 9, 2026. Source: frappe.io(opens in a new tab). Prices change. Check before you buy.
Manufacturing capability
24 of 25 fields resolved. "Unknown" means we have not found first-party evidence. It is not a No.
Planning
Working out what to buy or make, and when.
| Capability | Finding | What we found |
|---|---|---|
| Accepts dated demandYou can tell it what is due and when, sales orders with dates, a forecast, or a production schedule. | Yes | "A Production Plan can be used for planning the manufacture of Items against Sales Orders or Material Requests."Reviewed October 9, 2026. Source: docs.frappe.io › Production plan(opens in a new tab)Question this |
| Nets against stock on handIt subtracts what you already have before telling you to buy more. | Yes | The documented formula is "Required Qty = BOM Required Qty – Projected Qty", with equivalent netting available for sub-assemblies.Reviewed October 9, 2026. Source: docs.frappe.io › Production plan(opens in a new tab)Question this |
| Counts incoming ordersIt knows about purchase orders and production orders already placed, so it does not tell you to order twice. | Yes | Projected quantity explicitly includes quantities on a Material Request with a pending Purchase Order, so stock already ordered is not ordered twice.Reviewed October 9, 2026. Source: docs.frappe.io › Production plan(opens in a new tab)Question this |
| Uses lead timesIt works backwards from when you need something to when you must order or start it, using supplier and production lead times. | Yes | Item Lead Time records hold manufacturing and procurement lead times, and planning uses them to date orders. The manual says: "To calculate the dates of when to release the purchase order for raw materials and work order for components, the system needs to be aware of the lead time for manufacturing and the lead time for material procurement. For this purpose, a new document Item Lead Time was added." This arrived in version 16, released in January 2026. Item Lead Time is not in version 15 or 14, so older self-hosted installs do not have it.Reviewed October 9, 2026. Source: docs.frappe.io › Material requirements planning mrp(opens in a new tab); github.com › V16.0.0(opens in a new tab)Question this |
| Produces dated buy/make suggestionsThe output is an actionable list with dates, order this much by this date, start this batch on this date. | Yes | The MRP report gives dates as well as quantities: "The Material Requirements Planning (MRP) report calculates the required quantities of raw materials and components, along with the dates when they are needed, based on the demand for finished items." Release dates for purchase orders and work orders are worked out from Item Lead Time, and the Production Plan also raises Material Requests with a Required By date per line. The MRP report is new in version 16 (January 2026). On version 15 and older, only the Production Plan's Material Requests with a Required By date are available.Reviewed October 9, 2026. Source: docs.frappe.io › Material requirements planning mrp(opens in a new tab); docs.frappe.io › Material request(opens in a new tab); docs.frappe.io › Production plan(opens in a new tab); github.com › V16.0.0(opens in a new tab)Question this |
| Capacity planningChecks whether your people and machines can do the work in the time available. | Yes | The vendor states: "The system will auto-create the Job Card with timing against each operation based upon the time required to complete that operation and Workstation's availability. The user has to set the planned start date and based on the operation time, system calculates the planned end date." The capacity planning guide also covers production capacity limits, overtime and working-day rules. Checked 2026-09-14.Reviewed October 9, 2026. Source: docs.frappe.io › Production and material planning capacity planning(opens in a new tab)Question this |
Production
Recipes, bills of materials, and running the work.
| Capability | Finding | What we found |
|---|---|---|
| Bill of materialsA list of the parts and quantities needed to make one of something. | Yes | The BOM "defines the components and raw materials needed to produce a finished product" and drives work orders.Reviewed October 9, 2026. Source: docs.frappe.io › Manufacturing(opens in a new tab)Question this |
| Multi-level BOMSub-assemblies inside assemblies, a part that is itself made from other parts, nested as deep as you need. | Yes | "Include Exploded Items" pulls the raw materials of sub-assembly items into the plan, and sub-assembly items can be fetched from the BOM.Reviewed October 9, 2026. Source: docs.frappe.io › Production plan(opens in a new tab)Question this |
| Recipes & formulasBatch-style production by weight, volume, or percentage, including scaling a batch up or down. | Unknown | Not yet researched. We would need: documentation of recipe or formula records, ideally with batch scaling.Know the answer? |
| Work / manufacturing ordersA record authorising and tracking the making of a specific quantity. | Yes | Work orders manage "the creation, tracking, and execution of work orders based on BoMs".Reviewed October 9, 2026. Source: docs.frappe.io › Manufacturing(opens in a new tab)Question this |
| Routings & operationsThe ordered steps a product goes through, and which machine or station does each one. | Yes | "A Routing stores all Operations along with the description, hourly rate, operation time, batch size, etc. Creating a Routing for your BOM Operations is useful when similar Operations are used for manufacturing different items." A Sequence ID on the routing makes operators complete operations in order through Job Cards.Reviewed October 9, 2026. Source: docs.frappe.io › Routing(opens in a new tab)Question this |
| Shop-floor trackingOperators report progress, time, and completions as the work happens. | Yes | Job cards provide "detailed instructions and tracking for each step in the production process".Reviewed October 9, 2026. Source: docs.frappe.io › Manufacturing(opens in a new tab)Question this |
| Quality controlsChecks, tests, holds, and non-conformance records tied to production or receiving. | Yes | Quality inspection "ensures products meet quality standards through inspections".Reviewed October 9, 2026. Source: docs.frappe.io › Manufacturing(opens in a new tab)Question this |
Inventory & traceability
Knowing what you hold and being able to trace it.
| Capability | Finding | What we found |
|---|---|---|
| Batch & lot traceabilityWhich incoming material lots went into which finished batch, and where those finished goods went. | Yes | Batches can be traced back to the component batches used to make them, and forward to where they were used or delivered. The traceability report guide says: "To find out which components are required to manufacture the batch and where they came from, use the Backward Traceability filter." Batch and serial tracking has to be switched on in Stock Settings first.Reviewed October 9, 2026. Source: docs.frappe.io › Serial and batch traceability report(opens in a new tab)Question this |
| Expiry & shelf lifeBest-before dates on materials and finished goods, with warnings before they lapse. | Yes | Batch items can carry a shelf life and an expiry date: "Shelf Life In Days : This is for a product Batch . The number of days after which the product batch will be unusable. For example, medicines." This applies to batch-tracked items only.Reviewed October 9, 2026. Source: docs.frappe.io › Item(opens in a new tab)Question this |
| Serial numbersUnique identifiers on individual units, for warranty or field service. | Yes | "As discussed in the Item page, if an Item is serialized , a Serial Number (Serial No) record is maintained for each quantity of that Item ." Serial numbers need batch and serial tracking switched on in Stock Settings and Has Serial No ticked on the item.Reviewed October 9, 2026. Source: docs.frappe.io › Serial no(opens in a new tab)Question this |
Commerce & accounting
Costs, purchasing, storefronts, and the books.
| Capability | Finding | What we found |
|---|---|---|
| Product costing & COGSWhat it costs you to make one, and the cost of the goods you sold. | Partial | Manufacturing reporting covers "production performance, costs, and efficiency". We have not verified the costing method in detail.Reviewed October 9, 2026. Source: docs.frappe.io › Manufacturing(opens in a new tab)Question this |
| PurchasingRaising and tracking purchase orders to suppliers from inside the system. | Yes | Material Requests flow into purchasing, and sub-contracted work uses a Sub-contract Purchase Order.Reviewed October 9, 2026. Source: docs.frappe.io › Production plan(opens in a new tab)Question this |
| Accounting connectionSends financial data to bookkeeping software, or includes its own general ledger. | Yes | ERPNext includes its own general ledger. This is a full ERP, not a manufacturing add-on that needs QuickBooks behind it.Reviewed October 9, 2026. Source: frappe.io › Erpnext(opens in a new tab)Question this |
| Ecommerce connectionPulls orders and pushes stock levels to a storefront or marketplace. | Yes | Shopify orders become sales orders: "The Shopify Connector pulls the orders from Shopify and creates Sales Order against them in ERPNext." The Shopify connector is no longer part of ERPNext itself but a separate Frappe app, installed from the Frappe Cloud Marketplace or with bench on a self-hosted site, and the WooCommerce integration page is marked "Deprecated in Version 15".Reviewed October 9, 2026. Source: docs.frappe.io › Shopify integration(opens in a new tab); docs.frappe.io › Woocommerce integration(opens in a new tab)Question this |
Openness & your data
Getting data in, out, and away if you leave.
| Capability | Finding | What we found |
|---|---|---|
| APIA documented programming interface so other software can read and write your data. | Yes | The Frappe framework underneath exposes a REST API across all doctypes.Reviewed October 9, 2026. Source: github.com › Erpnext(opens in a new tab)Question this |
| WebhooksThe system can notify other software the moment something changes. | Yes | Outbound webhooks come from the Frappe framework that ERPNext runs on: "Webhooks are "user-defined HTTP callbacks". For a select DocType, you can create a webhook that triggers on specific document events under certain conditions, if required."Reviewed October 9, 2026. Source: docs.frappe.io › Webhooks(opens in a new tab)Question this |
| MCP supportA Model Context Protocol server, letting an AI assistant read or act on this data. Useful, but it has nothing to do with whether the product plans materials. | Partial | Frappe publishes its own MCP toolkit, but it is a library for building your own MCP server rather than a ready-made ERPNext server: "Frappe MCP allows your Frappe Framework app to function as a" MCP server. The README describes it as highly experimental and supporting tools only.Reviewed October 9, 2026. Source: github.com › Mcp(opens in a new tab)Question this |
| CSV exportYou can get your lists out as spreadsheet files. | Yes | "'Data Export' helps you extract data from any DocTypes to a CSV or an Excel format."Reviewed October 9, 2026. Source: docs.frappe.io › Data export(opens in a new tab)Question this |
| Full data exportYou can take everything, including history and relationships, not just a few screens' worth of rows. | Yes | You hold the database. Self-hosting under GPL-3.0 means a full dump is always available to you, and the manual adds that "you can manually download a database backup" from Home > Download Backups. The strongest possible answer to lock-in.Reviewed October 9, 2026. Source: github.com › Erpnext(opens in a new tab); docs.frappe.io › Download backup(opens in a new tab)Question this |
Deployment, licensing and your data
- Deployment
- Self-hosted, Cloud (hosted for you), On-premise (vendor-supported)
- Licensing
- Open sourceGPL-3.0
- Team sizes
- 2–5 people, 6–20 people, 21–50 people, 51+ people
- Manufacturing styles
- Countable assembled products, Batch & recipe products, Custom or job-shop work, Kits & bundles, Continuous process
About the licence
GPL-3.0 confirmed against the repository on 13 August 2026. The whole application is under this license. There is no withheld enterprise edition.
Licence: github.com(opens in a new tab)
Integrations
- Shopify
Jobs this product qualifies for
Derived from the capability table above, not hand-assigned.
Editorial notes and cautions
Things we would want a friend to know before buying.
- "Free" describes the license, not the project. Budget for hosting, configuration and probably an implementation partner. That is still often cheaper over five years than a per-user SaaS bill, but it is not zero.
- The Production Plan's netting logic is genuinely well documented, better than most commercial products in this directory, and the MRP report uses Item Lead Time to date purchase orders and work orders, so all six Full MRP tests pass on version 16 and later. We still list it as a manufacturing ERP because planning is one part of a system that also runs your accounts, purchasing and stock.
- The repository is highly active, with 38,000 stars and commits within the last day at the time of checking. Project health is not a concern here.
Alternatives to ERPNext
An alternative is always an alternative for a reason. There is no universal replacement.
Compared on Apache OFBiz's page, where we wrote: "ERPNext ships as a finished application a small manufacturer can configure; OFBiz is closer to a framework that asks for development work in return for control."
Compared on Craftplan's page, where we wrote: "ERPNext is also free and self-hostable but documents a full planning run with lead times and work orders, at the cost of a much larger system to set up and run."
Compared on Dolibarr's page, where we wrote: "ERPNext's Production Plan documents a dated requirements calculation, with netting and BOM explosion feeding dated material requests, where Dolibarr's replenishment works from virtual stock without dates, at the cost of a much heavier initial setup."
Compared on iDempiere's page, where we wrote: "ERPNext is aimed at small manufacturers configuring it themselves, while iDempiere aims at larger and more customized deployments."
Evidence and verification
License verified directly against the GitHub API. Planning logic sourced from the official manual, including the MRP page that documents lead-time offsetting, so ERPNext passes all six Full MRP tests. The MRP views and Item Lead Time cited here arrived in version 16 (January 2026) and are not in version 15 or 14; the v16.0.0 release notes say: "Added new Master Production Schedule and Material Requirements Planning views that calculate upcoming production and purchase needs from sales order schedules, giving planners a consolidated look at demand and available stock." Anyone on an older self-hosted install needs to upgrade to get dated, lead-time-offset planning. It stays classed as a manufacturing ERP by its center of gravity.
Sources we checked (19)
docs.frappe.io
- Manufacturing(opens in a new tab)
- Production plan(opens in a new tab)
- Material request(opens in a new tab)
- Production and material planning capacity planning(opens in a new tab)
- Material requirements planning mrp(opens in a new tab)
- Routing(opens in a new tab)
- Serial and batch traceability report(opens in a new tab)
- Item(opens in a new tab)
- Serial no(opens in a new tab)
- Shopify integration(opens in a new tab)
- Woocommerce integration(opens in a new tab)
- Webhooks(opens in a new tab)
- Data export(opens in a new tab)
- Download backup(opens in a new tab)
What we still want to confirm
We publish our gaps rather than hiding them. If you can point us at a first-party page for any of these, we will update the record and credit the correction.
- Find first-party evidence for the fields still marked unknown: recipes & formulas.
Still unknown: recipes & formulas.