Werk / ERP
NEXO
Eén ERP waar eerst negen losse apps stonden. Een voedingsgroothandel in Lima draait er verkoop, voorraad, financiën, HR, productie en bezorging op.
Een nagebouwd scherm met voorbeelddata. De echte bevatten de cijfers van een klant. Een demo waar je doorheen kunt klikken, met een verzonnen bedrijf, is in de maak.
Het probleem
Elke afdeling had een eigen tool. Ik weet het, want ik heb de meeste zelf gebouwd: een chatbotdashboard, een screeningtool voor sollicitanten, een persoonlijke agenda, een app voor notulen, een aanwezigheidsapp, een bezorgapp, een voorraadapp, een productcatalogus en een inlogdashboard dat ze aan elkaar knoopte.
Elke app loste een echt probleem op. Elke app had ook een eigen login, een eigen lijst gebruikers en een eigen idee van wat een klant is. Verkoop en voorraad zaten in een oudere ERP die niemand kon uitbreiden. Als iemand van het magazijn naar verkoop ging, paste ik zijn rechten in elke app apart aan.
Wat ik heb gebouwd
Eén login, één rechtensysteem, één database. Ik heb niet alles in één keer herschreven. De schil en de persoonlijke werkomgeving gingen als eerste live, in juni 2026. Daarna verhuisden de oude apps één voor één mee, als modules, terwijl mensen gewoon doorwerkten.
De klanten en de verkoopgeschiedenis kwamen via een import uit de oude ERP. Rechten worden per rol en per scherm ingesteld en de eigen beheerder van het bedrijf beheert ze. Ik krijg geen bericht als iemand van functie wisselt.
Er is een testomgeving die elke nacht wordt ververst vanuit productie. Niets komt in productie zonder eerst een volledige run op test, door mij, via dezelfde schermen die het personeel gebruikt.
Hoe het in elkaar zit
- MensenKantoorpersoneel in de browser, Chauffeurs op een offline PWA, Buitendienst op Android
- VoordeurCaddy, TLS, één inlog voor elke module
- ApplicatieNext.js, 594 API-routes, rechten per rol en per scherm
- DataPostgres, self-hosted Supabase, 226 migraties, back-up elke nacht
- Eromheenn8n voor chatkanalen en meldingen, testomgeving elke nacht ververst
Eén VPS. Bewust de saaie keuze: één plek voor back-ups, één plek om te kijken als er iets traag is.
Wat eruit kwam
| Losse apps samengevoegd tot één | 9 | gemeten, projectplan |
|---|---|---|
| Pagina's | 320 | gemeten, nov. 2026 |
| API-routes | 594 | gemeten, nov. 2026 |
| Databasemigraties | 226 | gemeten, nov. 2026 |
| Commits in de repository | 1.338 | gemeten, nov. 2026 |
| Regels TypeScript | ongeveer 310.000 | gemeten, nov. 2026 |
| Klanten in de CRM na import | 1.563 | gemeten, juni 2026 |
| Personeel op de aanwezigheidsklok | 75 | gemeten, sep. 2026 |
| Inklokmomenten per dag zonder papier of spreadsheets | ongeveer 300 | geschat, 75 medewerkers, 4 momenten per dag |