Business M: High-Performance Business Suite on Framework M

Viewed 22

Welcome to the Framework M community! Whether you are joining us from the Django, Rails, or the fantastic Frappe/ERPNext ecosystems, we want to give you a head start in understanding Business M—our vision for a modern, highly scalable business suite built on Framework M.

While Business M draws inspiration from the functional richness and metadata-driven ease of systems like ERPNext, it moves beyond the traditional monolith. We’ve kept the user-friendly domain logic but replaced the underlying engine with a radically different approach to scaling, deployment, and licensing.

Here is how the business-m monorepo is structured and what makes it unique:

1. The Core Application (apps/business-m)

In many traditional frameworks (like Django or Frappe), you have the core web framework, and the monolithic business suite sits heavily on top of it.
In our ecosystem, Framework M is the underlying technology, while apps/business-m serves as the foundational base app of the business suite.

  • It provides all the necessary base primitives and master data structures (like Items, Customers, Suppliers, Users, etc.).
  • It acts as the central hub that the other specialized modules and microservices plug into.

2. Specialized Business Modules (libs/)

Instead of a single massive monolithic application, Business M splits domain-specific logic into isolated libraries/modules within the libs/ directory.

  • Currently available: finance, wms (Warehouse Management), and people (HR).
  • Coming later: crm, support, project management, manufacturing, etc.
    In many older ecosystems, installing multiple apps often leads to an interlinked dependency hell where modules are too tightly coupled. Business M solves this by enforcing strict architectural boundaries between libs/. This guarantees a true separation of concerns, letting implementers pull in exactly the business modules they need without inheriting a tangled web of hidden dependencies.

3. Handling Scale: Event-Sourced Microservices (apps/book-keeper & apps/stock-keeper)

This is where Business M diverges significantly from traditional MVC and Active Record frameworks. Most traditional systems route all reads, writes, and ledger entries (like General Ledger and Stock Ledger) through a single relational database (like PostgreSQL or MariaDB), which eventually becomes a major bottleneck.

Business M uses a Polyglot Persistence and CQRS/Event-Sourcing architecture to handle varying loads:

  • Low Throughput / Masters: Standard CRUD operations and master data management are handled primarily via PostgreSQL.
  • High Throughput / Ledgers: For critical, high-volume transactions, Business M delegates to dedicated microservices:
    • stock-keeper (for inventory movements)
    • book-keeper (for financial transactions)
  • Swappable Port-Adapter Architecture: These microservices are built using a port-adapter pattern, allowing you to scale the persistence layer based on your real-world needs:
    • Standard scale (~10K TPS): By default, they can run entirely on PostgreSQL (for both the ledger and the event store).
    • Massive scale (~1M TPS): If more power is needed, you can seamlessly swap the adapters to use purpose-built, ultra-fast databases like TigerBeetle (for the ledger) and KurrentDB (for the event store).
      This ensures that whether you are a growing business or processing a million transactions per second, heavy financial or inventory traffic never bogs down the rest of the business.

4. The Licensing Shift: Apache 2.0

A major hurdle for some companies adopting open-source enterprise software is viral copyleft licenses, which complicate proprietary customization and internal distribution.

Business M is uniquely licensed under Apache 2.0.
We believe that the base business primitives are a utility that should be available to everyone. The Apache 2.0 license gives businesses and integrators the complete freedom to build upon, commercialize, and integrate Business M into their proprietary infrastructure without being forced to open-source their secret sauce.


In Summary

"Business M is an open-source (Apache 2.0) business suite inspired by the best metadata-driven ERPs, built on Framework M. It enforces strict separation of standard business features (HR, CRM) to avoid dependency hell, and offloads high-throughput ledger operations to dedicated event-sourced microservices. Thanks to a swappable port-adapter design, these microservices can scale from 10K TPS on PostgreSQL up to 1M TPS on TigerBeetle and KurrentDB. It offers the domain richness of an ERP with the massive scalability, freedom, and clean boundaries of a modern microservice architecture."

Documentation will be available as the project evolves.

0 Answers