Skip to content
Talk to QCS
Home / Sovereign Systems / Open frameworks

Foundations · Frappe · Framework M · Ash

Three open frameworks. Different jobs.

Each lets you describe your business objects once and builds much of the application around them. They differ in language, maturity and how much comes ready-made. Here is how we weigh them.

Side by side

The same questions. Three answers.

Checked against each project's own documentation in November 2026.

AspectFrappe FrameworkFramework MAsh Framework
Language and runtimePython (synchronous) with JavaScript and Vue front endsPython 3.12+, asyncElixir on the BEAM
LicenceMITApache-2.0MIT
MaturityLong established; version 16Beta, 0.x; since January 2026Stable 3.x
How you define the modelDocType metadata, in the UI or as JSON in codeTyped Python classesElixir resource definitions
DatabaseMariaDB (primary), PostgreSQLPostgreSQL (default)PostgreSQL, SQLite and others
Generated interfaceFull Desk: forms, lists, reports, dashboardsReact DeskAshAdmin (basic); LiveView for custom UI
APIsREST for every DocType, webhooksREST for every DocType, WebSocket updatesGraphQL, JSON:API, TypeScript client
AuthorisationRoles, user permissions, field levelsAttribute-based policies, OIDC or SAMLDeclarative policies on actions
Multi-tenancyA site and database per tenantTenant protocol in the coreAttribute- or schema-based tenancy
Ready business appsERPNext, HR, CRM, Helpdesk and moreBusiness M (pre-1.0): distribution, warehouse, accountingNone; building blocks such as AshMoney and AshDoubleEntry
AI and agentsThrough REST APIs behind a gatewayTyped code and docs that coding agents can useAshAi: actions as LLM tools and MCP servers
Talent poolLarge, with a strong partner networkSmall; Frappe developers adapt quicklySmall; Elixir specialists
Pros and cons

What you gain. What you accept.

Frappe Framework

Pros
  • Ready business applications: start from ERPNext, HR or CRM instead of an empty project.
  • Very fast for record-heavy back-office software: forms, lists, reports and permissions come with the schema.
  • Customisation without code (custom fields, client and server scripts, print formats), with full Python when needed.
Cons
  • Opinionated: designs that work against the DocType and Desk model end up fighting the framework.
  • MariaDB first; PostgreSQL support is less complete across the app ecosystem.
  • Synchronous request model with request-global state; streaming and very high-concurrency work belongs in separate services.

Framework M

Pros
  • A modern, typed, async Python stack built on mainstream libraries (Litestar, SQLAlchemy, Pydantic).
  • Code-first schemas that are reviewed in Git like any other code.
  • Designed for multi-tenant SaaS, and to grow from a modular monolith into services without a rewrite.
Cons
  • Young: first released in January 2026 and still on 0.x versions, so interfaces can change between releases.
  • A small maintainer team and community compared with Frappe or Ash.
  • Its ERP layer, Business M, is also pre-1.0 and focused on distribution and supply chain; its module range is far narrower than ERPNext's.

Ash Framework

Pros
  • One declaration drives the schema, APIs, authorisation, jobs and state, with less duplicated code.
  • Policies are enforced at the action layer, so every API and interface applies the same rules.
  • The BEAM runtime: very high concurrency, fault tolerance and real-time features.
Cons
  • A smaller talent pool: Elixir is less common than Python, and Ash's own docs call it "still niche".
  • A steep learning curve: Elixir, functional programming and Ash's declarative style at once.
  • No ready ERP or CRM application layer: business applications are built, not installed.
Which one when?

Start from the job. Then pick the foundation.

  1. Choose Frappe Framework

    You need ERP, accounting, inventory, HR or CRM now

    Start from ERPNext and the Frappe apps, and extend them. Fastest route to working business software you own.

  2. Choose Framework M

    You are building a new multi-tenant Python product

    A typed, async, PostgreSQL stack with Frappe-style metadata, and Business M for distribution and supply chain, if your project can absorb a young platform's pace of change.

  3. Choose Ash Framework

    You are building a real-time, API-first or agent-facing product

    One domain model drives APIs, policies and LLM tools on a highly concurrent runtime, if you have or will build Elixir skills.

  4. Combine them

    Your needs span both

    Keep ERPNext as the system of record, and add a Framework M or Ash service for a specialised product, connected through APIs and events.

Disclosure: Frappe is our primary delivery platform and we are a Frappe partner. We have aimed to describe each framework on its merits, using the projects' own documentation.

Which foundation fits your project?