Mo-mode · impersonating
Verzonden
Je signaal is ontvangen. Versie 2 bouwt op jouw input.
⚠ Dit document is vertrouwelijk en auteursrechtelijk beschermd

BodyworkOS · Blueprint

Dit document bevat vertrouwelijke technische informatie van Digital Farmers BV.

Ongeldige toegangscode.

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
Persoonlijke opening
— Mo Touzani · Digital Farmers
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

Drie werkoppervlakken onder BodyworkOS

Eén dossier, drie brillen. Waar je staat bepaalt wat je ziet — aan de balie, in de werkplaats, of in het stille brein dat alles verbindt. De kern blijft één; de ervaring volgt de persoon.

Front
Receptie · Identiteit · Intake

Check-in, check-out, expert-diagnose en dossier-ingang — op één oppervlak dat aanvoelt als een app, niet als een formulier.

  • De klant staat aan de balie, alles is al voorbereid
  • Identiteit, voertuig en verzekering in één scherm
  • Eén flow, geen papier, geen heen-en-weer
Bodywork
Werkplaats · Uren · Stappen

De werkplek die techniekers willen openen — klokken, aanvullen, markeren. Eén scherm per technieker, één dossier per actie.

  • Alles gebeurt in het dossier, niets erbuiten
  • Tijd, foto's en notities blijven op hun plek
  • Geen dubbelwerk, geen losse app, geen uitleg
Intelligence
Dossier-hub · Context · Signalen

Het dossier schrijft zichzelf mee. Context groeit uit wat er rondom gebeurt, zonder iemand extra werk te geven.

  • Elk dossier leert mee uit wat er rondom gebeurt
  • Adviezen verschijnen wanneer het ertoe doet
  • Het werk voelt lichter naarmate er meer doorheen stroomt

Wat de techniek doet dat een concurrent niet ziet

Drie mechanieken maken het trio meer dan de som van z'n delen. Ze blijven onder DigitalFarmers en laten zich niet los wegpakken door een partner-deal.

Toggle-layer voor schade
Expert annoteert · Klant ziet schoon

Eén dossier, twee views. De expert en dossierbeheerder markeren vrij op een overlay-laag; het klantrapport rendert automatisch zonder die overlay. Geen spreadsheet-export, geen dubbele waarheid, geen "welke versie was nu de laatste".

  • Expert-laag leeft los van de klant-laag in hetzelfde dossier
  • Klantrapport = gerendered schone versie, automatisch bijgewerkt
  • UX-principe: één dossier, twee views, nul spreadsheet-hack
Intelligence-verrijking
Signalen · Multi-country compounding · Self-improving

De intelligence leert uit signalen rondom het dossier en wordt beter naarmate meer dealers doorheen werken. Hoe meer landen en werkplaatsen aangesloten, hoe scherper het systeem — compounding effect.

  • Signalen uit werkuren, foto's en bestellingen voeden hetzelfde dossier
  • Multi-country compounding — meer dealers = scherper systeem
  • Blijft onder DigitalFarmers, los van partner-deals
Cross-over matrix
Wat zichtbaar waar · Basic vs fully-loaded

Dezelfde data, andere bril. De matrix laat zien welke velden verschijnen voor een klant-view (basic) versus een BWO-user-view (fully-loaded) — zonder extra export, zonder aparte database.

Data Klant-view (basic) BWO-user (fully-loaded)
Schadebeelden Schone foto's Foto's + expert-overlay + metadata
Werkuren Totaal + fase-samenvatting Per-stap breakdown + technieker + AE-scoring
Bestellingen Planningstatus Volledige tracking + leverancier + marge
Identiteit klant Naam + contact Volledige dossier-geschiedenis cross-dealer
Intelligence-signalen Patronen + waarschuwingen + cross-country leerpunten
Principe: één waarheid in het dossier; de view bepaalt wat er naar buiten komt. Geen export-stap, geen duplicatie, geen "welke versie was nu de laatste".
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.

Beveiligingsstatus

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-beveiliging

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
Code-intelligentie — graphify scan
BWO + RentalOS · 2026-04-19

Automatische analyse van de volledige codebase: nodes (klassen, functies, modellen), edges (afhankelijkheden), communities (functionele clusters). God-nodes zijn de klassen met de meeste verbindingen — dé plekken waar meerdere domeinen samenkomen.

BodyworkOS
2.869 nodes · 88 communities
IncadeaAdapter
OAuth · voertuig · SO · factuur · rental · discovery
41
LegacyStatusSystem
40 methodes · ↔ status-sync
40
_toast()
Notificatie-hub · dossier-detail-tabs
34
Dossier (Prisma)
Kern-model · 34 relaties door schema
34
BodyworkShortcuts
Keyboard-navigatie · Cmd+K hub
33
RentalOS
262 nodes · scherpe architectuur
login/page.tsx
Auth-entry · koppelt alle dashboard-routes
98
(dashboard)/layout.tsx
Shell · sidebar · mode-switch
17
lib/utils.ts
cn(), formatters, date-helpers
16
contract-modal.tsx
Contract-flow · signature · PDF-export
13
fleet-calendar.tsx
RentalTimeline · buffer · heatmap
12

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.

Identiteit-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-gebaseerde 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 federatie

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 + provisionering

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-pijplijn

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 & Herstel

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 · Moat, dossier-hub en upsell-power
Waar de meerwaarde zit
WorkshopOS bezit al onze domeinen · elke communicatie rond een dossier zit in het dossier · premium door stack, niet door korting.

Drie dingen die ons verdedigen terwijl wij verder bouwen

Voor Didier, Ronald, Frederik en Ruben
Mobo bouwt een platform genaamd WorkshopOS. Wij bezitten alle domeinen. Elke klik op hun marketing landt uiteindelijk bij ons — terwijl we intussen de stack uitbouwen die zij niet hebben en de communicatie rond een dossier centraliseren op één plek.

🎯 De WorkshopOS-paradox

Mobo heeft een product dat "WorkshopOS" heet. Wij bezitten alle relevante domeinen: workshopos.be, .nl, .eu, .co.

Elke campagne, elke referral, elke zoekopdracht die richting "workshopOS" beweegt, eindigt op onze infrastructuur. Hun marketing = onze organische funnel. Geen investering, geen actie vereist — dit is een passief-verdediging-mechanisme dat draait terwijl we slapen.

"We gaan ze niet tegenhouden. We gaan ze laten voorrijden — en converteren."
workshopos.be
Belgische markt
✓ Digital Farmers
workshopos.nl
NL-expansie
✓ Digital Farmers
workshopos.eu
EU-schaal
✓ Digital Farmers
workshopos.co
Premium-pitch
✓ Digital Farmers
Mobo maakt reclame voor "WorkshopOS" bezoeker typt domein landt bij ons

Domein-portfolio · vier lagen · 20 vastgelegde namen

Niet als offensieve zet — als fundament. Elke naam waar een klant of concurrent naar zoekt in het carrosserie-software-ecosysteem, eindigt bij hetzelfde platform. Stap voor stap opgebouwd. Geen actie meer vereist om dit vol te houden.

Laag 1 · Operationele kern 3 live Wat we vandaag dragen
De primaire merknaam, EU-alias en BE-alias. Alle drie actief in productie.
bodyworkos.com bwos.eu bwos.be
Laag 2 · Naam-synoniemen (bodyshopOS) 4 gereserveerd EN-vertaling van de categorie
"Bodyshop" is de Engelstalige standaardterm voor carrosserie. Alle vier relevante TLD's vastgelegd zodat de EN-categorie-naam niet door een ander kan worden geclaimd.
bodyshopos.be bodyshopos.nl bodyshopos.eu bodyshopos.co
Laag 3 · Concurrent-capture 6 vastgezet Chess, geen aanval
Mobo kondigde "WorkshopOS" aan. Wij hielden alle vijf relevante TLD's beschikbaar — alsook het legacy-platform-domein legacy-dms.example. Hun marketing-verkeer en de zoek-intentie van hun potentiële klanten passeren langs infrastructuur die wij beheren.
workshopos.be workshopos.nl workshopos.eu workshopos.co workshopos.online legacy-dms.example
Laag 4 · Zuster-platformen & moeder-merk 7 aangesloten Ecosysteem-coherentie
RentalOS voor de vloot-kant van dezelfde carrosserie-bedrijven, plus het moeder-merk Digital Farmers in drie varianten. Eén visuele en technische familie.
rentalos.be rentalos.nl rentalos.eu rentalos.co digitalfarmers.be digitalfarmers.eu digitalfarmers.co
Lees-advies: dit is geen marketing-truc. Het is hoe distributie werkt in een EU-markt waar merk-zoekverkeer 40-60% van de funnel is voor B2B-software. Als de naam die jouw klant typt bij jou uitkomt, heb je geen advertentie-budget nodig. De zetten zijn al gedaan; ons werk is nu bouwen.

📁 Het dossier is de communicatie

Ronald zei het scherp: communicatie rond een dossier is niet naast het dossier. Mails, bestanden, documenten, calculaties, facturen, telefoon-nota's — alles zit bij het dossier. Geen zoeken, geen kopiëren tussen systemen, geen "wie had ook alweer wat". Eén schermpunt, alles erbij.

📁 Dossier 360° hub
📧E-mail chains
📷Foto's + scans
📄Documenten
🧮Calculaties
💸Facturen
📞Calls + nota's
🔒Audit-trail
🤖AI-extraction
📧 E-mailInkomend/uitgaand, threaded, auto-routed op kenteken
📷 MediaIntake, schade, oplevering — OCR + AI-tagging
📄 DocumentenInformex-XML, Audatex-output, PDF, contracten
🧮 CalculatiesAudaPad, voor-calculatie, norm-calculatie, werkuren
💸 FacturenKlant · verzekeraar · PEPPOL-gekoppeld
📞 CallsNotities per contactmoment, gekoppeld aan persoon
🔒 AuditElke mutatie: user, tijd, IP, before/after — WORM-log
🤖 AIExtractie + classificatie + smart-expertise-match
Voor Ronald · technisch-functioneel

Service-order end-to-end · van foto tot getekend archief

Eén flow, zes stappen. Werkt op gsm, laptop, Windows, Mac — altijd dezelfde logica. Standalone: geen Audatex of huidig DMS vereist. Dit is BWO als zelfstandig DMS dat een dossier durft te sluiten.

01 · INGEST
📷
Foto of PDF binnen
Gsm-camera, mail-bijlage, scanner-upload of drag-drop. Eén endpoint voor alles.
POST /api/v1/dossiers/:id/upload
02 · EXTRACT
🤖
OCR + AI-vision
Claude vision + Tesseract fallback. Velden: kenteken, VIN, schade-type, klant, bedragen.
vision.extract() · confidence_score
03 · FILL
📋
Auto-fill dossier
Velden voorgevuld, mens valideert, AI leert van correcties (self-learning loop).
DossierService.applyExtraction()
04 · RENDER
📄
PDF genereren
Service-order als nette PDF met huisstijl, artikelregels, werkuren, totalen.
werkorder-print-route · Puppeteer
05 · SIGN
✍️
Digitale handtekening
Klant tekent op scherm (canvas) of via itsme. Hash + IP + timestamp gelogd.
signature_pad + SHA-256 + audit-log
06 · ARCHIVE
🔒
Audit + archief
Onveranderlijke log (who/what/when), 7 jaar retentie, export per GDPR Art. 20.
AuditLog append-only · object-storage
Standalone betekent standalone. Deze flow werkt volledig binnen BodyworkOS — geen Audatex-koppeling, geen huidig DMS-import, geen externe expertise-tool vereist. Elke laag draait op onze eigen infra (Hetzner EU), onze eigen OCR-pipeline, onze eigen PDF-renderer, onze eigen signature-flow. Voor een onafhankelijke carrosserie in NL of DE betekent dit: BWO is het DMS, niet een laag erbovenop.
Getest op iPhone · Safari Android · Chrome MacBook · Safari / Chrome Windows · Edge / Chrome iPad · Safari
Pilot · CH · dag 1 is nu

Zwitserland — vertaald terwijl we bouwen

Didier vroeg hoe snel we dit konden vertalen naar Zwitserland. Het antwoord staat hier. Geen "ooit" — deze week. De country-layer-architectuur die we eerder toonden wordt getoetst op CH als eerste pilot. Als het klopt voor Zwitserland in weken, klopt het voor elk ander EU-land.

🎯 Waarom CH, waarom nu

  • Didier's vraag zelf — de urgentie komt van jou, niet van ons
  • Markt klaar — Zwitserse carrosserie vaak zonder moderne DMS
  • Hoogste ARPU in EU — CH-dealers betalen premium voor kwaliteit
  • Proof-of-concept voor EU-schaal — als CH in weken lukt, FR/DE/NL automatisch

🧩 Wat de CH-laag toevoegt

CHF DE FR IT BTW 8,1% QR-bill eID

Eigen country-manifest in apps/api/src/integrations/ch/ — valuta, drie landstalen, Zwitsers btw-regime (8.1% standaard, 2.6% verlaagd), QR-bill facturatie, eID-koppeling voor digitale handtekening.

Week 1 · deze week
Country-laag skeleton · CHF-conversie · DE/FR/IT taal-pack · eerste CH-dealer als Carya-launch-site geselecteerd via Didier
Q2 2026
3–5 CH-dealers live · leerloop in AI-OCR (CH-documenten) · DE/FR/NL-uitrol vanuit CH-blueprint — multi-country-pattern bewezen
Wie trekt dit. Didier (strategie, dealer-acquisitie CH) · Ronald (technisch-functioneel, country-laag) · Annelies (innovatie, CH-specifieke features) · Frederik Bernard (EU-forecast, PM-vs-BWO-cijfers) · Jurgen (BE-operationeel, CH-BE forecast-tandem) · Ruben (premium-positionering CH — hoogste ARPU benutten).

💰 Premium door stack, niet door korting

Frederik, Ruben — de vraag is niet "kunnen we competitief prijzen?". De vraag is: kunnen we meer rekenen dan onze integraties omdat onze stack iets toevoegt dat zij niet leveren? Antwoord: ja. Elke DF-module hieronder zit bovenop bestaande Audatex/PM/Informex-kosten die de klant toch al betaalt. Geen overlap, wel meerwaarde.

Legacy-stack (huidig DMS + Audatex + ...) Wat dealers vandaag al betalen
📋huidig DMS dossiers (€3,50/doss × 200)€700
🚗PM vloot-module€112
👤PM klantportaal€102
🔌Incadea koppeling (€1250/j/koppeling)€104
🏷️Merk-certificaten (€670/merk)€168
Legacy totaal/dealer/mnd€1.186
BWO-stack (modulair bovenop) Wat dealers daarvoor krijgen
📋Dossiers (€3,80/doss × 200)€760
🚗Rental-module (RentalOS)€95
👤Klantportaal (mijnhersteller)€125
📄OCR-pipeline (DF)€12
🤖AI-scan aanrijding + boetes (DF)€18
🛡️Compliance-pack ISO/CyFun/NIST/CRA (DF)€25
🎛️Carya support cockpit (DF)€45
BWO totaal/dealer/mnd€1.080
Verschil per dealer per maand
− €106
BWO is goedkoper én krachtiger. We concurreren niet op prijs (elke regel is transparant, geen dumping); we concurreren op stack-diepte: OCR, AI-scan, compliance-pack en de Carya support cockpit leveren meer dan €500/mnd aan operationele meerwaarde die de legacy niet kan bieden. Dat verschil is de ruimte waarin we premium kunnen positioneren én samen met Carya marge maken.
12
Hoofdstuk 12 · Voor Pascal + Jan, persoonlijk
Dealer Intelligence
94+ dealers. 6 modules. Één kaart. Modulair per dealer, levend per uur. Geen Sheet meer — dit is de operatie zelf.

Eén kaart voor alle dealers — modulair, levend, volautomatisch

Persoonlijk voor Pascal C. (COO Operational Excellence) + Jan
Pascal, Jan — dit hoofdstuk is voor jullie geschreven. Het dealer-netwerk dat vandaag in jullie status.legacy-dms.example Sheet leeft, is morgen een levende kaart in BWO. Elke dealer, elke module, elke beslissing — hier. Niet naast de operatie, als de operatie zelf. Ik kom persoonlijk langs, breng hardware en software 360 in beeld, en deze pagina groeit mee. Versie volgt versie.
— Mo · Digital Farmers · 20 april 2026 · Versie 1 · wacht op jullie keuzes
⚠ Illustratieve dealer-data (20 sample-dealers, realistische BE-stijl). Live-sync met status.legacy-dms.example ingepland. Jullie echte 94+ dealers komen automatisch binnen zodra Pascal + Jan akkoord geven op de sync-specs.
🏢 20 Dealers in scope +0 deze maand · wacht op sync
🟢 6 BWO live +2 dit kwartaal
🟡 9 PM-only (te converteren) Opportunity: €108k MRR potentie
⚠️ 3 Gap-alerts Missing DMS-koppeling of modules
Alle brands 20 BMW 6 JLR 3 Mercedes 4 Audi / VW-groep 4 Overig 3
Dealer Status 📁 Dossiers 🚗 Rental 👤 Portaal 🤖 AI-scan 🛡️ Compliance 🎛️ Support cockpit
BMWZenit Antwerpen BWO live
BMWMeeûs Brussel BWO live
BMWJorssen Leuven PM-only PM
BMWDe Pooter Gent BWO live
BMWElite Hasselt PM-only PM
BMWVan Osch Turnhout Prospect
JLRFrancorchamps Liège BWO live
JLRGhysels Halle PM-only PM
JLRMeeûs Uccle Gap-alert PM !
MBGroupe Hedin Brussel BWO live
MBHedin Wavre PM-only PM
MBGUK Louvain PM-only PM
MBVan Wijnsberghe Gent Prospect
AUDID'Ieteren Gent PM-only PM PM
AUDIHerné Namur Gap-alert PM !
VWClaeys Brugge Prospect
PORSCHECentre Antwerpen BWO live
VOLVOVanden Borre Aalst PM-only PM
TOYOTALier & Partners Gap-alert PM !
FORDDelevingne Wavre Prospect
BMW Zenit Antwerpen BWO live
Onboarded 12-01-2026 · Laatste bezoek Mo: 14-03-2026
Contacten
  • DirectieK. Geeraerts
  • OperationsS. Vermeiren
  • DMS-adminL. De Bock
Hardware op locatie
  • PrinterBrother HL-L8360 × 2
  • Scanner / tabletiPad Pro × 4
  • Werkplaats terminals6
  • Netwerkprinter (A3)Konica bizhub
Software stack
  • DMSIncadea 2024.3
  • ERPSAP B1
  • OEM-toolsBMW ISPA Next
Volgende stap (Mo's voorstel)
  • Module🎛️ Support cockpit
  • WaaromGroepsbeheer 3 vestigingen
  • ROI€540/mnd · 18u ops besparing
  • Bezoek gepland08-05-2026
Sales-stage
  • Fase7 / 8 — Expansion
  • Voortgang dit kwartaal+3 modules
  • Renewal-risicoLaag
Onboarding-pipeline voor Pascal Geselecteerd: BMW Zenit Antwerpen · 7/8 voltooid
01
Intake-call
12-01-2026 · Mo
02
DMS-discovery
Incadea v2024.3 gedetecteerd
03
Module-plan
5 modules · €495/mnd
04
Onboarding
72u tenant-setup
05
Training
2 sessies · 14 users
06
Go-live
01-02-2026
07
Monitor
110 dossiers/week
08
Expansion
Support cockpit aanvraag in voorbereiding
Module-penetratie per brand Waar zitten de opportunities
Brand
📁 Dossiers
🚗 Rental
👤 Portaal
🤖 AI-scan
🛡️ Compliance
🎛️ Support cockpit
BMW (6)
100%
50%
50%
50%
33%
0%
JLR (3)
100%
33%
33%
33%
33%
0%
Mercedes (4)
75%
25%
25%
25%
25%
25%
Audi / VW (4)
75%
50%
25%
25%
25%
0%
Overig (3)
33%
0%
0%
0%
0%
0%
Living document. Deze kaart is geen rapport — het is jullie operationeel centrum. Elke wijziging in de Carya-dealer-base verschijnt hier binnen 60 seconden zodra de Sheet-sync actief is.
Source: status.legacy-dms.example → BWO-registry · Sync ingepland
13
Hoofdstuk 13 · 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

Digital Farmers BV. Gebouwd vanuit de werkplaats, niet vanuit een boardroom.

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
14
Hoofdstuk 14 · 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.

MT
Mo persoonlijk · marsorders 2026-2028
We leveren wat we zeggen. We gaan door tot de volgende doelen. Dan de volgende.

Wij absorberen de Belgische herstelmarkt — dealer voor dealer, persoonlijk geconverteerd. Geen MDS-klant, geen huidig DMS-klant blijft over. Daarna Nederland, daarna Frankrijk. De verzekeraars smeden we mee in de keten: één backbone voor expertise, herstel en pay-out. Dit is geen pitch. Dit is agenda.

📊 Open financiële projectie Vertrouwelijk · Aparte toegang
Laag 1 ✓ Geleverd
Belgisch fundament
2026 H1
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
Carya anchor-partnership live
Laag 2 Nu aan het werk
Belgische dominantie
2026 H2 → 2027 H1
25 dealers live — persoonlijk geconverteerd door Mo
huidig DMS-migratie-pad (StatusMapping + contract-import)
MDS-migratie-pad (zero-dataverlies, parallel-run week)
Eerste verzekeraar live in de keten (AG / KBC / Ethias)
Expert-federatie: Informex + interne AI-schadescan pipeline
Herstel-keten: dealer → expert → verzekeraar → pay-out, één dossier
Horizontale schaal: S3-tier + CDN + read-replica
SIEM + SOC 2 Type I audit gestart
Zero-config dealer onboarding — 48u time-to-live
Laag 3 Volgende golf
Nederland
2027 H1 → H2
NL-launch — Rotterdam + Amsterdam als ankersteden
Lokale DMS-adapters (AutoFlex · CarIT · legacy CSV-import)
Nederlands-eerst contract + aanrijdingsformulier-templates
50 dealers NL tegen Q4 2027
Verzekeraar-federatie NL: Achmea · ASR · Allianz · Nationale-Nederlanden
Data-residency NL (AWS eu-west-1 of lokale Dokploy-cluster)
Multi-language UI live (NL/FR/EN basis)
ISO 27001 formeel certificaat
Laag 4 2027 H2 → 2028
Frankrijk + EU-verzekeraar-backbone
FR-launch — Lyon + Paris metropool
Franse compliance (Facture-X, Chorus Pro, RGPD-renforcé)
DMS-adapters FR (DMS Auto · Selsia · Salvia)
EU-wide verzekeraar-mesh (AXA · Allianz · Generali · MAIF)
Eén backbone voor expertise, herstel, pay-out — wij leveren de rails
Adjacencies: mechaniek, glas, keuring — zelfde keten
SOC 2 Type II + ISO 27001 + audited financials
Exit-ready: strategische koper ziet de mesh, niet de SaaS
15
Hoofdstuk 15 · 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