Wozu das Ganze gut ist
Ein Angebot über 30 Positionen abzutippen kostet eine gute Stunde — und jede abgetippte Artikelnummer ist eine mögliche Fehlerquelle. Ein eingelesener Katalog dreht das um: Du tippst „NYM-J 3x1,5“, wählst den Artikel, die Nummer und der Einkaufspreis sitzen. Der eigentliche Gewinn ist aber nicht die Tipparbeit, sondern die Aktualität der Preise. Wer aus einer zwei Jahre alten Liste kalkuliert, verkauft Material unter dem heutigen Einkauf, ohne es zu merken.
Beide Formate sind reine Einbahnstraßen vom Großhandel zu dir: Sie transportieren Artikel und Preise, keine Bestellungen und keine Verfügbarkeiten. Für Bestellung und Bestand sind andere Wege zuständig.
DATANORM: Aufbau in fünf Minuten
DATANORM ist ein Textformat, das man mit jedem Editor ansehen kann — und genau das sollte man einmal tun, bevor man einem Import misstraut. Die Regeln sind kurz:
- Eine Zeile = ein Datensatz. Die Felder sind mit Semikolon getrennt.
- Das erste Feld ist die Satzart — ein einzelner Buchstabe, der sagt, was in der Zeile steht.
- Beträge stehen in Cent, nicht in Euro. 1250 heißt 12,50 Euro.
- Verbreitet sind die Versionen 4.0 und 5.0; 5.0 kennt zusätzliche Felder wie EAN/GTIN und Matchcode.
| Satzart | Was drinsteht |
|---|---|
V | Vorlaufsatz: Datum, Version, Währung, Info zum Lieferanten — die Kopfzeile der Datei |
A | Artikel-Hauptsatz: Artikelnummer, Kurztext, Preiskennzeichen, Preiseinheit, Preis, Mengeneinheit, Rabattgruppe, Warengruppe |
B | Artikel-Zusatzsatz (v5): EAN/GTIN, Gewicht, alternative Mengeneinheit |
P | Preissatz: nur Artikelnummer und neuer Preis — das Herz der Preisdatei |
T | Langtext, mehrzeilig, über einen Langtextschlüssel mit dem Artikel verbunden |
D | Dimensions- und Maßangaben |
Z | Rabatt- und Zuschlagsätze zu den Rabattgruppen |
S / W | Warengruppen: Code und Klartextbezeichnung |
Zwei Felder verdienen besondere Aufmerksamkeit, weil an ihnen die meisten Fehlimporte hängen:
- Die Preiseinheit (Bezugsmenge). Sie sagt, für wie viele Einheiten der Preis gilt: für eine, für zehn, für hundert oder für tausend. Bei Kabel, Rohr und Kleinteilen ist 100 oder 1000 der Normalfall. Der Meterpreis ergibt sich erst aus Preis geteilt durch Bezugsmenge.
- Das Preiskennzeichen. Es unterscheidet, ob der Preis ein Listenpreis ist, auf den dein Händlerrabatt noch angewendet wird, oder bereits dein Nettopreis. Wer das verwechselt, kalkuliert entweder deutlich zu teuer oder deutlich zu billig. Die Belegung ist zwischen Großhändlern nicht immer gleich — frag einmal nach, welches Kennzeichen deine Datei verwendet, und notier dir die Antwort für die nächsten Jahre.
Welche Datei wofür da ist
| Datei | Inhalt | Wann du sie brauchst |
|---|---|---|
DATANORM.001 |
Vollartikeldatei: Artikel, Texte, Mengeneinheiten, Preise | beim ersten Import und ein- bis zweimal jährlich zur Grundaktualisierung |
DATPREIS.001 |
reine Preissätze zu bestehenden Artikelnummern | bei jeder Preisrunde — schnell, klein, legt aber keine neuen Artikel an |
DATANORM.WRG |
Warengruppen: Code und Bezeichnung im Klartext | damit im Katalog „10 — Installationsmaterial“ steht und nicht nur „10“ |
DATANORM.RAB |
Rabatt- und Zuschlagsgruppen | wenn dein Rabatt je Warengruppe unterschiedlich ist |
*.002, *.003 … |
Fortsetzungsdateien derselben Lieferung | immer gemeinsam mit der .001 einspielen, nie einzeln |
Die Endung ist dabei nur Konvention, kein Gesetz — manche Großhändler benennen die Dateien abweichend oder
packen alles in ein ZIP. Verlass dich im Zweifel nicht auf den Namen, sondern öffne die Datei kurz: Stehen
dort lange Zeilen mit A; am Anfang, ist es eine Artikeldatei; überwiegen Zeilen mit
P;, ist es eine Preisdatei.
BMEcat: dasselbe in XML
BMEcat kommt aus dem allgemeinen Beschaffungswesen und ist deshalb strukturierter, aber auch schwerer: Eine XML-Datei mit demselben Katalog ist leicht um ein Vielfaches größer als die DATANORM-Variante. Üblich sind die Versionen 1.2 und 2005.
Was du davon kennen musst, ist im Wesentlichen der Transaktionstyp im Kopf der Datei:
T_NEW_CATALOG— ein vollständiger Katalog. Entspricht der DATANORM-Vollartikeldatei.T_UPDATE_PRICES— nur Preisänderungen zu bestehenden Artikeln. Entspricht DATPREIS.T_UPDATE_PRODUCTS— geänderte und neue Artikel, ohne den ganzen Katalog zu ersetzen.
Innerhalb der Datei hängt jeder Artikel als ARTICLE mit Beschreibung, Mengeneinheit und einem
Preisblock. Auch hier gibt es eine Preisbezugsmenge — dieselbe Falle wie bei DATANORM, nur
mit anderem Namen. Zusätzlich transportiert BMEcat Dinge, die DATANORM nicht kennt: Produktbilder und
Datenblätter als Verweise, Staffelpreise und Klassifikationen nach ETIM oder eCl@ss. Für die Angebotserstellung
im kleinen Betrieb brauchst du davon meist wenig — nett ist die Klassifikation trotzdem, weil sich damit
gezielt einzelne Warengruppen importieren lassen.
Ein Import, Schritt für Schritt
- Datei anfordern. Beim Großhändler nachfragen, meist im Kundenportal oder beim Außendienst. Frag gleich drei Dinge mit: Version, Zeichensatz und ob die Preise Listen- oder Nettopreise sind.
- Zeichensatz einstellen. CP850 oder ISO-8859-1 sind die Regel, UTF-8 bei neueren Exporten. In der Vorschau einen Artikel mit Umlaut ansehen — „Anschlußstück“ statt „Anschlu?stück“.
- Warengruppen auswählen. Lieber 4.000 Artikel aus deinen Gruppen als 400.000 aus allen. Die Suche im Angebot dankt es dir täglich.
- Rabatt und Aufschlag festlegen. Der Einkaufspreis kommt aus der Datei, der Verkaufspreis aus deiner Kalkulation. Definier den Aufschlag je Warengruppe, nicht je Artikel.
- Importieren und kontrollieren. Danach gezielt prüfen: ein Meterware-Artikel, ein Kleinteil aus einer Packung, ein Artikel mit Umlaut. Stimmen diese drei, stimmt in aller Regel der Rest.
- Bestehende Artikel aktualisieren oder nicht? Beim ersten Import egal, bei jedem weiteren die entscheidende Frage. Wer eigene Preise gepflegt hat, will sie nicht von der nächsten Lieferantendatei überschrieben bekommen.
In Buchl läuft genau dieser Ablauf mit Vorschau vor dem Speichern: Version und Satzarten werden erkannt, Zeichensatz und Aufschlag wählst du selbst, große Dateien werden in Blöcken verarbeitet. Eine reine Preisdatei erkennt der Import als solche und aktualisiert dann nur Preise, statt halbe Artikel anzulegen.
Datei-Spickzettel und Import-Checkliste
Welche Datei was enthält, welche Satzart wofür steht und die Checkliste für einen sauberen Import — auf einem Blatt zum Danebenlegen. Kostenlos, ohne Anmeldung.
Spickzettel öffnenDie typischen Stolperfallen
| Symptom | Ursache | Abhilfe |
|---|---|---|
| Umlaute als Fragezeichen oder Kästchen | falscher Zeichensatz — die Datei ist CP850 oder Latin-1, gelesen wurde UTF-8 | Zeichensatz beim Import umstellen und neu einlesen |
| Preise um Faktor 100 oder 1000 daneben | Preiseinheit/Bezugsmenge ignoriert | Meterware gegen die Preisliste prüfen, Import wiederholen |
| Alle Preise viel zu hoch | Listenpreise als Nettopreise übernommen — dein Händlerrabatt fehlt | Preiskennzeichen klären, Rabatt je Warengruppe hinterlegen |
| Neue Artikel tauchen nie auf | es wurde nur die Preisdatei eingespielt | einmal jährlich die Vollartikeldatei einlesen |
| Artikel ohne Bezeichnung, nur mit Nummer | Langtexte stehen in eigenen T-Sätzen oder in einer separaten Datei | alle Dateien der Lieferung gemeinsam einspielen |
| Warengruppen heißen nur „10“, „20“, „30“ | die Warengruppendatei fehlt | Warengruppendatei nachfordern und nachimportieren |
| Import bricht bei großer Datei ab | Datei zu groß für die Verarbeitung in einem Stück | in Blöcken importieren oder auf einzelne Warengruppen einschränken |
Preispflege, die nicht ausufert
Der häufigste Fehler ist nicht der misslungene erste Import, sondern der zweite, der nie kommt. Ein Rhythmus, der sich bewährt hat:
- Preisdatei einspielen, wenn der Großhändler eine Preisrunde ankündigt — bei den meisten Lieferanten ein- bis viermal im Jahr.
- Vollartikeldatei einmal jährlich, damit Neuheiten und ausgelaufene Artikel nachziehen.
- Aufschläge je Warengruppe hinterlegen statt je Artikel — sonst pflegst du bei jeder Preisrunde tausende Verkaufspreise von Hand.
- Eigene Sets und Standardleistungen getrennt halten. Deine „Steckdose tauschen inklusive Material“ ist deine Kalkulation und darf von keiner Lieferantendatei überschrieben werden.
- Nach jedem Import drei Stichproben. Das kostet zwei Minuten und hat schon manche Baustelle gerettet, die sonst mit einem Materialpreis von vorgestern kalkuliert worden wäre.
Kurz zusammengefasst
DATANORM ist Text mit Semikolon, BMEcat ist XML — beide bringen Artikel und Preise vom Großhandel in deinen Katalog. Die Vollartikeldatei legt an, die Preisdatei aktualisiert nur. Drei Fallen entscheiden über Erfolg oder Chaos: Zeichensatz, Preiseinheit und die Frage, ob die Preise Listen- oder Nettopreise sind. Alle drei klärst du in einem Telefonat mit dem Großhändler.