Kunden importieren
Kunden importieren legt Kundendaten aus einer strukturierten Datei an oder aktualisiert bestehende Kunden anhand der Kundennummer. Die Seite gehört zum Kundenbereich und ist für vorbereitete CSV-ähnliche Importdateien gedacht.
Voraussetzungen
- Aktive App: Der Import ist nur verfügbar, wenn die App für Kundenimport und -export aktiv ist. Ohne aktive App zeigt das Backend einen Aktivierungshinweis und beendet die Seite.
- Importrecht: Zusätzlich ist das Recht für den Kundenimport erforderlich.
- Passendes Dateiformat: Die Datei muss die Spalten in genau der Reihenfolge enthalten, die im Abschnitt Importformat beschrieben ist.
Importformular
Das Formular besteht aus drei Feldern und dem Button Import starten.
importdateiImportdatei: Pflichtfeld für die Datei, die importiert werden soll. Die Datei wird nach dem Upload verarbeitet und danach wieder entfernt.trennzeichenTrennzeichen der einzelnen Spalten in der Datei: Pflichtfeld für das Zeichen, mit dem die Spalten getrennt sind. Die Testdatei wird mit Semikolon erzeugt.firstlineErste Zeile mit importieren: Kontrollkästchen für die Kopfzeilenlogik. Ohne Haken wird die erste Zeile übersprungen; mit Haken wird auch die erste Zeile importiert.
Nach einem erfolgreichen Lauf erscheint eine Erfolgsmeldung, dass der Import ausgeführt wurde.
Importablauf
- Die hochgeladene Datei wird eingelesen und zeilenweise anhand des gewählten Trennzeichens zerlegt.
- Für jede Zeile werden die Werte in der festen Spaltenreihenfolge interpretiert.
- Ist eine Kundennummer vorhanden und bereits vergeben, wird der vorhandene Kunde aktualisiert.
- Ist die Kundennummer leer oder noch nicht vorhanden, wird ein neuer Kunde angelegt.
- Für neue Kunden ergänzt das System Standardwerte wie Währung, Sprache, zufälliges Passwort und Anlagezeitpunkt.
- Nach dem Import wird die hochgeladene Datei aus dem Importbereich entfernt.
Automatische Zuordnung und Anlage
- Kundennummer: Die Kundennummer entscheidet, ob ein Datensatz aktualisiert oder neu angelegt wird.
- Land: Bei leerem Land wird das Standardland verwendet. Ist ein angegebenes Land noch nicht vorhanden, wird es neu angelegt und dem Kunden zugeordnet.
- Kundengruppe: Bei leerer Kundengruppe wird die Standardkundengruppe verwendet. Ist eine angegebene Kundengruppe noch nicht vorhanden, wird sie neu angelegt.
- Anrede: Die Anrede wird in der Backend-Sprache gesucht. Fehlt sie, wird sie neu angelegt und anschließend verwendet.
- Bestehende Kunden: Beim Aktualisieren werden die importierten Felder auf den vorhandenen Kunden geschrieben; nicht importierte Speziallogiken werden nicht automatisch abgeleitet.
Importformat und Spalten
Die Backend-Seite zeigt das Format als Tabelle mit den Spalten Spalte, Name und Beschreibung. Die Spaltenposition ist verbindlich: Auch leere Werte müssen als leere Spalten im Datensatz vorhanden bleiben.
| Spalte | Backend-Feld | Name im Backend | Bedeutung |
|---|---|---|---|
| 1 | cust_id | KundenNr | Eindeutige Kundennummer. Leer oder unbekannt legt einen neuen Kunden an; eine bekannte Nummer aktualisiert den Kunden. |
| 2 | cust_email | E-Mail-Adresse des Kunden. | |
| 3 | cust_groupid | Kundengruppe | Name der Kundengruppe. Leer nutzt die Standardkundengruppe; unbekannte Namen werden angelegt. |
| 4 | cust_nname | Nachname | Nachname der Rechnungsadresse. |
| 5 | cust_vname | Vorname | Vorname der Rechnungsadresse. |
| 6 | cust_anrede | Anrede | Anrede in der Backend-Sprache. Unbekannte Anreden werden angelegt. |
| 7 | cust_firma | Firma | Firmenname. |
| 8 | cust_zusatz | Zusatzangaben | Zusätzliche Adressinformation. |
| 9 | cust_strasse | Strasse | Straßenname. |
| 10 | cust_hnr | HNr | Hausnummer. |
| 11 | cust_plz | PLZ | Postleitzahl. |
| 12 | cust_ort | Ort | Ort. |
| 13 | cust_land | Land | Landesname. Leer nutzt das Standardland; unbekannte Länder werden angelegt. |
| 14 | cust_tel_vorwahl | Tel-Vorwahl | Telefonvorwahl. |
| 15 | cust_tel | Tel-Nr | Telefonnummer. |
| 16 | cust_fax_vorwahl | Fax-Vorwahl | Faxvorwahl. |
| 17 | cust_fax | Fax-Nr | Faxnummer. |
| 18 | cust_mobil_vorwahl | Mobil-Vorwahl | Mobilfunkvorwahl. |
| 19 | cust_mobil | Mobil-Nr | Mobilfunknummer. |
| 20 | cust_webseite | Webseite | Webseite des Kunden. |
| 21 | cust_birthday | Geburtstag | Geburtsdatum im Format YYYY-MM-DD. |
| 22 | cust_info | Info | Interne Bemerkungen zum Kunden. |
| 23 | cust_rabatt | Rabatt | Kundenindividueller Rabatt in Prozent. |
| 24 | cust_ustid | UstIdNr | USt-Id-Nummer, falls vorhanden. |
| 25 | cust_ustid_valid | Gültigkeit UstIdNr | Status: 0 ungültig, 1 automatisch prüfen, 2 manuell als gültig geprüft. |
| 26 | cust_account | Kundenkonto | 0 für Gastkonto, 1 für Kundenkonto. |
| 27 | cust_enabled | aktives Kundenkonto | 0 nicht aktiv, 1 aktiv. |
| 28 | agecheck | Altersprüfung erfolgreich | 0 nein, 1 ja. |
| 29 | marketing_enabled | Marketing/Werbung Einwilligung liegt vor | 0 nein, 1 ja. |
| 30 | marketing_date | Marketing/Werbung Zustimmungszeitpunkt | Zeitpunkt im Format YYYY-MM-DD hh:mm:ss. |
Beispieldatei
Die Backend-Seite bietet eine Testdatei zum Herunterladen an. Diese Datei enthält die Kopfzeile mit den Feldnamen und eine Beispielzeile mit Semikolon als Trennzeichen.
- Für neue Importe: Die Testdatei ist die sicherste Vorlage, weil sie die erwartete Reihenfolge enthält.
- Für bestehende Daten: Beim Aktualisieren muss die Kundennummer zur bestehenden Kundennummer passen.
- Für leere Werte: Leere Felder sollten als leere Spalten erhalten bleiben, damit die folgenden Werte nicht in falsche Felder rutschen.
Typische Prüfungen vor dem Import
- Stimmt das Trennzeichen mit der Datei überein?
- Soll die erste Zeile importiert oder als Kopfzeile übersprungen werden?
- Sind Kundengruppen, Länder und Anreden absichtlich neu anzulegen, falls sie noch fehlen?
- Sind Konto- und Aktivstatus korrekt gesetzt?
- Sind Marketing-Einwilligung und Zustimmungszeitpunkt fachlich belastbar dokumentiert?