Skip to content
Theme
Let's talk ->

Works/ERP-Lite

ERP-Lite

Multi-company ERP with a FastAPI backend and Nuxt front end: sales, purchasing, warehouse and transport in a single system.

SectorERP / operationsYear2026RoleArchitecture and full-stack developmentView codeView code ->
The challenge
Several companies, one ERP: sales, purchasing, warehouse and transport without mixing data between legal entities.
The solution
FastAPI API with SQLAlchemy and JWT, Nuxt front end with Pinia and i18n. Docker Compose for development and versioned migrations.
The outcome
Multi-company base with separate modules and a single front end for sales, purchasing and stock operations.

Context

A lightweight ERP for groups with several companies. Each company has its own catalogue, customers and stock, but they share the same application and deployment.

Decision

The backend exposes resources per company and isolation is enforced in the data layer, not in the interface. The front end does not know the database: it consumes the API and represents state.

Technical details

  • JWT authentication and role-based permissions.
  • SQLAlchemy with per-request sessions.
  • Versioned migrations and sample data.
  • docker-compose to start API and front end with one command.

What I learned

Multi-company is not a tenant_id field on every table. It is a design decision that has to be in the queries, the indexes and the tests.

[10] let's talk

Is your operation falling apart?

Tell me where it hurts: parallel spreadsheets, stock that never matches, processes that depend on one person. You get a diagnosis, not a blind proposal.