Abgelehnt [WAWI-28323] Anonymisieren von stornierten Aufträgen ? DSGVO - Löschanfrage

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Moin,

bzgl DSGVO folgende Idee / Problem.

Kunde eines Auftrages der storniert wurde, aus welche Gründen auch immer, wünscht die Löschung aller Kundendaten.

Den Auftrag löschen sollte man wegen dem FInanzamt ja nun nicht. Auftragsnmummern-Lücken werden ungern gesehen und führen zu Erklräungsnot.

Meine Idee: Anonymisieren dieser Aufträge.
Kundendaten selbst löschen ist ja kein Problem, und dann aus den Auftragsdaten raus und ersetzen durch etwas "erklärendes" - wie bspw. "DSGVO - Löschanforderung" (Als Vor- und Zuname) und "Musterstr. 123, 12345 Beispielstadt" bei Adresse

Oder Kundendaten im gespeicherten Auftrag teilweise ersetzen, wie bspw. aus Vorname "Thomas" wird "*ho**s"

Ideen wie man das geschickt umsetzen kann?

Oder noch besser:
JTL baut einen "DSGVO Lösch" Button in den Kundenbereich der automatisch die Kundendaten löscht und in allen zugehörigen Aufträgen / Rechnungen so etwas umsetzt
 
Zuletzt bearbeitet:

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
WOW -

Drama

Ich habe bei der Suche nach einer Lösung zu obiger Anfrage ein DICKES Problem gefunden:
Kunde fordert eine Löschung der Daten. So weit so gut. Kundenbereich, Kunde suchen, löschen drücken "Der Kunde wird auch in allen Shops gelöscht"
Man könnte denken das damit der Anforderung genüge getan sei.

Denkste... Der Kunde bleibt in der Datenbank !! und wird nur als "cAktiv = N" gekennzeichnet und einfach nur nicht mehr angezeigt.
Das geht so nicht. Die Daten müssen raus, andernfalls kann es ganz schnell zu riesigen Problemen kommen !!
 

DaHmM

Gut bekanntes Mitglied
10. Juli 2013
161
12
Einfach regelmäßig ein Datenbankbereinigung machen, dann werden die Inaktiven Kunden vollständig entfernt.

Unter Start-Datenbank etc.
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Einfach regelmäßig ein Datenbankbereinigung machen, dann werden die Inaktiven Kunden vollständig entfernt.

Unter Start-Datenbank etc.

Das nützt nur nichts, da der ursprünglich angelegte Auftrag weiterhin die Kunden-Daten beinhaltet. Das widerspricht dann aber dem Kundenwunsch nach Löschung aller Daten.

Habe bereits eine funktionierende SQL-Lösung die das behebt und im Auftrag die Daten tatsächlich umschreibt.


wer interesse daran hat:
!!! IMMER EIN AKTUELLES DB-BACKUP VORHALTEN !!
JEGLICHE ÄNDERUNG UND NUTZUNG AUF EIGENEN GEFAHR!!!


Schritt 1:
Kunde wie gewünscht in der Wawi, Kundenbereich beim eintsprechenden Kunden auf "löschen" klicken
(DB intern wird dann erst einmal auf cAktiv = 'N' gesetzt)

Schritt 2:
Nachfolgenden SQL-Befehl(e) im SQL-Admin ausführen.

Code:
  update   [eazybusiness].[dbo].[tkunde]
  set
  cname = concat(left(cname,1),replicate('*',len(cname)-2),right(cname,1)),
cVorname = concat(left(cVorname,1),replicate('*',len(cVorname)-2),right(cVorname,1)),
cStrasse = concat(left(cStrasse,1),replicate('*',len(cStrasse)-2),right(cStrasse,1)),
cOrt = concat(left(cOrt,1),replicate('*',len(cOrt)-2),right(cOrt,1)),
cEbayNAme = concat(left(cEbayNAme,1),replicate('*',len(cEbayNAme)-2),right(cEbayNAme,1)),
cTel = concat(left(cTel,1),replicate('*',len(cTel)-2),right(cTel,1)),
cEmail = concat(left(cEmail,1),replicate('*',len(cEmail)-2),right(cEmail,1))
  where cAktiv = 'N'


  update   [eazybusiness].[dbo].[tlieferadresse]
  set
  cname = concat(left(cname,1),replicate('*',len(cname)-2),right(cname,1)),
cVorname = concat(left(cVorname,1),replicate('*',len(cVorname)-2),right(cVorname,1)),
cStrasse = concat(left(cStrasse,1),replicate('*',len(cStrasse)-2),right(cStrasse,1)),
cOrt = concat(left(cOrt,1),replicate('*',len(cOrt)-2),right(cOrt,1)),
cTel = concat(left(cTel,1),replicate('*',len(cTel)-2),right(cTel,1)),
cmail = concat(left(cmail,1),replicate('*',len(cmail)-2),right(cmail,1))
 
  where kKunde in(select kkunde from tkunde where caktiv = 'N')


  update   [eazybusiness].[dbo].[trechnungsadresse]
  set
  cname = concat(left(cname,1),replicate('*',len(cname)-2),right(cname,1)),
cVorname = concat(left(cVorname,1),replicate('*',len(cVorname)-2),right(cVorname,1)),
cStrasse = concat(left(cStrasse,1),replicate('*',len(cStrasse)-2),right(cStrasse,1)),
cOrt = concat(left(cOrt,1),replicate('*',len(cOrt)-2),right(cOrt,1)),
cTel = concat(left(cTel,1),replicate('*',len(cTel)-2),right(cTel,1)),
cmail = concat(left(cmail,1),replicate('*',len(cmail)-2),right(cmail,1))
 
  where kKunde in(select kkunde from tkunde where caktiv = 'N')

Das Update setzt dabei die entsprechenden Werte (Name, Vorname, Strasse, Ort, Email und Telefonnr neu. Das erste und letzte Zeichen bleibt erhalten, alle anderen Zeichen werden durch "*" ersetzt.
Jeweils in tKunde, tLieferadresse und tRechnungsadresse

Anschließend kann mann dann per DB Wartung ab und zu mal die inaktiven Kunden löschen lassen. Dann ist der da ganz raus. Die Aufträge sind aber noch - anonymisiert - vorhanden. So geht keine Statistik oder sonstige Info verloren. Auch das Finanzamt bekommt auf Anfrage seine Daten.

Ist alles noch nicht optimiert geschrieben, aber tut was es soll. Man kann da mit joins noch was verbessern, aber für die ein oder zwei Kunden die da zu erwarten sind, sollte das reichen.
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.218
1.958
Entschuldigung - das war schon im Log für die 1.3.18.0 drin:
27160 Löschen von Kundendaten löscht auch Auftrags -und Rechnungsdaten.

https://issues.jtl-software.de/issues/WAWI-27160

Und ich habe übersehen, dass es hier um stornierte Aufträge geht. Ich frag gern noch mal nach, ob in dieser Richtung auch etwas geplant ist.
 
Zuletzt bearbeitet:

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Und ich habe übersehen, dass es hier um stornierte Aufträge geht. Ich frag gern noch mal nach, ob in dieser Richtung auch etwas geplant ist.

Und ICH muss darauf hinweisen das mein SQL (noch) NICHT unterscheidet ob es sich um stornierte oder ausgelieferte Aufträge handelt.
Es wird nur geprüft ob es einen Kundendatensatz gibt der gerade auf "zu Löschen" steht.
Man sollte also vorsichtig sein und selbst aufpassen ob zu dem Kunden ggf ausgelieferte Aufträge bestehen.
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.218
1.958
Gut, dass wir darüber geredet habe. Im Übrigen sollte der Kunde mit der aktuellen Version direkt aus der DB gelöscht werden! cAktiv wird nicht mehr gefüllt. Wenn gelöscht, dann weg.
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Gut, dass wir darüber geredet habe. Im Übrigen sollte der Kunde mit der aktuellen Version direkt aus der DB gelöscht werden! cAktiv wird nicht mehr gefüllt. Wenn gelöscht, dann weg.

V 1.3.18.1 = cAktiv = 'N' wird gesetzt (gerade getestet)
Aktuell kann ich also meinen workaround noch nutzen 😉
Allerdings will ich mal hoffen das solche Löschanfragen nur 1-2 jährlich kommen werden.
 

Ähnliche Themen