Real-world case

A multi-tenant ERP, end to end

This is the system that introduces us best: YSY Empresa, a custom multi-tenant ERP built end-to-end by YSY Software for Ripser, a company that manufactures, sells and ships commercial fixtures and refrigeration units. We show it in detail because a real system says more than any promise.

It's not a demo. It's not a prototype. It has been in production since 2024: it runs the real operation every day — from the factory floor to delivery — and keeps evolving around concrete business needs.

Scale

The system's size, in our own numbers

100+business modules & processes
140+business entities
Multi-tenantisolated data per company

Each company using the system operates on its own data, isolated from the rest. For the technical reader: the platform currently has ~127 controllers, ~149 JPA entities and ~142 repositories, on a multi-tenant architecture.

These are numbers about the system, not the client: no business volumes, revenue or user counts here.

Modules

One system for the whole operation

  • Sales and quotes

    Quoting, confirmation and order tracking in a single flow.

  • Customers and CRM

    Customer base and commercial lead tracking.

  • Receivables and collections

    Balances, due dates and payment records per customer.

  • Cash and money flow

    Money movements, centralized and reconcilable.

  • Manufacturing

    Production recipes and equipment traceability: what was built, with what, and for whom.

  • Multi-warehouse logistics

    Stock per warehouse and delivery route planning.

  • HR

    Attendance and payroll.

The real system

What it looks like inside

Screenshots of the system in use: from the sales dashboard to the production board. Every screen is a real module operating on real data.

Main ERP dashboard with sales, customers, stock and order indicators
Main dashboard: sales, customers, stock and orders across the whole operation at a glance.
Lead management module with filters by status, priority and sales rep
Sales CRM: lead tracking with statuses, priorities and per-rep reminders.
Quote list with statuses, financing and actions
Quotes: pricing, approval and conversion to sale in a single flow.
Customer current account with debits, credits and per-movement balance
Current account per customer: debits, credits and an auditable balance, movement by movement.
Stock management with inventory, categories and availability states
Stock: valued inventory, per-product minimums and replenishment alerts.
Pending deliveries board with per-shipment delay tracking
Logistics: pending deliveries board with computed delays and trip planning.
Manufactured equipment management with production and assignment states
Production: traceability of every manufactured unit, from factory stage to delivery.
Human resources dashboard with attendance, turnover and hours worked
HR: attendance, turnover and hours worked across factory and administration staff.
Warranty management with per-unit coverage periods and claim tracking
After-sales: per-unit warranties with computed coverage, claims and audited voiding.
Material order split across suppliers to generate purchase orders
Purchasing: material orders splittable across suppliers — one purchase order per supplier.
Cash flow dashboard with income, expenses and USD reserves
Finance: cash flow with income, expenses, cheque alerts and USD reserves per fund.
Supplier current account with debits, credits and cheque endorsements
Suppliers: current account with debits, credits and traceable cheque endorsements.
System activity log per user with IP and out-of-hours alerts
Audit: every action is logged per user, with IP and out-of-hours alerts.
Automatic backup panel with hourly, weekly, monthly and yearly retention
Continuity: automatic hourly backups, with hourly, weekly, monthly and yearly retention.

Customer and staff names, contact details and money amounts are blurred for privacy and commercial confidentiality.

Multi-tenant with isolated data

Engineering

Engineering you can audit

  • Audited multi-tenant security.

    In a system where several companies coexist, the number one risk is one seeing another's data. We specifically audit for that class of flaw (indirect access to someone else's records) across all modules.

  • Performance measured, not guessed.

    Slow queries are optimized by analyzing the database's real execution plans — not by eye.

  • Automated tests where it hurts.

    The flows that touch money (collections, cash, receivables) have integration tests that run against a real database on every change.

  • Drama-free deploys.

    Every release ships atomically and rolls back automatically if something fails. Every build is versioned and archived.

We went from spreadsheets and parallel controls to running the whole operation — sales, factory, deliveries and payroll — through a single system. And when we need something new, it gets built around how we work, not the other way around.
Sergio RipollSergio RipollCEO of Ripser · uses YSY Empresa

What it's built with

Java 21 and Spring Boot on the backend, MariaDB with versioned migrations, React and TypeScript on the frontend, Docker infrastructure with continuous integration on GitHub Actions.

  • Java 21
  • Spring Boot
  • JPA / Hibernate
  • MariaDB
  • Flyway
  • React
  • TypeScript
  • Docker
  • GitHub Actions