The 49-module ERP — what 'one platform' actually means
Why MetaERP includes every module from Starter, and how that changes ops workflows.
When we tell ops leads MetaERP ships with 49 modules on day one, we usually get one of two reactions. The first: "Great, we don't have to buy add-ons." The second, more interesting: "Wait, isn't that bloat?"
Both questions miss what's actually different. The shape of a bundled ERP is not the same as the shape of an à-la-carte stack with everything turned on. This post walks through why, what it lets us do that the alternative can't, and how we keep the bundle from collapsing under its own weight.
The à-la-carte trap
Pick any modern "modular" ERP and price out the full feature set. You'll find:
- A base license — usually billed per seat, per month.
- A "warehouse" add-on — sometimes per warehouse, sometimes per user.
- A "purchasing" add-on with a separate per-supplier fee.
- An EDI module — flat monthly, often with per-trading-partner overage.
- A "compliance" or "customs" pack — only if you ship internationally.
- A reporting / BI seat — at $99–$149 / user / month on top of base.
- An "AI assistant" — usually $39–$59 / user / month, often with a token cap.
By the time you've assembled the equivalent of MetaERP's Starter tier, you've quoted three vendors, sat through two demos, and committed to four different billing cycles. Worse, you've made a forecast about which modules you'll need in 18 months — and committed accountants to true that forecast at renewal.
The first hidden cost of à-la-carte isn't the line items. It's the rationing it forces inside your own org. Teams stop asking "should this data live in our ERP?" and start asking "is it worth the add-on?"
That second question is the wrong one. The data either belongs in the system of record or it doesn't. Pricing should not be the deciding vote.
Why bundling matters for SMBs
For a $5M revenue business, the cumulative cost of three or four poorly integrated systems isn't paid in license fees — it's paid in a person. Usually a controller, sometimes a head of operations, whose week revolves around CSV exports, Zapier flows, and reconciling totals that should already match.
That person costs $120K loaded. They make any module decision look cheap on the spreadsheet. They also make the spreadsheet a lie, because they're the hidden labor that lets the spreadsheet pretend modules are independent.
A bundled platform doesn't fix the cost question alone. What it fixes is the shape of the question. With one platform:
- Every record lives in the same database, indexed by the same tenant id, audited by the same log.
- Every module that ships data into another module passes a foreign key, not a CSV.
- Every report can reach across modules without a third-party warehouse.
The financial argument matters. The structural argument is what actually changes how the business runs.
Five workflows that span six or more modules
This is the part that surprises people who think of an ERP as a glorified accounting package. Here are five everyday workflows. Watch the module count.
1. A wholesale customer reorders a kit. The order originates in sales,
draws components from inventory, generates a pick list in warehouse,
triggers a shortage alert that creates a purchase order in purchasing,
notifies the supplier via email_automation, and books revenue in
financial. Six modules. One ERP. Zero CSVs.
2. A returned item needs to be triaged and refunded. Customer reports via
the portal, support opens a ticket, warehouse accepts the return and
inspects it, inventory either restocks or writes off the unit,
financial issues the credit memo, and crm logs the resolution against
the account. Six again.
3. Month-end close. financial runs the close, but it depends on
inventory for valuation, sales for cutoff, purchasing for accruals,
receipts for matched POs, multi_entity for consolidation, and audit
for the trail every auditor will demand. Seven.
4. A new hire onboarding. recruit closes out the offer, hr creates
the employee record, users provisions the login, documents collects
signed forms, email_automation runs the welcome sequence, notifications
pings the team. Six.
5. Restocking a slow-moving SKU based on forecasted demand. ai
generates the forecast, inventory reads current levels, sales provides
the velocity history, purchasing opens the PO, suppliers validates the
vendor terms, customs calculates the duty if cross-border, containers
plans the inbound load. Seven.
You can run any of these workflows on three or four integrated point solutions. We've watched dozens of SMBs do exactly that. What you can't do on a stitched-together stack is run them all at once, in real time, with a single audit trail and a single source of truth for inventory positions. The reconciliation overhead grows non-linearly with module count, and somewhere around the fourth module the controller stops trusting any report that isn't hand-checked.
What "one platform" actually unlocks
Once the data lives together, three things become possible that simply weren't before.
Cross-module queries
When every business table is in one schema, partitioned by tenant_id,
reporting is a SQL question — not an integration project. Want to know
which suppliers are correlated with the highest support ticket volume?
That's one query:
SELECT
s.name AS supplier,
COUNT(DISTINCT t.id) AS support_tickets,
COUNT(DISTINCT po.id) AS purchase_orders
FROM supplier_suppliers s
JOIN purchasing_pos po ON po.supplier_id = s.id
JOIN inventory_items i ON i.last_supplier_id = s.id
JOIN sales_order_lines sol ON sol.item_id = i.id
JOIN support_tickets t ON t.order_id = sol.order_id
WHERE s.tenant_id = $1
AND t.created_at > now() - interval '90 days'
GROUP BY s.id, s.name
ORDER BY support_tickets DESC
LIMIT 20;
That query touches five modules. In a stitched stack, it doesn't exist. You'd build a data warehouse, a sync layer, a transformation pipeline, and a BI license to answer the same question. With one platform, it's a view — and we ship the most common cross-module views as materialized tables refreshed every ten minutes.
A single audit trail
Every write to a business table emits to core_audit_logs. That log is
the same regardless of which module produced the change. Compliance
auditors love this. They get one CSV that explains who changed what,
when, and via which API call. No "we have to pull from three systems."
AI that knows the whole business
This is the underrated one. When the AI module can read the same tables
the rest of the ERP writes to, you stop building "AI features" and start
asking business questions in English. "Which open POs are at risk of
slipping past their need-by date?" is a question. The model joins
purchasing_pos, receipts, inventory_items, and containers, and
answers. Without the bundle, that's a six-month integration roadmap.
The competitive moat of a fully bundled ERP isn't features. It's the queries no competitor can run because their data lives in someone else's database.
How we keep the bundle from becoming bloat
Bundling 49 modules makes one promise: every module is one click away. It also creates one risk: every module is one click away. New users land in a UI with 49 things they could be looking at, and freeze.
We've made three structural choices to defuse that.
Module activation is per-tenant. A solo CFO doesn't see the
manufacturing module unless they enable it. The full 49 are available;
the visible set is curated to what the customer actually uses. Activation
is reversible without data loss — toggle on, toggle off, the records
stay.
Tier-gated complexity stays invisible. Multi-entity consolidation is an Enterprise feature. Starter tenants don't see the multi-entity menu items at all. The data model still supports it — when they upgrade, the menus appear and historical data is consolidatable.
The navigation reflects revenue lifecycle, not org chart. Modules are grouped by what you're trying to do (sell something, fulfill an order, close the books) rather than which team owns the feature. A sales rep entering a quote doesn't navigate "to finance" to attach terms — they stay in the quote and pull terms inline.
The result: a customer running 8 modules feels like they bought an 8-module product. The other 41 are there, indexed, audit-trailed, and queryable, but they don't crowd the interface. When the business grows into them, they switch on.
This is what "one platform" means in practice. Not a marketing claim about an all-in-one box. A specific architectural posture: one database, one tenant id, one audit log, one navigation grammar — across every record the business creates. The 49 modules are the consequence of that posture, not the goal.
We think it changes what an ERP can do for a $5M business. We're building MetaERP to prove it.