⚠ Dit document is vertrouwelijk en auteursrechtelijk beschermd

BodyworkOS · Blueprint

Dit document bevat vertrouwelijke technische informatie van Digital Farmers BV.

Ongeldige toegangscode.

Tip voor Mo: code mo werkt hier.
Bookmark ?t=mo voor één-klik toegang.
Vertrouwelijk technisch dossier · Digital Farmers BV × CARYA

De technische
infrastructuur van
BodyworkOS

Een volledig transparant overzicht van de architectuur, beveiliging, data-modellen, integraties en roadmap, gebouwd voor vertrouwen op enterprise niveau.

0 Prisma modellen
0 API modules
0 Dealers netwerk
0 % multi-tenant
3 Live apps
LIVE SYSTEM HEARTBEAT
van totaal containers healthy
load (1 min)
disk gebruik
open alerts
Wordt geladen…
STRATEGISCHE LAUNCH-PARTNER
Gebouwd mét Carya als eerste anker voor het Belgische automotive-ecosysteem. Multi-tenant architectuur, enterprise-grade security, naadloze DMS-integraties. Eén platform dat meeschaalt met elke vestiging, elke groep, elke markt.
Multi-tenant Enterprise-scale Launch 2026
01
Hoofdstuk 01 · De twee appartementen van hetzelfde gebouw
Twee apps, één platform
Carrosserie en vloot staan zelden apart. Wij hebben ze nooit apart gebouwd.

BodyworkOS en RentalOS

Eén gedeelde API, één gedeelde database, één deploy-pipeline, één security-perimeter. Twee complete productervaringen: carrosserie-operaties en vloot-/verhuurbeheer. Dealers schakelen tussen beide met één login, Carya ziet één platform, wij beheren één codebase.

BodyworkOS
Carrosserie · Werkplaats · Dossiers

De operationele kern van de carrosserie-onderneming. Opent een markt die nu alleen legacy-systemen bedient: moderne UX, mobile-first werkplekken, AI-schadeanalyse en naadloze Incadea-synchronisatie.

  • Dossierbeheer, 25 statussen, 13 tabs, real-time collaboration
  • Werkplaats & planning, AE-gebaseerd (1 AE = 6 min)
  • Claims360 / Informex / Audatex native embedded
  • AI-native schade- en boete-scan (uitwisselbare vision/OCR-backends)
  • BWO Academy, gamified opleiding per rol
  • PEPPOL e-invoicing naar elke EU-partner
↔ Shared ↔
API 135 modules
PostgreSQL · Redis
RentalOS
Vloot · Verhuur · Vervangwagen

Fleet & vervangwagenbeheer. Vervangt losse spreadsheets en Wialon-achtige tools met een volwassen planning, automatische boete-workflow, contractgeneratie en Belgische nummerplaat-herkenning.

  • Timeline-planning met drag & drop + collision detection
  • Boete-inbox, AI-extractie, automatische matching op reservering
  • Contract + digitale handtekening + PEPPOL factuur
  • Vloot-intake met foto's, beschadigingen-kaart, sleutelbeheer
  • TCO-calculator + HR car-order flow per werknemer
  • Dealer self-service portal via Keycloak SSO
Gedeeld
1 codebase

pnpm monorepo · shared/ui/core packages · één set types voor alles

Gedeeld
1 auth

Cookie + MFA vandaag → Keycloak + Entra-SSO in roadmap

Gedeeld
1 deploy

Docker Compose · Dokploy · zero-downtime rollout vanaf main

Gedeeld
1 security perimeter

ISO · CyFun · NIST · CRA · GDPR, dezelfde regels voor beide apps

02
Hoofdstuk 02 · Orde-van-grootte-sprongen zonder herbouw
Built for scale
Elke laag is multi-tenant isoleerbaar, horizontaal schaalbaar, internationaal voorbereid.

Ontworpen voor duizenden dealers, miljoenen dossiers, petabytes media

Het platform is niet gebouwd voor één klant, één markt of één orde van grootte. Elke laag is multi-tenant isoleerbaar, horizontaal schaalbaar en voorbereid op internationale uitrol zonder herbouw.

Dealers per cluster
1.000+
multi-tenant isolatie · middleware-afgedwongen
Dossiers per maand
200k+
per cluster · horizontaal schaalbaar
Media-objecten / maand
10M+
object storage · S3-compatible · CDN-edge
Database-strategie
Sharded
tenant-partitioning · read-replicas
Cache laag
Multi-tier
Redis cluster · edge-CDN · pooling
Geografie
🇧🇪 → 🇪🇺 → 🌐
multi-region-ready · data residency per land
Dealer brand-flex
White-label
eigen domein per dealer · SSL + routing automatisch
Zero-config tenant-onboarding
Nieuwe dealer live in minuten via operator-provisioning wizard. Seats, credits, branding, DMS-connectie, welkomstbalans, audit-trail — één transactie.
Observability over alle tenants
DFGuard-heartbeat consolideert infra-state, DFCockpit toont business-metrics per tenant, live ticker streamt events real-time. Geen blind spot.
GDPR by design, per tenant
Art. 17 wissing per klant, Art. 20 export per user, audit-trail retentie-geconfigureerd per tenant, encryption-at-rest voor gevoelige velden.
03
Hoofdstuk 03 · De ruggengraat onder alle schermen
Architectuur
Drie frontends, één gedeelde API, multi-tenant database, externe integraties.

Systeem overzicht

Drie onafhankelijke apps op een gedeelde API, multi-tenant PostgreSQL database en Redis session store. Alle communicatie verloopt via de Next.js proxy, geen directe blootstelling van de API aan het publiek.

🌐 Browser Chrome / Firefox
📱 Mobile iOS / Android PWA
🔗 Webhook Externe systemen
DNS · Multi-domain edge · Let's Encrypt TLS
🌐 Multi-domain edge BWO: .com · .eu · .be  ·  RentalOS: .co · .nl · .be · .eu  ·  dealer-white-label
TLS termination per host · auto-renewal
🔀 Traefik Reverse Proxy TLS termination · routing · CORS
Docker Compose · Dokploy · VPS 51.89.23.93
🏗️ BWO Web Next.js 14 · :3000
🚗 RentalOS Web Next.js 14 · :3002
🏢 Dealer Portal Next.js 14 · :3003
Next.js API proxy rewrite · /api/v1/* → api:3001
Gedeelde Express API Node.js · TypeScript · 135 modules · port 3001
Prisma ORM · Connection Pool
🐘 PostgreSQL 16 52 modellen · multi-tenant
Redis Sessions · caching · pub/sub
📁 Local Storage Uploads · scans · docs
Externe integraties
🔧 Incadea DMS OData / JSON
🛡️ Claims360 Verzekeraar
🇧🇪 CarPass Voertuig hist.
📄 PEPPOL e-Invoicing
🔍 uBench Expertisatie
📋 Informex XML import
04
Hoofdstuk 04 · Compliance by design, niet als nagedachte
Security posture
ISO 27001, CyFun, NIST CSF, CRA, GDPR — als fundament, niet als certificaat-jacht.

Security posture

BodyworkOS is gebouwd met ISO 27001, CyFun (Belgisch cybersecurity framework), NIST CSF en de EU Cyber Resilience Act als leidraad, niet als nagedachte.

🔐

Authenticatie

httpOnly cookies (bwos_session + bwos_refresh), TOTP MFA via speakeasy, bcrypt password hashing, refresh token rotatie, session invalidation bij logout.

🏢

Multi-tenancy

Elke query is hard-gefilterd op tenantId uit het JWT. Geen cross-tenant data lekkage mogelijk via API. tenantId op alle 52 Prisma modellen.

🛡️

Autorisatie (RBAC)

Granulaire permissies per module: notifications.read, notifications.write, etc. requirePermissions() middleware op elke gevoelige route. 5 BWO-rollen + 2 platform-rollen.

📜

Audit Trail

Volledige AuditLog op alle mutaties. SecurityIncident model voor anomalie-registratie. GDPR Art.17 (wissing) en Art.20 (portabiliteit) ingebakken in API.

🔒

Transport Security

TLS 1.3 overal via Let's Encrypt + Traefik. HSTS. CORS origin-whitelist. X-Accel-Buffering: no voor SSE. Content-Security-Policy headers.

🧹

Input validatie

Zod schema-validatie op alle API input. Geen raw SQL, uitsluitend Prisma ORM. Rate limiting op auth-endpoints. SQL injection structureel onmogelijk.

Framework Domein Status Implementatie
ISO 27001 A.9: Toegangsbeheer ✓ Compliant RBAC, MFA, session management, least privilege
ISO 27001 A.12: Operationele beveiliging ✓ Compliant Audit logs, monitoring, backup via Dokploy
ISO 27001 A.13: Communicatiebeveiliging ✓ Compliant TLS 1.3, HSTS, CORS, httpOnly cookies
ISO 27001 A.18: Compliance ✓ Compliant GDPR Art.17/20, PEPPOL e-invoicing, CarPass
CyFun (CCN) ID.AM: Asset management ✓ Compliant Volledig geïnventariseerde API modules (135)
CyFun (CCN) PR.AC: Identity & Access ✓ Compliant JWT, TOTP MFA, refresh rotatie
CyFun (CCN) PR.DS: Data Security ✓ Compliant bcrypt, TLS, httpOnly cookies, geen plain tokens
NIST CSF DE.CM: Monitoring ⚡ In progress Audit trail ✓ · SIEM integratie gepland Q2
NIST CSF RS.RP: Incident Response ⚡ In progress SecurityIncident model ✓ · playbook Q2
CRA (EU 2024/2847) Art. 13: Security by design ✓ Compliant Zod validatie, Prisma ORM, RBAC, geen standaard-wachtwoorden
GDPR Art. 17: Recht op wissing ✓ Compliant GdprRequest model + API endpoint in productie
GDPR Art. 20: Dataportabiliteit ✓ Compliant JSON export per gebruiker beschikbaar
05
Hoofdstuk 05 · Wie heeft de data in handen?
Data-souvereiniteit & offline-first
Elke keten heeft een zwakste schakel. BWO zorgt dat de dealer werkt, ook als die schakel breekt.

De keten breekt niet bij de dealer

Elke OEM weet het: het moment dat een upstream-leverancier in de schade-software-keten hapert, staan dealers vast. BWO beschermt de kern-workflow tegen dat risico door data en bedieningsstroom bij de dealer te houden — externe integraties zijn pluggable aansluitingen, nooit de fundering van de dagelijkse werking.

Laag
Wie heeft de controle
Impact als het wegvalt
L1 · EdgeDealer-apparaat
100% dealer. PWA + Service-Worker + IndexedDB outbox.
Geen impact. Werkplaats blijft werken, foto's en bestekken gaan in outbox, sync zodra upstream terug is.
L2 · PlatformBWO-cloud
100% BWO. Hetzner EU · Postgres · Redis · object-storage.
SLA 99.9%. Monitoring 24/7, incident-response door DF zelf. Eén beller, geen leverancier-ping-pong.
L3 · UpstreamExterne integraties
0% — upstream. Schade-software-keten · DMS · verzekeraar-portalen · PEPPOL.
Upstream-uitval → sync vertraagt. Dossier-workflow blokkeert niet.
🎬 Incident-replay: upstream schade-software 4u offline
📉 Vandaag · legacy-keten
✓ Met BodyworkOS

Vier bouwstenen, vandaag live

Dit is geen roadmap-belofte — het is in productie bij elke BWO-tenant. Test het: zet je toestel in flight-mode, blijf werken, zet terug aan, zie synchronisatie gebeuren.

📱
PWA Service Worker
Critical paths gecached. Offline navigatie. Zonder App Store.
📦
IndexedDB outbox
Mutaties lokaal persistent. Nul verlies bij crash of reboot.
🔄
Background Sync
Offline → online overgang volautomatisch. Dealer doet niets.
🧭
Local-first conflict-resolution
Merge-strategie per veld. Review-queue voor ambiguïteit.
06
Hoofdstuk 06 · Elke keuze is een bewuste keuze
Technology stack
Moderne, bewezen componenten. Geen experimentele dependencies, wél state-of-the-art.

Volledige technologiestack

Moderne, bewezen technologieën, geen experimentele dependencies. Elke keuze is gemotiveerd door stabiliteit, performance en enterprise-ondersteuning.

Frontend

⚛️
Next.js 14
App Router · RSC · Standalone build
×3 apps
🔷
TypeScript
Strict mode · volledig getypeerd
Strict
🎨
Tailwind CSS
Dark mode · Shadcn/ui component library
🔄
TanStack Query
Server state · cache · optimistic updates
🐻
Zustand
Client state · auth store
📡
Server-Sent Events
Real-time notificaties · SSE push · heartbeat 15s
Live
📱
PWA + Service Worker
Offline queuing · IDB outbox · Background Sync
Live

Backend

🟢
Node.js + Express
TypeScript · 135 modules · shared API
🔺
Prisma ORM
52 modellen · migraties · type-safe queries
🐘
PostgreSQL 16
Multi-tenant · JSONB · indexed full-text
🔴
Redis
Session store · caching · pub/sub
🤖
AI Vision + OCR Engine
Boete-scan · aanrijdingsanalyse · extractie
🐳
Docker + Dokploy
Compose · auto-deploy via webhook · Traefik
Live
🔐
Keycloak 26
Identity provider · Entra federation · roadmap
Roadmap
07
Hoofdstuk 07 · De levende kennisgraaf onder alle schermen
52 modellen, één brein
Hover een model, klik een categorie — zie de relaties tussen alles wat BWO doet.

52 Prisma modellen

Elk model heeft tenantId als harde isolatiesleutel. Geen shared tables zonder tenant-scope. GDPR-compliant met ingebouwde wissing en portabiliteitsroutes.

User15
Tenant12
UserSession
UserLocation
Dossier34
DossierNote
DossierTimeline
DossierDocument
Vehicle
Customer14
PlanningResource
PlanningSlot
DmsConnection
DmsMapping
PmSetup
StatusMapping
SyncQueue
SyncAttempt
SyncEvent
ImportInbox
ImportResolution
ExternalReference
WorkOrderLink
InvoiceLink
RentalVehicle
RentalReservation
RentalFine
RentalHandover
RentalPayment
PickupPhoto
HrCarOrder
DamageClaim
DamageReport
CommunicationLog
CommTemplate
Notification
AttachmentImport
PortalSession
PortalApproval
PortalMessage
PortalFeedback
AuditLog
SecurityIncident
GdprRequest
Location
Dealer
ApiKey
Webhook
PartsOrder
Feedback
StorageUsage
Kern & Auth
Dossiers
Planning
Incadea / DMS integratie
Rental
Schade
Communicatie
Portal
Platform

Foto's, scans, documenten, contracten — alles

Elk dossier produceert tientallen media-artefacten: intake- en schade-foto's, scan-documenten, contract-PDF's, expertise-beelden, oplevering-bewijs. Bij enterprise-schaal gaat dat om miljoenen objecten per maand, wat een eigen pipeline en retentie-strategie vereist.

📥
Ingest-pipeline
Upload → thumbnailing → OCR → AI-tagging → archive. Async workers, geen API-block.
📅
Retentie per type
Wettelijk-correcte retentie-regels per documenttype, per-tenant instelbaar.
🗑
GDPR-wissing per tenant
Volledige dealer-exit met alle media in één onherroepelijke transactie, audit-trail-gelogd.
🔍
Doorzoekbaarheid
Full-text op scans, visual similarity op foto's, gefacetteerd per dealer en type.
🧊
Hot / cold tiering
Recent op SSD, archief op goedkope cold-storage, automatische migratie na 6 maanden.
CDN-edge delivery
Globale edge-cache voor publieke assets, signed URL voor private media, instant laadtijd.
08
Hoofdstuk 08 · De Belgische realiteit, niet Silicon Valley
Ecosysteem-integraties
Incadea, Claims360, Informex, CarPass, PEPPOL, uBench — native embedded, geen iframes.

Ecosysteem, niet eilandje

BodyworkOS is gebouwd op een adapter-pattern, geen hardcoded koppelingen. Vandaag zijn Incadea, Claims360, CarPass, PEPPOL, Informex en uBench live — het Belgische ecosysteem. Morgen is elke DMS, CRM, boekhoudsysteem, insurer-portaal of OEM-backbone wereldwijd snel toe te voegen door hetzelfde patroon te hergebruiken. We love good integrations — elke nieuwe partner maakt het platform sterker.

🔧 Incadea DMS Live

Auto-detect adapter: JSON API → OData → ODBC fallback. 40+ methodes: voertuigen, klanten, werkorders, facturen, verhuur, SOC-orders.

ODataJSON APIODBCAuto-detect
🛡️ Claims360 In progress

Verzekeraar schadebeheer. Native embed in BWO dossier: bestek sync, Smart Expertise foto-analyse, Audatex prijzen, VNC handler.

REST APIWebhooksAudatex
🇧🇪 CarPass In progress

Belgisch wettelijk verplicht voertuighistoriek. Automatische opvraging bij elke nummerplaatscan. Connector klaar, live-test lopende.

Belgische wetgevingVIN lookup
📄 PEPPOL Actief

EU-standaard e-invoicing. Eerste succesvolle zending 14 april 2026 (INV/2026/00002). Via Odoo 19.1 als PEPPOL access point.

EU-standaardOdoo relay
🔍 uBench In progress

Expert taxatieplatform. Connector ingebouwd in BWO dossier: expertiserapport ophalen, taxatiewaarde sync, foto-upload vanuit BWO.

ExpertisatieREST API
📋 Informex Live

Verzekering dossier import via XML. Parser volledig geïmplementeerd: alle Informex velden gemapt naar BWO Dossier model.

XML parsingAuto-import
🤖 AI Engine Live

AI-native extractie voor boetes, aanrijdingsscans, documenten. Vision + OCR + tekst-classificatie als uitwisselbare backends — altijd het beste model van dat moment. 95%+ nauwkeurigheid.

VisionOCRModel-agnostisch
🪝 Webhook Engine Live

Interne webhook-ontvanger + event bridge. Elke dossierwijziging, notificatie of integratie-event kan als webhook gepubliceerd worden naar externe systemen.

Event-drivenHMAC signing
09
Hoofdstuk 09 · Eén identiteit over alle systemen
Identity roadmap
Van cookies+MFA vandaag naar Entra-federated enterprise SSO, zonder migratiepijn.

Identity roadmap

Van stevige cookie-based auth vandaag naar een enterprise identity provider met Entra federation, zonder migratiepijn voor bestaande gebruikers.

✓ Vandaag live April 2026

Cookie-based Auth + TOTP MFA

httpOnly session cookies, refresh rotatie, bcrypt hashing, TOTP via speakeasy (Google Authenticator compatibel). Alle accounts kunnen MFA inschakelen.

🔄 Gepland Q2 2026

BodyworkOS Identity Platform

Eén centrale identity-laag op login.bodyworkos.com, onderdeel van het BWO-platform zelf — geen externe leverancier om bij in te kopen, geen contract om aan vast te komen. Gebouwd op Keycloak 26 (open-source, enterprise-proven), mee-gehost in dezelfde infrastructuur als BWO. Eén centrale bron voor BWO, RentalOS, Dealer Portal en alle toekomstige modules. OIDC/OAuth2 compliant.

⏳ Wacht op Carya Q2 2026

Microsoft Entra ID Federation

Het BWO Identity Platform federeert naar Carya's Azure AD. Medewerkers loggen in met hun bestaand Microsoft account, geen extra wachtwoorden, geen schaduw-IT. SAML2 of OIDC federatie via Entra tenant-config — standaard enterprise-integratie die BWO out-of-the-box aanbiedt.

📋 Backlog Q3 2026

Dealer SSO + Provisioning

Automatische user provisioning via SCIM voor Carya dealer netwerk. Elke dealer kan zijn eigen IdP (AD, Google Workspace) federeren.

🔑 Huidige auth-flow

POST /auth/login
→ bcrypt verify → JWT generatie
bwos_session (httpOnly, 8h)
bwos_refresh (httpOnly, 30d)

// MFA (optioneel, per gebruiker)
POST /auth/mfa/verify { totp_code }
→ speakeasy.totp.verify()
→ session upgraded → redirect

// Token refresh (transparant)
POST /auth/refresh
→ rotate refresh token
→ nieuwe session cookie

🏢 Keycloak architectuur (roadmap)

login.bodyworkos.com
└─ Keycloak 26 realm: carya
├─ Identity Provider: Microsoft Entra
│ └─ OIDC federation → Carya tenant
├─ Clients:
│ ├─ bodyworkos-web
│ ├─ rentalos-web
│ └─ dealer-portal
└─ SCIM provisioning → auto user sync
10
Hoofdstuk 10 · Van commit naar productie in minuten
Deployment pipeline
Zero-downtime rollouts, automatische rollback, Traefik-geauditeerde certificaten.

Zero-downtime deployment pipeline

Volledig geautomatiseerde pipeline van git commit tot productie. Gemiddelde deploy-tijd onder 3 minuten. Rollback in één klik via Dokploy UI.

👨‍💻 Git commit main branch
🔗 Webhook X-GitHub-Event
🚀 Dokploy Compose orchestration
🐳 Docker build Standalone Next.js
🔀 Traefik swap Zero-downtime
Live productie app.bodyworkos.com
🖥️

Infrastructuur

Hetzner VPS 51.89.23.93. Dokploy als deployment platform. Docker Compose met 5 services: postgres, redis, api, web, rentalos-web.

📈

Scaling

Horizontale scaling via Dokploy Swarm mode beschikbaar. Database connection pooling via Prisma. Redis voor session sharing over meerdere API-instanties.

🔄

Backup & Recovery

PostgreSQL dagelijkse dumps via Dokploy backup module. Uploads op persistent volume. RTO < 1u, RPO < 24u. Point-in-time recovery beschikbaar via Hetzner snapshots.

🌍

Beschikbaarheid

Traefik health-checks per container. Automatisch herstart bij crash. Let's Encrypt certificaten met auto-renewal. Uptime monitoring via externe probe.

11
Hoofdstuk 11 · Wat BodyworkOS draagt
Team & ecosystem
Achter BWO staat geen startup, een familie van product-lanceringen die elkaar versterken.

BodyworkOS is productlancering nummer 17+, niet nummer 1

Digital Farmers bouwt sinds jaren SaaS voor de Belgische ondernemer — van kapperszaken tot carrosserieën, van boekhouding tot infrastructuur-monitoring. BWO staat niet alleen: het deelt hetzelfde brein, dezelfde security-laag en dezelfde operationele ervaring met een hele productfamilie die vandaag live draait.

MT

Mo Touzani

Oprichter Digital Farmers BV. Belgisch automotive-sector als specialisatie, vanaf de werkplaats naar software-engineering. BWO is gebouwd door iemand die het verschil tussen een bestek en een expertisenrapport uit zijn hoofd kent, niet vanuit een Excel-studie naar markt-opportuniteit.

Eén brein, vele specialisaties

TinyEclipse is het overkoepelende platform dat alle producten verbindt: identity, monitoring, events, finance-sync. BWO en RentalOS zijn twee van die specialisaties — en profiteren van elke nieuwe integratie die elders in de familie wordt gebouwd.

🧠
TinyEclipse
Brain-platform · verbindt alles
🏗️
BodyworkOS
Carrosserie · deze blueprint
🚗
RentalOS
Fleet + vervangwagens
🏢
MijnHersteller
Klant self-service
💇
TinyPOS
Lifestyle/salon POS
🌿
Casaya Spa
Live tenant · TinyPOS
🎛️
DFCockpit
Operations dashboard
🛡️
DFGuard
Infra-sensor platform
🕵️
Shadow Auditor
Silent-failure watchdog
📄
TinyFact
Peppol e-invoicing
💶
BoekhoudFarmer
Auto-boekhouding
🔗
TinyPay
Payment reconciliation
📧
MailHerald
Mail deliverability
🤖
TinyBot
AI-assistent
🔐
TinyU
Identity + marketplace
🧰
Tiny-Tools-reeks
Micro-SaaS portfolio
17+
productlanceringen
2026
eerste PEPPOL live
100%
observability-dekking
BE
automotive DNA
Mo review — persoonlijke laag

Roberto-quote is weggehaald (feitelijk incorrect). Als je een persoonlijke metafoor wil toevoegen (bv. Sporting Tisselt-vrijwilligerschap als symbool voor 30 jaar dragen en opdagen), laat weten in welke bewoording. Niets gepubliceerd zonder jouw tekst.

12
Hoofdstuk 12 · Van Belgisch anker naar Europees platform
Roadmap naar valuatie
Vier lagen, drie jaren, één exit-ready profiel. Klik door voor de financiële projectie.

Van Belgisch ecosysteem naar Europees platform

Geen feature-lijstje, een laag-voor-laag uitbouw van het platform. Elke laag is een zelfstandig waardepunt en vergroot de totale bereikbare markt.

📊 Open financiële projectie Vertrouwelijk · Aparte toegang
Laag 1 Live
Belgisch ecosysteem
2026
Multi-tenant kernarchitectuur
Dossier + planning + werkplaats
Incadea DMS adapter-factory
MFA + RBAC + GDPR by design
RentalOS embedded
BWO Academy gamification
PEPPOL e-invoicing live
Keycloak 26 + Entra federation
Claims360 / CarPass / uBench embed
Launch met Carya als anchor-partner
Laag 2 Nu in voorbereiding
Horizontale schaal
Q3 2026
Object-storage tier (S3-compat)
CDN-edge voor media
Postgres tenant-partitioning
Multi-instance API + Redis cluster
Read-replica voor BI-workload
Zero-config dealer onboarding
10× throughput-target
SIEM + SOC 2 Type I
Laag 3 2027
EU-expansion
Multi-language UI + content
Lokale DMS-adapters per land
Land-specifieke compliance (BE/NL/DE/FR)
Data-residency per regio
Multi-currency + regionale facturatie
Anycast DNS + latency-routing
ISO 27001 formeel certificaat
SOC 2 Type II voltooien
Laag 4 2027+
Platform-as-service
White-label voor andere verticals
Public integration API (DF als backbone)
Marketplace voor derde-partij modules
Revenue-share voor partners
Developer portal + SDK's
AI-agents als platform-primitive
Adjacencies: mechaniek, glas, keuring
Exit-readiness: SOC 2 + ISO + audited financials
13
Hoofdstuk 13 · De eerlijke vergelijking, laag voor laag
Side-by-side — incumbent vs BWO
Acht domeinen waarin een carrosseriebedrijf dagelijks werkt. Wat is vandaag beschikbaar bij de gevestigde oplossing, en wat staat er bij ons.

Acht assen waarop de werkdag verandert

Voor elke as: wat de incumbent vandaag aanbiedt aan de Belgische markt, en waar BodyworkOS + RentalOS op dezelfde as staat. Geen feature-lijstje, de dagelijkse gebruiker als meetlat. Elke claim linkt naar een concreet Prisma-model of API-route in deze blueprint.

01
Locaties & vestigingen
Multi-site carrosseriebedrijven met eigen adres, eigen stock, eigen DPO, eigen tarieven per vestiging.
Incumbent
  • 25+ tekstvelden per locatie: code, naam, adres, IBAN/BIC, GLN, BTW, DPO, standaard uurlonen (werk/spuit/antiroest/milieu/spuitproducten/kleinmateriaal)
  • Één-niveau locatie-entiteit, documenten-upload per locatie
  • Hourly rates + dossierbeheerder centraal geprikt — wijziging = alle locaties raakt
BodyworkOS + RentalOS
  • Dezelfde 25+ velden, plus type-tag (carrosserie / mechanisch / verhuur / combinatie) die Prisma-queries filtert
  • Per-locatie kleur-theming + logo — dashboard herkleurt automatisch op basis van actieve vestiging
  • Hourly rates per locatie overrulen de tenant-default — zonder migratie, zonder data-loss
  • Document-library per locatie met type-taxonomie (BTW-attest, verzekeringspolis, operationele vergunning)
02
Teams & werkbrigades
Atelier, receptie, magazijn, externe ploeg — elk met eigen ritme, eigen uurloon, eigen routing.
Incumbent
  • Team = code + naam. Niets meer.
  • Geen per-team instellingen (uurloon, notificaties, kleur, routing)
  • Team-wijzigingen alleen één-voor-één, geen bulk / template
BodyworkOS + RentalOS
  • Team = code + naam + type + default-settings-object (uurloon, notificatie-policy, kleur, routing-prefix)
  • Quick-save als team-template op elk user-permission-scherm — volgende gebruiker krijgt alle instellingen in één klik
  • Cross-app shared — team in BodyworkOS is hetzelfde team in RentalOS, geen duplicatie, geen sync-vertraging
03
Vloot & voertuigbeheer
Voor een dealer is de vloot geen lijst; het is strategisch kapitaal. Zo moet het voelen in het systeem.
Incumbent
  • Voertuig = kenteken + merk + model + basis-specs (brandstof, transmissie, zitplaatsen)
  • Geen OEM-binding: specs handmatig ingevoerd, geen afbeelding, geen veiligheidsscore
  • Geen "waarom deze wagen" — ROI-analyse gebeurt offline in Excel
BodyworkOS + RentalOS
  • Voertuig = dezelfde basis plus OEM-catalog binding (HP, Nm, 0-100, WLTP-verbruik, CO₂, Euro-klasse, EuroNCAP-sterren, batterijcapaciteit voor EV)
  • Strategic "upsides" panel per wagen — tags ("eco", "premium", "family"), ROI-curve, bezettings-% van de afgelopen 12 weken
  • Kenteken-scan → auto-fill via OEM-catalog (80 % hit-rate op Belgische fleet); fleet-manager ziet reveal-animatie + achievement ("Fleet nu 5 merken — diversity bonus")
  • Integratie-pad: CarPass + Incadea-DMS (Carya) overschrijft de seed met dealer-specifieke data
04
Dossier-statuses
Te veel statuses overweldigt. Te weinig verliest overzicht. De juiste abstractie-laag is het antwoord.
Incumbent
  • 25 hardcoded statuses, elke gebruiker ziet de volle lijst
  • Aanpassen vereist platform-upgrade
  • Migratie-pijn bij overstap: alle historische dossiers her-mappen
BodyworkOS + RentalOS
  • 16 kern-statuses plus StatusMapping-tabel per tenant — import van legacy statuses zonder dataverlies
  • Per-rol filtering: technicus ziet werkplaats-statuses, planner ziet reserveringen, receptie ziet klantgerichte statuses
  • Status-transities audit-trailed, geen directe DB-updates
05
DMS-integratie
Carya draait Incadea. De keten heeft JSON-API, OData en legacy ODBC per vestiging.
Incumbent
  • ODBC-driver per installatie, Windows-only
  • Één integratie-type, geen fallback
  • Niet audit-trailed per call — ruis in de observability-stack
BodyworkOS + RentalOS
  • Adapter-factory probeert automatisch JSON-API → OData → ODBC (fallback-hiërarchie), per tenant configureerbaar
  • 1048 regels Incadea-adapter met oauth2-refresh, 429-backoff, idempotentie-keys
  • Elke externe call audit-gelogd met X-Request-ID-tracing naar de dealer's observability
06
Mobile-first werken
Een technicus staat aan de auto, niet aan een bureau. Een receptionist wisselt tussen desk en balie.
Incumbent
  • Android-APK, geen iOS-equivalent
  • Online-required (ODBC-call per scherm)
  • Push-notificaties niet standaard
BodyworkOS + RentalOS
  • Drie PWA's — BWO dashboard, RentalOS dashboard, HerstellerPortal. Install op iOS + Android + desktop via "Add to Home Screen"
  • Offline-first kern-workflow — IndexedDB-outbox + Background Sync; werkplaats werkt door als de upstream keten uitvalt
  • Web Push op iOS 16.4+ en Android — dossier-updates arriveren in secondes
07
AI waar het écht scheelt
Geen AI-speelgoed. Specifieke plekken waar een medewerker 5× sneller door kan.
Incumbent
  • Geen AI in de productiviteits-workflow
  • Boetes en aanrijdingsformulieren manueel ingetypt
  • Capaciteits-planning op basis van Excel-inschatting
BodyworkOS + RentalOS
  • Boete-scan (Gemini vision) — foto → bedrag + datum + plaats + kenteken-match tegen actieve verhuring
  • Aanrijdingsformulier OCR — PDF → dossier-velden pre-filled, technicus controleert + bevestigt
  • Informex-bestek parsing — XML-import wordt 1-op-1 gestructureerde reparatie-lijnen
  • Training-opt-out op elke AI-call, geen data verlaat de EU-region zonder expliciet akkoord
08
Compliance-posture
Dealer-IT-manager wil een auditable systeem, niet een promise-deck. Beide moeten matchen.
Incumbent
  • GDPR basis-functies
  • Audit-log aanwezig maar niet WORM
  • Geen bekend NIS2 / CyFun / CRA-document
BodyworkOS + RentalOS
  • Argon2id password-hash (OWASP-2024 minima), MFA-enforcement per-tenant, WORM audit-log met hash-chain
  • GDPR art. 7 click-wrap trail — elke gebruiker heeft getekende termsVersion + privacyVersion op hun User-record
  • NIS2 / CyFun Essentials 87 % / NIST CSF / CRA documentatie, ISO 27001 traject in voorbereiding
  • Zie Hoofdstuk 04 voor de volledige posture-matrix
Licensing-flex. Invite-code + device-license + credit-account — drie onafhankelijke mechanismen die een dealer per eigen model kan combineren.
Innovatie-tempo. Greenfield monorepo (Turborepo + Next.js 14 + Prisma + TypeScript strict) — elke dependency modern, geen 15-jaar-legacy-gewicht.
Gevoel van gebruik. Command-palette, keyboard-shortcuts, dark-mode, micro-animaties. Een tool moet fijn zijn om elke dag op te starten.
Data-souvereiniteit. Per-tenant isolation, GDPR-export-self-service, offline-outbox, source-escrow-optie — de dealer heeft zijn data, altijd.
LIVE