Artikel 17 AVG: een verplichting die simpel klinkt, complex om uit te voeren
“De klant kan de verwijdering van zijn gegevens vragen”. De zin is kort en bondig in artikel 17 van de AVG. De uitvoering ervan op een PrestaShop- of WooCommerce-shop die 5 jaar bestaat, is allesbehalve simpel. Want een goed uitgevoerde “accountverwijdering” moet navigeren tussen vier tegenstrijdige eisen:
- Het recht op vergetelheid van de klant (AVG artikel 17).
- De fiscale en boekhoudkundige bewaarplicht (7 jaar in Nederland, tot 10 jaar in België en andere EU-landen).
- De fiscale traceerbaarheid van de verkopen (facturen en boekhoudkundige export).
- Het verweerrecht bij een eventueel geschil (Europees consumentenrecht, wettelijke garantie tot 2 jaar na de aankoop).
De praktische inzet: een module die alles bruut verwijdert, brengt het bedrijf in boekhoudkundige overtreding. Een module die niets verwijdert, brengt het bedrijf in AVG-overtreding (sanctie tot 4% van de wereldwijde omzet). De goede praktijk is de selectieve pseudonimisering: verwijderen wat niet nodig is voor een wettelijke verplichting, de rest bewaren in een vorm die niet aan een geïdentificeerde persoon te koppelen is.
Wat artikel 17 AVG exact zegt
Artikel 17.1 somt zes gronden op die het verwijderingsverzoek rechtvaardigen:
- De gegevens zijn niet meer nodig voor het doel waarvoor ze verzameld werden.
- De persoon trekt zijn toestemming in en er bestaat geen andere rechtsgrond.
- De persoon maakt bezwaar tegen de verwerking en er bestaat geen dwingend gerechtvaardigd belang.
- De gegevens zijn onrechtmatig verwerkt.
- De gegevens moeten gewist worden om een wettelijke verplichting na te komen.
- De gegevens zijn verzameld in het kader van diensten aangeboden aan een kind.
Maar artikel 17.3 voorziet vijf uitzonderingen die frequent op e-commerce van toepassing zijn:
- Uitoefening van de vrijheid van meningsuiting en informatie.
- Nakoming van een wettelijke verplichting (bijvoorbeeld: de boekhoudkundige bewaarplicht).
- Redenen van algemeen belang op het gebied van de volksgezondheid.
- Archivering, wetenschappelijk of historisch onderzoek, statistiek.
- Instelling, uitoefening of onderbouwing van een rechtsvordering.
Uitzondering (b), de wettelijke verplichting, is die welke op de boekhoudkundige gegevens van toepassing is. Maar ze dekt niet alle gegevens van een klantaccount: alleen die welke strikt noodzakelijk zijn voor het voeren van de boekhouding en het respecteren van de bewaartermijn (7 tot 10 jaar afhankelijk van het land).
De gegevens van een klantaccount in kaart brengen
Op een PrestaShop-shop met 5 jaar historiek bevat een klantaccount typisch:
| Gegevenscategorie | Voorbeelden | Verwijdering artikel 17 | Wettelijke bewaring |
|---|---|---|---|
| Identificatie | naam, voornaam, e-mail, telefoon | Pseudonimiseren | 7-10 jaar (boekhouding) |
| Adressen | levering, facturatie | Facturatieadres bewaren, oude leveradressen verwijderen | 7-10 jaar voor facturatie |
| Bestellingen | nummer, datum, bedragen, items | Bewaren | 7-10 jaar (boekhouding) + 2 jaar (wettelijke garantie) |
| Betalingen | Stripe/PayPal tokens, laatste cijfers | Verwijderen indien niet meer gebruikt | Geen verplichting, maar nuttig bij geschil |
| Wachtwoorden | bcrypt hash | Onmiddellijk verwijderen | Geen |
| Voorkeuren | nieuwsbrief, marketing, cookies | Verwijderen | Geen (behalve toestemmingsbewijs, nuttig 3 jaar) |
| Navigatiegeschiedenis | bezoeklogs, verlaten winkelwagens | Verwijderen | Geen |
| Reviews en commentaren | productreviews, klantenservice-berichten | Anonimiseren (“Anonieme klant”) | Variabel volgens publieke weergave |
| Loyaliteitsprogramma | punten, statussen | Verwijderen | Geen |
| Wishlist | favoriete producten | Verwijderen | Geen |
De sorteerregel: is dit gegeven nodig voor het boekhoudkundige spoor of voor een eventueel geschil? Zo ja, bewaren we in gepseudonimiseerde vorm. Zo nee, verwijderen we.
Pseudonimisering: het centrale mechanisme
Pseudonimiseren is niet anonimiseren. Het verschil is juridisch en technisch:
- Anonimisering: onomkeerbare verwijdering van de link tussen het gegeven en de persoon. Het gegeven kan nooit meer gekoppeld worden. Anonimisering haalt het gegeven uit de AVG-scope.
- Pseudonimisering: vervanging van de directe identificatoren door een pseudoniem, maar de link blijft theoretisch reconstrueerbaar (bijvoorbeeld via een versleutelde correspondentietabel). Het gegeven blijft binnen de AVG-scope, maar de verwerking wordt als minder risicovol beschouwd.
Voor e-commerce mikt men doorgaans op een sterke pseudonimisering die in de praktijk aanleunt bij anonimisering:
customer.firstname→"Klant"customer.lastname→"#" + id_customer(bijv."#42851")customer.email→"deleted-" + id_customer + "@invalid"(speciaal prefix, ongeldig domein)customer.phone→ NULLcustomer.passwd→ willekeurige bytes (account effectief onbruikbaar)customer.note→ NULLaddress.firstname,address.lastnameop oude adressen → pseudoniemaddress.firstname,address.lastnameop het facturatieadres van bestaande bestellingen → bewaren (nodig voor de factuur)
De sleutel zit in de nuance: we behouden de factuur zoals ze werd uitgegeven (boekhoudkundige verplichting), maar we verwijderen alles wat niet meer dient.
Architectuur van een conforme verwijderingsmodule
Een serieuze module voor PrestaShop als DfAccountDelete implementeert vijf lagen:
Laag 1 — Identificatie van het verzoek
Drie mogelijke kanalen:
- Knop in de klantzone: “Mijn account verwijderen” toegankelijk vanuit “Mijn gegevens”. Self-service UX.
- Aanvraagformulier: voor oud-klanten die niet meer kunnen inloggen. Identiteitsverificatie per e-mail met bevestigingslink.
- Verzoek aan de DPO/AVG-contact: per e-mail of brief, handmatig behandeld met registratie in het systeem.
Laag 2 — Identiteitsverificatie
Vóór de verwijdering controleren we dat de persoon werkelijk de accounthouder is. Voor ingelogde klanten: het ingelogd zijn + wachtwoordinvoer of validatie per e-mail (magic link). Voor niet-ingelogde klanten: verzending van een bevestigingsmail met een single-use validatielink van beperkte duur (typisch 1 uur). Voor verzoeken per brief: kopie van een identiteitsbewijs, 1 jaar bewaard en daarna vernietigd.
Laag 3 — Bedenktijd
Optioneel maar aanbevolen: een termijn van 7 tot 30 dagen tussen het verzoek en de effectieve uitvoering. De gebruiker ontvangt een e-mail “uw verzoek wordt behandeld op [datum], klik hier om te annuleren”. Dat vermijdt accidentele verwijderingen en spijt. Een goede praktijk aanbevolen door de Europese privacytoezichthouders.
Laag 4 — Uitvoering van de pseudonimisering
De module voert uit in een atomaire MySQL-transactie:
- Pseudonimiseert
ps_customer(naam, e-mail, telefoon, enzovoort). - Pseudonimiseert de
ps_addressdie niet aan gefinaliseerde bestellingen gekoppeld zijn. - Verwijdert verlaten
ps_cart,ps_compare,ps_wishlist. - Verwijdert de entries van het loyaliteitsprogramma, prijsalerts, voorraadalerts.
- Anonimiseert de publieke reviews (
"Anonieme klant") of verwijdert ze volgens de policy. - Verwijdert de sessielogs, magic link tokens, opgeslagen winkelwagens.
- Verwijdert de nieuwsbriefinschrijvingen (en propageert naar Mailchimp, Brevo via API indien gekoppeld).
- Markeert het account als verwijderd (
active=0,deleted=1,deleted_at= now). - Bewaart de bestellingen, facturen en creditnota’s intact (
ps_orders,ps_order_invoice,ps_order_slip).
Laag 5 — Auditlog en notificatie
Een entry in een AVG-auditjournaal:
- Datum van het verzoek, datum van de uitvoering.
- Oorspronkelijk e-mailadres (vóór pseudonimisering).
- Klant-ID.
- Methode van identiteitsverificatie.
- Lijst van de geraakte tabellen en het aantal beïnvloede rijen.
Dit log wordt 3 jaar bewaard (gangbare aanbeveling van de toezichthouders om de conformiteit te kunnen aantonen). Het dient bij een inspectie van de privacytoezichthouder of bij een vraag van de persoon (“heeft u mijn gegevens werkelijk verwijderd?”).
Een bevestigingsmail wordt naar het oorspronkelijke adres gestuurd, met vermelding dat de gegevens verwijderd zijn behalve die welke nodig zijn voor de boekhouding (transparantie, artikel 12 AVG).
De brug met de boekhouding: wat absoluut bewaard moet blijven
Bepaalde gegevens zijn noodzakelijk voor een conforme boekhoudkundige export en een eventuele belastingcontrole:
- Identificatie van de klant op de uitgegeven factuur (naam + facturatieadres op het moment van uitgifte). Maar het is niet nodig dat die naam nog terug te vinden is vanuit de levende klantendatabase: hij staat in de gearchiveerde PDF-factuur en in
ps_orders. - Bedragen exclusief btw, btw, verzending, totaal inclusief btw: pure boekhoudkundige gegevens, intact te bewaren.
- Datum van de bestelling, de factuur, de betaling: idem.
- Betaalmethode (Stripe, PayPal, overschrijving): nuttig voor de bankafstemming.
Het praktische patroon: we pseudonimiseren ps_customer, maar we laten ps_orders.firstname, ps_orders.lastname, ps_orders.email zoals ze waren op het moment van de bestelling. Dat is wat op de uitgegeven factuur staat. De factuur is de boekhoudkundige registratie, onveranderlijk. Het klantaccount is een levend aggregaat, dat men kan anonimiseren.
Op PrestaShop wordt deze logica vergemakkelijkt door het feit dat de factuur wordt beheerd door ps_order_invoice met haar eigen velden (de naam wordt niet alleen gerefereerd via id_customer, hij is ook bevroren in de bestelling). Op WooCommerce ligt het delicater: de WC-orders slaan het customer ID op en reconstrueren de gegevens bij weergave. De naam en het facturatieadres moeten dus op de order bevroren worden op het moment van de pseudonimisering, anders toont de opnieuw gegenereerde factuur “Anonieme klant”.
De reviews en commentaren: een geval apart
Een publiek getoonde productreview met de naam van de klant is een persoonsgegeven (artikel 4 AVG). De verwijdering op verzoek stelt twee problemen:
- De inhoud van de review heeft waarde voor de andere klanten (consumenteninformatie).
- De reviewhistoriek dient voor de gemiddelde score.
De standaard juridische oplossing: de naam anonimiseren (“Anonieme klant” of “A.K.”), de inhoud van de review en de score bewaren. Een statistische verwerking in de zin van artikel 17.3.d. Vraagt de klant expliciet de volledige verwijdering van de review (“ik wil niet dat deze tekst nog bestaat”), dan verwijderen we volledig, en kan de gemiddelde score zonder het verloren gegeven herberekend worden.
Deze nuance moet aan de gebruiker gepresenteerd worden in het formulier: “Wilt u uw reviews verwijderen of anoniem maken?”.
Moeilijke bijzondere gevallen
Klantaccount met een lopend geschil
Is een bestelling in geschil (geblokkeerde retour, betwisting, garantieactie), dan compromitteert de verwijdering van de klantgegevens het verweer van het bedrijf. Artikel 17.3.e dekt dit geval: men kan de verwijdering weigeren tot het geschil is opgelost, met informatie aan de klant over die reden. De bewaring gebeurt onder status “in geschil”, met beperkte toegang.
B2B-account met meerdere gebruikers
Op een B2B-account met meerdere gebruikers mag de verwijdering van het account van één gebruiker niet het bedrijf verwijderen. We verwijderen de gebruiker (die een individueel recht heeft), we bewaren de bestellingen op naam van het bedrijf (dat als rechtspersoon geen recht op vergetelheid heeft).
Nieuwsbrief zonder account (anoniem)
Een e-mailadres ingeschreven op de nieuwsbrief zonder klantaccount: de verwijdering is onmiddellijk, zonder pseudonimisering. Geen gekoppelde boekhoudkundige verplichting. Eén uitzondering: wordt de marketingtoestemming getraceerd als bewijs, dan kan men de toestemmingshistoriek (datum, IP, opt-in) 3 jaar na uitschrijving bewaren. Daarna volledige verwijdering.
Abonnees op een terugkerende dienst (abonnement)
Voor shops met abonnementen vereist de accountverwijdering eerst de stopzetting van het abonnement (onmogelijk een kaart te debiteren van een account dat niet meer bestaat). De module moet sequencen: annulering van de abonnementen → wachten op één cyclus ter bevestiging → pseudonimisering. De sequentie overslaan veroorzaakt verweesde debiteringen en klantgeschillen.
De antwoordtermijn opgelegd door de AVG
Artikel 12.3 AVG: het antwoord op een verzoek moet binnen 1 maand volgen, verlengbaar tot 2 of 3 maanden voor complexe verzoeken (met notificatie van de verlenging aan de verzoeker). In de praktijk voor e-commerce:
- Eenvoudig verzoek via de knop “mijn account verwijderen”: onmiddellijke uitvoering (volgens de optionele bedenktijd), ruim binnen de wettelijke termijn.
- Verzoek per e-mail/brief dat identiteitsverificatie vereist: 1 tot 2 weken behandeling, binnen de maand.
- Verzoek in complexe context (geschil, actief abonnement, meerdere accounts): 1 maand met statusinformatie aan de verzoeker.
Het niet-respecteren van de termijn stelt bloot aan sancties van de toezichthouder. Een geautomatiseerde module die binnen 24-48 uur antwoordt, dekt het risico ruimschoots.
Kosten en ROI
De ROI van een conforme accountverwijderingsmodule wordt anders gemeten dan die van een conversiemodule:
- Kosten van de module: 39 € licentie voor PrestaShop.
- Vermeden kosten van een sanctie: variabel, maar de e-commerce sancties van 2023-2025 gaan van 5.000 € voor mkb tot meerdere miljoenen voor grote ketens. De kosten/risico-verhouding is uiterst gunstig.
- Vermeden kosten van handmatige verwerking: op een shop met 50.000 klanten vertegenwoordigt het handmatig behandelen van 5 tot 10 verzoeken per maand 2 tot 4 uur intern werk per maand, ongeveer 1.200 € per jaar.
- Vertrouwenswinst: een goed zichtbare knop “mijn account verwijderen” is in 2026 een sterk vertrouwenssignaal geworden, meetbaar in het accountcreatiepercentage (+3 tot 6% waargenomen).
FAQ
Moet men de bestellingen echt jaren na de accountverwijdering bewaren?
Ja, dat is de boekhoudkundige verplichting (7 jaar in Nederland, tot 10 jaar in België en andere EU-landen). De AVG ontslaat niet van het fiscaal recht. De oplossing: de bestellingen blijven in de database in gepseudonimiseerde vorm (de klantnaam is niet meer gekoppeld aan een levend account maar staat nog op de uitgegeven factuur, zoals noodzakelijk). Na afloop van de bewaartermijn is volledige verwijdering mogelijk.
Wat als Mailchimp of Brevo de nieuwsbrief blijft versturen?
AVG artikel 19 legt de propagatie van de verwijdering naar de ontvangers van de gegevens op. Heeft u uw database gesynchroniseerd met Mailchimp/Brevo/Klaviyo, dan moet de module hun API aanroepen om het contact te verwijderen (en niet alleen uit te schrijven). Een punt om te valideren bij de installatie: alle marketingconnectoren moeten het verwijderingssignaal ontvangen.
Hoe de verwijdering bij de verwerkers (Stripe, PayPal) beheren?
Stripe en PayPal bewaren de betaaltokens en de transactiehistoriek volgens hun beleid (doorgaans 10 jaar voor fiscale conformiteit + antiwitwasbestrijding). U kunt hun verwijdering niet afdwingen: het is hun wettelijke verplichting, onderscheiden van de uwe. De vermelding in uw privacybeleid moet aangeven dat de betaalverwerkers de gegevens volgens hun eigen wettelijke termijn bewaren.
Kan men een account verwijderen zonder de klant te informeren?
Is het de klant die de verwijdering heeft gevraagd: we informeren hem over de uitvoering. Is het het bedrijf dat op eigen initiatief verwijdert (langdurige inactiviteit bijvoorbeeld): die policy moet voorzien zijn in de algemene voorwaarden / het privacybeleid, en idealiter wordt 30 dagen vóór de verwijdering genotificeerd om bezwaar mogelijk te maken. Verwijdering zonder notificatie is riskant.
Hoelang na een vergetelheidsverzoek kan een klant bij ons terugkomen?
Het recht op vergetelheid is geen recht op omkering. Zodra de gegevens verwijderd (of gepseudonimiseerd) zijn, maakt de terugkerende klant een nieuw account ex nihilo aan. De historiek blijft in het AVG-auditlog (dat dient om te bewijzen dat het verzoek is uitgevoerd), maar kan niet hergebruikt worden om het oorspronkelijke account te reconstrueren.
Samenvattend
De accountverwijdering conform artikel 17 AVG is een evenwichtsoefening tussen vier tegenstrijdige wettelijke verplichtingen. De oplossing loopt via selectieve pseudonimisering: we verwijderen of anonimiseren alles wat niet door een bewaarverplichting gedekt is, we bewaren het boekhoudkundige spoor dat nodig is voor de belastingcontrole intact.
De module DfAccountDelete voor PrestaShop implementeert deze logica met de vijf lagen van een conforme workflow: identificatie, identiteitsverificatie, optionele bedenktijd, atomaire pseudonimisering, auditlog. Hij integreert met de boekhoudkundige export om de boekhoudketen niet te breken en met de belangrijkste marketingtools (Mailchimp, Brevo, Klaviyo) om de verwijdering te propageren.
De juiste reflex in 2026: een goed zichtbare knop “mijn account verwijderen” tonen in de klantzone (vertrouwenssignaal, expliciete conformiteit), de workflow documenteren in het privacybeleid (transparantie, artikel 12), het auditlog 3 jaar bewaren om de conformiteit te kunnen aantonen bij een inspectie van de privacytoezichthouder.
Om in actie te komen: onze modulesselectie voor de AVG en cookies.