ERPNext Data Import Tool
Wann nutze ich den Data Import?
Sie dient dazu, Daten strukturiert und fehlerfrei ins System zu übernehmen insbesondere für DocTypes wie (zu den einzelnen Besonderheiten später noch mehr):
-
Kunden (Customer, Address, Contact)
-
Artikel (Item, Item Price, Item Group, Taxes)
-
Lieferanten, Mitarbeiter, Preislisten, Steuern etc.
Manche DocTypes sind nicht über den Import verfügbar, hier muss dann über die Customization gegangen werden (siehe Screenshot)
Datenimporte sind wesentlich aufwendiger als zunächst erwartet. Plane hier genug Zeit ein.
Wo finde ich den Data Import?
- Home > Data Import and Settings > Import Data
- Oder: Im jeweiligen Dokument, das hochgeladen werden soll
Vorraussetzungen:
- Admin-Zugang mit Rechten für Data Import / Master Data.
- Stammdaten vom Kunden sind aufbereitet als CSV, Excel oder als Google Sheet
- Falls CSV dann: muss UTF-8 sein, Komma-getrennt (nicht Semikolon!) + keine leeren Zeilen oder zusätzliche Kommata am Ende. --> Empfehlung Excel oder Google Sheet, CSV führt eher zu Problemen
- Feldnamenabgleich: Alle Spaltenüberschriften müssen exakt den Feldnamen in ERPNext entsprechen. Bei benutzerdefinierten Feldern (Custom Fields) gilt: Diese müssen vorher angelegt und aktiviert sein. ERPNext legt keine neuen Felder automatisch an.
- Verknüpfungen prüfen: Referenzdatensätze müssen vor dem Upload existieren (besonders beim Artikelupload) --> Nicht überlegen "Was sind die Verknüpfung?", sondern einfach ausprobieren
- Datenvalidierung vor Import: Prüfung auf Duplikate, Pflichtfelder, und gültige Datentypen (z. B. Datumsformat YYYY-MM-DD, numerische Felder ohne Sonderzeichen).
Wie funktioniert der Upload generell - Schritt für Schritt:
- Data Import Tool öffnen: Gehe zu Daten Import -> wähle das gewünschte Doctype. Entweder updatest du bereits existierenden Daten (hierzu später mehr) oder du lädst neue Stammdaten hoch. --> lade das Template in Englisch herunter, die Sonderzeichen können zu einem Fehler im Upload führen
- Template herunterladen: Klicke auf Download Template, um es dem Kunden zur Verfügung zu stellen (oder die Daten selbst einzutragen). Beim Download werden die Feldnamen als Überschrift bereits zur Verfügung gestellt. Die Daten des Kunden werden dann auf die jeweiligen Felder gematched. --> Template mit Beispieldatensätzen herunterladen: Lass den Kunden einmal ein Stammdatensatz in der UI ausfüllen, Beispiel "Kunde". Dann im Template diesen Datensatz herutnerladen und dann weißt du welche Felder relevant
- Überblick verschaffen: Aktiviere „Include All Mandatory Fields“, um alle Pflichtfelder einzusehen.
Die gemeinsame Arbeit mit dem Kunden in einem Google Document ist zu empfehlen, da hier gemeinsam am Aufbereiten der Daten gearbeitet werden kann. ERP Next ermöglicht den Upload über Google Sheets. Das Template kannst du dir ebenfalls bereits als Google Sheet zur Verfügung stellen lassen.
- Daten aufbereiten (selbst oder Kunde): Fülle die CSV oder ein Google Sheet mit den gelieferten Daten. Achte auf:
Achte auf:
-
Pflichtfelder ausgefüllt (z. B.
customer_name,item_code,customer_group,territory,naming_series) -
Keine zusätzlichen Leerzeilen
-
Keine HTML-, Tab- oder Zeilenumbrüche in Textfeldern
-
Datumsformat:
YYYY-MM-DD -
Boolean-Felder:
1(Ja) oder0(Nein)
-
Sollte der Kunde bisher keine IDs für seine Stammdaten vergeben haben, können diese ausgelassen werden. ERP Next legt diese dann selbst an. --> Gemischte Datensätze können zustande kommen. IDs können überschrieben werden.
- Verknüpfte Doctypes berücksichtigen: Viele Datensätze hängen voneinander ab, daher ist die Reihenfolge des Uploads entscheidend (Mehr dazu in den spezifischen Stammdaten).
-
Mache einen Testimport: Lade 1–3 Datensätze hoch und überprüfe was im Import Log passiert:
- Grün = erfolgreich
- Gelb = Warnung
- Rot = Fehler
-
Bulk-Import
- Wenn der Test erfolgreich war, dann lade die vollständige Datei (max. 1000 Zeilen pro Lauf) hoch
Selbst nach dem Massen-Import sollte nochmal stichprobenartig durch die für dich zur Verfügung gestellte Daten-Tabelle geprüft werden. Öffne 5–10 zufällig ausgewählte Datensätze direkt im ERPNext. Lasse auch den Kunden ausführlich testen.
Typische Fehlerquellen:
| Problem | Ursache | Lösung |
|---|---|---|
NoneType-Fehler |
Leere Zeile oder fehlendes Pflichtfeld | CSV prüfen, Leerzeilen löschen |
| „Cannot find DocType“ | Doctype falsch geschrieben oder nicht aktiviert | Prüfen, ob Doctype im System existiert |
| Referenz nicht gefunden | z. B. Customer Group nicht vorhanden |
Datensatz zuerst im ERPNext anlegen |
| Falsches Encoding | Excel speichert oft als ISO-8859-1 |
Beim Export als UTF-8 speichern |
| Falsche Trennzeichen | Semikolon statt Komma | „Komma-getrennt“ wählen |
| Feld „name“ manuell gesetzt | Konflikt mit Naming Series | Nur customer_name + naming_series verwenden |
| Boolean falsch | „Yes/No“ statt 1/0 | Immer numerisch (1 = Ja, 0 = Nein) |
| Fremdzeichen in Feldern | Umlaute, Sonderzeichen, Zeilenumbrüche | UTF-8 sicherstellen oder entfernen |
--> Inhalt im Feld ist Fremdzeichen okay, in der Spalte muss Sonderzeichen bleiben - Daher upload in englischem Template
Besonderheiten beim Upload von Kundenstammdaten:
Achtung: Beim Kundenimport geht es nicht nur um den Kunden, sondern um mehrere verbundene DocTypes, die aufeinander aufbauen. Diese sind separat zu importieren und müssen in der richtigen Reihenfolge und korrekt verlinkt sein, damit sie sich in ERPNext verbinden.
-
Customer (Hauptdatensatz) --> Erst den Kundenstammsatz importieren.
-
Contact (Person, z. B. Ansprechpartner mit Telefonnummer und E-Mail Adresse) --> Danach Kontakte, die über Link-Felder mit Customer verknüpft werden.
-
Address (Adresse oder Rechnungsanschrift) --> Zuletzt Adressen, ebenfalls mit Link auf Customer.
---> unverlinkt Kontakt und Adresse, dann den Kunden mit Kontakt und Adresse hochladen, damit wird automatisch verlinkt.
Diese Felder koppeln den Customer mit Contact und Address miteinander: link_doctype = Customer UND link_name = [Name des Kunden]
Pflichtfelder:
| Feld | Beschreibung | Beispiel |
|---|---|---|
customer_name |
Anzeigename | Yoga mit Sandra |
customer_group |
Muss existieren | Commercial |
territory |
Muss existieren | All Territories |
customer_type |
Company oder Individual | Company |
naming_series (optional) |
Wenn du Serien nutzt, ansonsten wird der name von selbst erstellt | CUST-.YYYY.- |
Achtung: name und customer_name sind nicht das Gleiche. Wir sehen im Frontend überall den customer_name, aber intern arbeitet ERP Next mit dem Feld name --> Das ist die ID (Field Name)
--> Feld name ist immer eineindeutig, field label kann doppelt vorhanden sein und zu Fehlern führen.
Festlegen von Name:
Fall 1: Du nutzt eine Naming Series (Standard)
Beispiel: name CUST-.YYYY.- → CUST-2025-0001, customer_name Yoga mit Sandra
- ERPNext vergibt automatisch den internen Namen (name) nach dieser Serie.
- Dein Import-Feld customer_name ist dann nur der Anzeigename.
- Du brauchst das Feld naming_series im Import, damit ERPNext weiß, welche Serie verwendet wird.
- Du darfst kein Feld name manuell angeben (sonst kommt es zu Konflikten).
Fall 2: customer_name soll → YOGINI-001
- Du lässt naming_series leer.
- Du setzt im Feld
customer_namedeine eigene ID (z. B. YOGINI-001). - ERPNext verwendet dann automatisch deinen Eintrag als internen Namen (name).
Von mir empfohlene Felder:
| Feld | Zweck | Beispiel |
|---|---|---|
customer_code |
Falls du eigene Kundennummern führst | YOGINI-001 |
default_price_list |
z. B. “Standard Selling” - Falls abweichend dann auswählbar | Standard Selling |
tax_id |
USt-ID falls notwendig | DE123456789 |
language |
Für Kommunikation | de |
sales_partner |
Wenn Partnerstruktur vorhanden | – |
Besonderheiten beim Upload von Artikeln:
Achtung: Beim Artikelimport geht es nicht nur um die Artikel selbst, sondern um mehrere verbundene Stammdatensätze, die vorher vorhanden sein müssen, damit dein Import ohne Fehler läuft.
- Vor dem Upload: Bevor wir überhaupt Artikel anlegen, muss folgendes vorhanden sein:
- UOMs - die Einheiten müssen alle vorhanden sein. Prüfe, ob dein Kunde besondere Einheiten hat und falls ja, dann lege auch die über einen Import an.
- Item Tax Template - Wenn dein Kunde Artikel mit unterschiedlichen Steuersätzen (Beispiel: 7% und 19%), dann müssen diese als Steuervorlagen abgelegt werden, sodass du auf sie verweisen kannst.
- Artikelgruppen - müssen ebenfalls angelegt sein im Vorhinein
- Lager und Standardlieferant - Falls deine Produkte gelagert werden, braucht es ein angelegtes Standard-Lager auf das du verweisen kannst. Gleiches gilt für deinen Standardlieferant (gerade bei Dropshipping sehr wichtig!)
- Preise: Preise gehören nicht in den Artikel Import, sondern gesondert nach dem Upload der Artikel in den DocType "Artikelpreise". --> DocType der verlinkt ist
- Die Pflichtfelder - also die müssen ausgefüllt sein vor dem Upload. Achtung: Felder item_code und item_name dürfen keine Sonderzeichen oder Zeilenumbrüche enthalten.
-
Feld Erklärung Beispiel item_codeEindeutige Artikelnummer “YOG-001” item_nameAnzeigename “Yogamatte aus Kautschuk” item_groupKategorie “Yogamatten” is_stock_itemJa/Nein (1/0) 1 stock_uomEinheit “Nos”, “Kg” default_warehouse(optional) Standardlager “Celias Yoga Lager” description(optional) Text “Handgelenk-freundliche Yogamatte”
-
- Der Upload:
- Immer erst 1–3 Testartikel importieren.
-
Nach erfolgreichem Test:
-
Preise separat via
Item Priceimportieren. -
Prüfe ob die Steuer richtig angezeigt wird mit einer Test-Rechnung.
-
-
Dann erst vollständiger Bulk-Import.


