Medusa, ERPNext and Metabase: open-source tools to run a small business
Three open-source projects for a shop, operations and reporting: what each one does, a first small project, what it takes to run and what the licence allows.
Medusa, ERPNext and Metabase cover three different parts of running a business: selling online, keeping orders, stock and accounts in one system, and seeing what the numbers say. This article is for an owner or manager who keeps hearing these names and wants to know what each one is, what a sensible first project looks like and what it takes to run. Every statement about the tools comes from their README, documentation and licence files as they stood on 4 October 2026.
What this guide covers
- What each tool is, according to its own README and documentation
- One small first project per tool: a custom storefront, production batches, a five-question dashboard
- What you need before you start: developers, mapped processes, clean data
- What the MIT, GPL and AGPL licence files allow, and where commercial terms begin
- A comparison table: tool, purpose, requirements, licence
- Three questions to answer before installing, and when a spreadsheet is enough
Three tools, three different jobs
These three projects are often named together, but they do different jobs and do not replace each other. Medusa is a commerce backend for an online shop. ERPNext is an ERP: one system for orders, stock, manufacturing and accounts. Metabase is a reporting tool that turns data in a database into charts and dashboards.
Medusa had about 37 thousand stars on GitHub on 4 October 2026, ERPNext about 40 thousand and Metabase about 50 thousand. Stars show developer interest. They do not tell you whether a tool fits your business.
| Tool | What it is for | What you need | Licence |
|---|---|---|---|
| Medusa | Backend for an online shop with its own storefront and buying flow | Developers, Node.js, PostgreSQL, a storefront, payment and delivery integrations | MIT for the core; enterprise materials (RBAC, SSO) under a commercial agreement |
| ERPNext | Orders, purchasing, stock, manufacturing, accounting and projects in one system | Mapped processes, clean master data, hosting, time to set up and test | GNU General Public License, version 3 |
| Metabase | Questions, charts and dashboards over data already in a database | A supported database with correct data, Docker or Java, someone who knows the tables | AGPL; Metabase Commercial License for the enterprise directory |
Medusa: a commerce backend, not a finished shop
Medusa is a commerce platform with a framework for customisation. Its documentation lists commerce modules for products, carts, orders, payments, pricing, promotions, inventory, stock locations, fulfillment and tax, all exposed through REST APIs. A Medusa application is a Node.js server plus an admin dashboard. The storefront is a separate application that you build and host yourself, from scratch or from the project’s Next.js starter.
A sensible first project is a shop whose buying flow does not fit a standard template. Example: a gift-box shop where the customer picks five items and adds a card. Catalogue, cart, prices and orders come from Medusa’s modules. The box builder is the part your developers write.
You need developers. The installation guide asks for Node.js, Git and a running PostgreSQL database, the only database Medusa supports. Payments and delivery come through provider modules; the documentation names Stripe and ShipStation as examples, and a service without a ready integration needs a custom module. Someone has to connect, test and maintain all of that and host both server and storefront. The project also offers managed hosting, Medusa Cloud.
The limit: after installation you have an API and an admin panel, not a shop customers can buy from. If a standard shop builder already covers your flow, Medusa adds work without adding value.
ERPNext: orders, stock, production and accounts in one system
ERPNext is an open-source ERP. Its README lists accounting, order management (stock levels, sales orders, customers, suppliers, shipments), manufacturing (material consumption, capacity planning, subcontracting), asset management, and projects with tasks, timesheets and profitability. The documentation adds a Buying module with supplier records, purchase orders and purchase invoices.
A first project should cover one process from start to finish. Example: a small candle maker records wax, fragrance, wicks, jars and packaging as stock items and writes a bill of materials for one candle line. Each production run becomes a work order that takes its material list from that bill. The Batch feature gives the finished candles a batch number, which can carry an expiry date. The aim is to see in one place what each run consumed and what stock is left.
Most of what you need is not software. The setup guide starts with the company, fiscal year, chart of accounts, warehouses, items, customers, suppliers, users and opening balances. It asks for clean legacy data and a complete test cycle of sales, purchase, stock and accounting before going live. For hosting, the README points to Frappe Cloud or a self-hosted Docker setup, and marks its quick Docker command as a disposable demo.
An ERP is the hardest of the three to adopt, because it records how you work. Decide the process on paper first. The documentation is direct: a submitted bill of materials cannot be edited, only cancelled and replaced, and changing currency, account structure or stock rules after transactions exist can be disruptive. Start with one scope, add modules in phases, and check with your accountant that it covers your tax reporting.
Metabase: questions and dashboards over your own data
Metabase is a business intelligence tool. Its README says people can ask questions of the data without knowing SQL, use a SQL editor for harder queries, and build interactive dashboards with filters. A graphical query builder assembles the query step by step. Alerts send a question’s results by email, Slack or webhook, for example when a query that is normally empty returns rows.
A good first project is one dashboard that answers five questions. Example: where do enquiries come from, how many become orders, which products are bought again, which orders have waited more than three days, and how does this month compare with the last. Add one alert for the waiting orders. Five agreed questions are more useful than fifty charts nobody opens.
You need a database Metabase can read. The officially supported list includes PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, BigQuery and MongoDB. Metabase itself runs as a Docker container or a Java JAR. Its built-in H2 database is for local trials; for production the documentation recommends PostgreSQL for Metabase’s own data. A hosted option, Metabase Cloud, exists. You also need a person who knows what each table and column means.
A dashboard is only as right as the data under it. If orders are entered late, statuses are free text or the same customer exists three times, the chart looks precise and is wrong. Fix data entry first.
What the licences allow, in plain words
Open source is not one set of rules. Each repository has its own licence file, and two of the three combine an open licence with commercial terms. Below is a summary of what the files say. It is not legal advice: read the licence before commercial use, and ask a lawyer if you plan to modify or resell the software.
- Medusa: the LICENSE file places the repository under the MIT License, except for the Enterprise Edition materials. MIT permits using, copying, modifying, distributing and selling copies free of charge, provided the copyright and permission notice stay in the copies, and gives no warranty. The enterprise materials, identified in ENTERPRISE-LICENSE.md as role-based access control and single sign-on, require a separate commercial agreement with MedusaJS, Inc.
- ERPNext: license.txt is the GNU General Public License, version 3. It affirms the right to run the unmodified program and permits modifying it. If you pass a modified version on to others, the whole work must be licensed under the same licence and carry notices of your changes. There is no warranty. A separate trademark policy restricts using the ERPNext name and logo in a product, service, company or domain name.
- Metabase: LICENSE.txt says code outside the top-level enterprise directory is under the AGPL (the repository includes version 3), and code inside it is under the Metabase Commercial License, which requires a valid licence from Metabase. Under the AGPL, if you modify the program and people use your version over a network, you must offer them its source code. The standard Docker image is AGPL; the enterprise image is commercial.
Before you install anything: three questions
Installing is the easy part. Answer these three questions in writing first. If you cannot, the tool will not answer them for you.
- Which process hurts, exactly? Write it as steps with a name on each: who takes the order, who checks stock, who issues the invoice. A tool can follow a process. It cannot invent one.
- Where is the data now, and is it right? List the files, apps and notebooks. Check ten records by hand for duplicates, missing prices and old stock counts. Wrong data moved into a new system stays wrong.
- Who owns the system after launch? Name the person who adds users, installs updates, makes backups and answers questions. If nobody can, choose a hosted option or wait.
When a spreadsheet is still the right tool
A spreadsheet is the right tool while one or two people edit it, the rows number in the hundreds and the process still changes every month. It is also the cheapest way to design a process: the columns you keep adding and removing show what a future system must store.
Signs you have outgrown it: several people overwrite each other, the same figure has three values in three files, stock is counted from memory, or a monthly report takes a day to assemble. Then choose by the problem you have. Metabase, when the data is already in a database and answers are slow. ERPNext, when the records themselves are scattered. Medusa, when the shop you need cannot be built from a template.
Medusa, ERPNext and Metabase solve different problems: a custom shop, one system of records, and answers from data. None is a shortcut. Decide the process, clean the data and name an owner first. Start with one small project, and read each licence file before you build a business on it.
Questions
Are Medusa, ERPNext and Metabase free?
The code under the open licences can be downloaded and run without a licence fee. Hosting, setup, integrations and the time of the people who maintain the system still cost money. Each project also offers its own hosted service (Medusa Cloud, Frappe Cloud, Metabase Cloud), and Medusa and Metabase keep some features under commercial terms.
Do I need a developer?
For Medusa, yes: the storefront and the payment and delivery integrations are development work. ERPNext and Metabase publish Docker instructions and hosted options, so a first trial does not require writing code. ERPNext still needs someone who understands your accounting and stock, and Metabase someone who understands your database.
Can Metabase report on data from Medusa or ERPNext?
Metabase’s list of officially supported databases includes PostgreSQL, which Medusa uses, and MariaDB, which the ERPNext README names as a dependency of its install script. Whether to connect a reporting tool to a live system’s database, and with which read-only user, is a decision for the person who maintains that system.
Sources
- Medusa: README ↗checked 2026-10-04
- Medusa: LICENSE ↗checked 2026-10-04
- Medusa: ENTERPRISE-LICENSE.md ↗checked 2026-10-04
- Medusa documentation: Commerce Modules ↗checked 2026-10-04
- Medusa documentation: Installation ↗checked 2026-10-04
- Medusa documentation: Architecture ↗checked 2026-10-04
- Medusa documentation: Storefront Development ↗checked 2026-10-04
- ERPNext: README ↗checked 2026-10-04
- ERPNext: license.txt ↗checked 2026-10-04
- ERPNext: Logo and Trademark Policy ↗checked 2026-10-04
- ERPNext documentation: Setting Up ↗checked 2026-10-04
- ERPNext documentation: Bill of Materials ↗checked 2026-10-04
- ERPNext documentation: Work Order ↗checked 2026-10-04
- ERPNext documentation: Batch ↗checked 2026-10-04
- ERPNext documentation: Buying ↗checked 2026-10-04
- Metabase: README ↗checked 2026-10-04
- Metabase: LICENSE.txt ↗checked 2026-10-04
- Metabase: LICENSE-AGPL.txt ↗checked 2026-10-04
- Metabase documentation: Adding and managing databases ↗checked 2026-10-04
- Metabase documentation: Installing Metabase ↗checked 2026-10-04
- Metabase documentation: Configuring the application database ↗checked 2026-10-04
- Metabase documentation: The query builder ↗checked 2026-10-04
- Metabase documentation: Alerts ↗checked 2026-10-04
- GitHub API: repository data for medusajs/medusa (star count) ↗checked 2026-10-04
- GitHub API: repository data for frappe/erpnext (star count) ↗checked 2026-10-04
- GitHub API: repository data for metabase/metabase (star count) ↗checked 2026-10-04