Multi-tenant ERP SaaS platform

ERP SaaS Platform

Full-stack multi-tenant ERP—ASP.NET Core 9 Clean Architecture API with React/Vite admin; Core, Admin, CRM, POS, and additional domain modules on SQL Server with GraphQL + REST.

ERP SaaS Platform project preview

Background & Context

erp (ERP.SaaS.sln) is a full-stack multi-tenant SaaS ERP: ASP.NET Core (net9.0) Clean Architecture API plus a React 18 / TypeScript / Vite admin portal (Konrix/FrostUI-based). Shared SQL Server persistence uses EF Core plus Dapper stored-procedure execution. Auth is custom JWT with refresh tokens; tenancy uses TenantId on entities with TenantMiddleware / ITenantProvider. GraphQL hosts at /graphql; SuperAdmin bootstrap is available via setup API and /setup UI.

Mid-market operators need modular ERP (CRM, finance, inventory, HR, procurement, manufacturing) with shared tenancy and a modern admin shell—without buying disconnected tools. Program.cs registers Core, Admin, Sales/POS, CRM, Finance, Inventory, HRM, Procurement, Manufacturing, Projects, and Reports modules via ModuleServiceCollectionExtensions. CRM is the most mature domain (lead→customer/opportunity→quote→sales order, activities, campaigns, territories, return orders). Several Finance/HRM/Procurement services remain stub-heavy despite DI registration; role permission policies are not fully enforced beyond authenticated JWT claims; Redis is required at API startup; connection strings/JWT secrets live as constants in shared code.

Zallo architecture prompts treat this .NET modular monolith as the source ERP to evolve—batch/serial inventory and manufacturing production orders exist as domain surfaces, but cosmetics-specific formula modules are not a separate SKU in this repo.

The Challenge

Enterprises needed a modular multi-tenant ERP foundation with modern admin UX, CRM/POS depth, and expandable finance/inventory/HR domains—without a risky legacy monolith or premature microservice sprawl. Without a coherent multi-tenant erp saas platform foundation, ERP SaaS Platform stakeholders faced fragmented tools, slow handoffs, and limited visibility—classic failure modes Tekvers designs against.

The Solution

ERP SaaS Platform: Full-stack multi-tenant ERP—ASP.NET Core 9 Clean Architecture API with React/Vite admin; Core, Admin, CRM, POS, and additional domain modules on SQL Server with GraphQL + REST. Enterprise-shaped multi-tenant ERP foundation with a shipping CRM/POS core. Tekvers delivered a maintainable multi-tenant erp saas platform system for ERP SaaS Platform using ASP.NET Core 9, React 18, TypeScript, Vite, with phased rollout, operator workflows, and documentation suited to long-term ownership.

Our Approach

  1. Platform & tenancy first

    Super-admin bootstrap, auth login/refresh/logout, tenants/users/roles/permissions, audit/system logs, and tenant resolution from JWT/`X-Tenant-Id` establish the SaaS kernel before deep domain work.

  2. CRM + POS as the mature operating cores

    End-to-end CRM pipeline with line items and conversions, plus sales invoices and POS sessions/transactions—validated through REST, partial GraphQL, and `/crm/*` + `/pos/*` UI routes.

  3. Expand modules with DI, harden stubs next

    Finance, inventory/SCM (including batch/serial entities), HRM, procurement, manufacturing, projects, and reports are registered and UI-routed; stub services and authorization-policy gaps are treated as incremental delivery work—not marketed as finished plant ERP.

What We Delivered

  • ASP.NET Core 9 Clean Architecture solution (`Api` / `Application` / `Domain` / `Infrastructure` / `Shared` / `Tests`)
  • React 18 TypeScript Vite admin portal with Redux Toolkit / Redux-Saga module routes
  • Multi-tenant shared-DB model with TenantMiddleware and setup SuperAdmin flow
  • JWT auth with refresh tokens; roles/permissions seeding APIs
  • CRM module: customers, contacts, leads, opportunities, quotes, sales orders, activities, campaigns, territories, return orders
  • Sales/POS: invoices, POS sessions, POS transactions
  • Finance, Inventory/SCM, HRM, Procurement, Manufacturing, Projects, Reports module surfaces (REST + UI; stub maturity varies)
  • HotChocolate GraphQL host at `/graphql` alongside REST `/api/*`
  • EF migrations / EnsureCreated fallback + SQL schema/SP deployment on startup

Outcomes & Impact

  • Enterprise-shaped multi-tenant ERP foundation with a shipping CRM/POS core
  • Modular boundaries for continued domain delivery on one codebase
  • Admin portal covering ERP domains plus explicit template demo routes called out as non-ERP
  • Honest maturity model: stubs and permission enforcement remain backlog, not hidden

Tekvers ERP gives operators a scalable SaaS core—new tenants bootstrap without custom forks, CRM/POS run day-to-day sales, and broader finance/inventory/HR modules expand behind the same tenancy and admin shell—without inventing cosmetics-formula features that belong to separate industry product briefs.

Technology Stack

  • ASP.NET Core 9
  • React 18
  • TypeScript
  • Vite
  • SQL Server
  • EF Core
  • Dapper
  • HotChocolate GraphQL
  • Redux Toolkit
  • Redux-Saga
  • JWT
  • Redis

Services Delivered

Guides & articles from this niche

Planning a similar platform? Share your scope and we will map architecture, delivery phases, and a realistic timeline.