De bestaande Krak In 't Vak partnerapp bevat al alle bouwstenen voor intern gebruik. Met gerichte aanpassingen vervangt het de Excel-bestanden en het turven op papier — en worden opdrachten doorgeven aan partners en het WhatsApp-contact daartussen een geïntegreerd onderdeel van de workflow.
Krak In 't Vak ontvangt leads via telefoon, website, social media en via partners. Die leads worden nu bijgehouden in Excel en geturfed op papier. Ondertussen staat er al een platform dat dit volledig kan overnemen — met statusopvolging, historiek en rapportage ingebakken.
We beginnen niet van nul. Het meeste van wat een intern CRM nodig heeft, zit al in de bestaande app. Onderstaande functies zijn vandaag al operationeel en worden ongewijzigd meegenomen.
Negen gerichte aanpassingen, van klein naar groot. A t/m F zijn de CRM-kern (intern leadbeheer). G t/m I zijn de partnernetwerk-laag: telefoonnummer verplicht, partneroverzicht met WhatsApp, en opdrachten doorgeven met statistieken.
De app kent nu twee rollen: beheerder en partner. We voegen één nieuwe rol toe: medewerker. Die kan leads ingeven en opvolgen, maar heeft geen toegang tot gebruikersbeheer. Accounts aanmaken en beheren blijft exclusief bij de beheerder. Leveranciers zijn en blijven gewoon partners — geen aparte rol nodig.
Naast de roluitbreiding krijgt het bestaande datamodel een aantal extra velden. Bestaande records blijven volledig intact.
// Bestaande enum uitbreiden met nieuwe rol enum UserRole { admin // beheerder: volledige toegang incl. gebruikersbeheer plumber // partner (ook leveranciers): ziet enkel eigen aanbevelingen medewerker // nieuw: intern CRM, geen gebruikersbeheer } // Nieuw: enum voor herkomstkanaal enum LeadSource { telefoon website facebook instagram google doorverwijzing andere } model Recommendation { // ... alle bestaande velden ongewijzigd ... isInternal Boolean @default(false) leadSource LeadSource? scheduledAt DateTime? assignedPartnerId Int? // aan welke partner wordt deze opdracht doorgegeven? } model User { // ... bestaande velden ... companyPhone String // was String? — nu verplicht voor WhatsApp-koppeling }
De serverlaag verwerkt de data tussen de database en de app. We passen vier dingen aan: de nieuwe velden meesturen bij aanmaken, filteropties uitbreiden, een nieuw kanaalrapport, een partnerlijst-endpoint en een toewijzingsrapport per partner.
authorize middleware krijgt de medewerkerrol mee. Aanbeveling-endpoints worden toegankelijk voor medewerker, gebruikersbeheer blijft exclusief voor admin.GET /reports/lead-sources groepeert leads per kanaal.GET /partners geeft naam, bedrijf, telefoon en e-mail van actieve partners. Toegankelijk voor alle rollen.GET /reports/partner-assignments groepeert aanbevelingen op assignedPartnerId.Een medewerker klikt op "Lead intern ingeven" en krijgt een formulier dat sterk lijkt op het bestaande partnerformulier — dezelfde klantgegevens — maar zonder commissie- of uitbetalingslogica, en met één extra dropdown: via welk kanaal? Het formulier is gebaseerd op bestaande componenten en wordt niet van nul gebouwd.
Het bestaande admin-overzicht toont alle aanbevelingen. We voegen vier kolommen toe (Herkomst, Kanaal, Geplande datum, Doorgegeven aan) en filteropties bovenaan de tabel. Intern en extern zijn zo meteen te onderscheiden.
| Ref. | Klant | Dienst | Herkomst ★ | Kanaal ★ | Gepland ★ | Doorgegeven aan ★ | Status |
|---|---|---|---|---|---|---|---|
KR-1042 |
Jan Peeters | Ontstopping | Intern | 12 aug 2026 | Bram L. | In behandeling | |
KR-1041 |
Marie Claes | Ruiming | Intern | Telefoon | — | — | Nieuw |
KR-1040 |
Bert Janssen | Inspectie | Via partner | — | 9 aug 2026 | — | Geaccepteerd |
★ Nieuwe kolommen
In het beheerdersdashboard verschijnt een nieuw blok dat toont hoeveel leads er per kanaal binnenkwamen in een gekozen periode. Dit vervangt het turven op papier volledig. De data is altijd live en filterbaar per week, maand of jaar.
Partners bellen of mailen vandaag om te weten wanneer hun doorgestuurde job gepland staat. Dat valt weg. Wanneer een beheerder een uitvoeringsdatum instelt, verschijnt die automatisch in de partnerweergave van die aanbeveling.
De WhatsApp-knop in het partneroverzicht werkt op basis van het telefoonnummer van een partner. Dat veld is vandaag optioneel bij registratie. We maken het verplicht — zowel bij nieuwe registraties als via een melding aan bestaande partners die het veld nog niet ingevuld hebben. Zonder dit is de WhatsApp-knop nutteloos.
companyPhone wordt van optioneel (String?) naar verplicht (String) in het User-modelEen nieuw scherm "Partners" toont alle actieve partners in het netwerk — voor iedereen zichtbaar die is ingelogd (beheerder, medewerker én partner). Elke partnerkaart toont bedrijfsnaam, naam en een directe WhatsApp-knop waarmee partners onderling kunnen chatten. Opdrachten toewijzen aan een partner is voorbehouden aan de beheerder of medewerker — de WhatsApp-knop dient enkel voor rechtstreeks contact.
wa.me/32492123456 — opent direct WhatsApp op mobiel of desktop voor peer-to-peer contact. Partners kunnen geen opdrachten doorgeven via dit scherm, enkel chatten.GET /partners — geeft lijst van actieve partners terug (naam, bedrijf, telefoon, email). Toegankelijk voor alle rollen.Wanneer Krak In 't Vak een lead ontvangt die beter past bij een specifieke partner, kan enkel een beheerder of medewerker die opdracht toewijzen. Partners kunnen dit niet onderling doen — zij zien enkel de opdrachten die aan hen toegewezen werden, en kunnen daarvoor WhatsApp-contact opnemen. Het systeem houdt bij hoeveel opdrachten naar welke partner gingen.
assignedPartnerId Int? — slaat op aan welke partner de opdracht werd doorgegeven (apart van plumberId, dat is de partner die de lead zelf instuurde)GET /reports/partner-assignments — groepeert aanbevelingen op assignedPartnerId, vergelijkbaar met de bestaande rapportagesEen concrete stap-voor-stap beschrijving van hoe een medewerker van Krak In 't Vak een interne lead verwerkt via de uitgebreide app — van het eerste telefoontje tot de afgesloten job.
De schatting gaat ervan uit dat Athes Agency en Krak In 't Vak nauw samenwerken: Athes bouwt, de klant test en geeft feedback. A t/m F bouwen het intern CRM; G t/m I voegen de partnernetwerk-laag toe. De aanpassingen worden in volgorde van afhankelijkheid uitgevoerd.
We overlopen de details samen en starten zodra het fiat gegeven wordt. De bestaande partnerwerking loopt tijdens de volledige uitbreiding gewoon door — en G t/m I kunnen ook los van A t/m F opgestart worden als de volgorde wijzigt.
Bevestig de opdracht →