DE · AT · CHAnleitung

Lieferantenpreislisten in Odoo pflegen

Aktualisiert:

Gilt für: Odoo 20.0, Apps Einkauf (Purchase) und Lager (Inventory); Community und Enterprise; Odoo Online, Odoo.sh und On-Premise

Kurz gesagt

Einkaufspreise und Lieferzeiten pflegen Sie in Odoo 20.0 je Produkt und Lieferant in der Lieferantenpreisliste, einzeln am Produkt oder gesammelt unter Einkauf ‣ Konfiguration ‣ Lieferantenpreislisten. Für ganze Listen exportieren Sie die Preiszeilen, füllen die Datei in Excel oder als CSV aus und importieren sie wieder. Die Spalte Externe ID entscheidet, ob Odoo eine Zeile ändert oder neu anlegt.

Das Wichtigste

  • Preiszeilen stehen je Produkt und Lieferant in der Lieferantenpreisliste; die App Einkauf gehört in Community wie Enterprise dazu.
  • Feld Menge ist die Mindestmenge für den hinterlegten Einzelpreis; mehrere Zeilen mit steigender Menge bilden abgestufte Preise.
  • Feld Vorlaufzeit zählt Kalendertage von der Bestätigung der Bestellung bis zum Wareneingang; die erwartete Ankunft ist Auftragsfrist plus Vorlaufzeit.
  • Der oberste Eintrag der Liste ist der Standardlieferant samt Vorlaufzeit; die Sequenz ordnet die Lieferanten.
  • Für den Import exportieren Sie die Liste zuerst, weil die Exportdatei die Spaltennamen und die vorhandenen Kennungen mitbringt.
  • Importe sind laut Dokumentation endgültig; ohne Externe ID legt Odoo je Import neue Zeilen an.

Odoo hält Einkaufspreise, Mengenstufen und Lieferzeiten je Lieferant an einer Stelle. Dieselben Felder pflegen Sie einzeln am Produkt oder gesammelt über Export und Import einer Liste.

Was Sie vorab brauchen

  • Die App Einkauf (Purchase) ist installiert. Sie ist laut Editionsvergleich von Odoo S.A. in Community und Enterprise enthalten.
  • Für Verpackungen als Einheit einer Preiszeile und für die Lagerführung kommt die App Lager (Inventory) dazu, ebenfalls in beiden Editionen.
  • Das Produkt ist einkaufsfähig: Kontrollkästchen Einkauf unter dem Produktnamen gesetzt, im Reiter Lager die Route Einkaufen aktiv. Dieser Reiter erscheint nur mit installierter App Lager.
  • Die Lieferanten stehen als Kontakte in der Datenbank.
  • Sie haben Einzelpreis, Mengenstufe und Vorlaufzeit je Lieferant schriftlich vorliegen.
  • Für den Importweg planen Sie eine Kopie der Datenbank zum Üben ein; die Dokumentation bezeichnet Importe als endgültig und nicht rückgängig zu machen.

Woraus eine Preiszeile besteht

Eine Lieferantenpreisliste (Vendor Pricelist) ist die Liste der Preiszeilen eines Produkts. Jede Zeile verbindet einen Lieferanten mit einem Einzelpreis, einer Mindestmenge und einer Vorlaufzeit. Odoo speichert jede Zeile als eigenen Datensatz. Deshalb pflegen Sie dieselbe Angabe an zwei Orten, im Reiter Einkauf des Produkts oder gesammelt unter Einkauf ‣ Konfiguration ‣ Lieferantenpreislisten, und dieselben Felder füllen auch das Importfile.

Angabe Feld Was sie steuert
Lieferant Lieferant (Vendor) Erforderliche Angabe; die Zeile gilt nur für diesen Lieferanten.
Menge Menge (Quantity) Mindestmenge, ab der der hinterlegte Einzelpreis gilt. Mehrere Zeilen mit steigender Menge ergeben abgestufte Preise.
Einkaufspreis Einzelpreis (Unit Price) Betrag, den Odoo in die Angebotsanfrage übernimmt, wenn Lieferant und Bestellmenge zur Zeile passen.
Lieferzeit Vorlaufzeit (Lead Time) Tage von der Bestätigung der Bestellung bis zum Wareneingang.
Reihenfolge Sequenz (Sequence) Ordnung der Lieferanten; der oberste Eintrag ist der Standardlieferant samt Vorlaufzeit.
Zusatzangaben Produktname des Lieferanten, Produktcode des Lieferanten, Rabatt (%) Daten des Lieferanten für Anfrage und Ausdruck; die Dokumentation nennt sie als zusätzliche Spalten.

Schritt für Schritt: Preise und Lieferzeiten pflegen

Schritt 1: Produkt einkaufsfähig machen

Öffnen Sie das Produkt unter Einkauf ‣ Produkte ‣ Produkte und setzen Sie das Kontrollkästchen Einkauf unter dem Produktnamen. Produktformulare erreichen Sie auch aus Lager, Verkauf und Fertigung. Legen Sie im Reiter Lager die Route Einkaufen an; für die Route brauchen Sie die App Lager, für die Anfrage die App Einkauf.

Ergebnis: Am Produkt steht der Reiter Einkauf mit der Lieferantenpreisliste.

Schritt 2: Preiszeile am Produkt anlegen

Öffnen Sie den Reiter Einkauf und klicken Sie auf Zeile hinzufügen. Tragen Sie Lieferant, Menge, Einzelpreis und Vorlaufzeit ein. Die Standardspalten sind Menge, Einzelpreis und Vorlaufzeit; weitere Spalten wie Produktcode des Lieferanten oder Rabatt (%) blenden Sie über das Symbol für zusätzliche Optionen rechts in der Kopfzeile der Liste ein.

Ergebnis: Der Lieferant steht mit Preis und Vorlaufzeit am Produkt. Odoo übernimmt den Preis einer Zeile nur in eine passende Angebotsanfrage: Die Zeile gilt für ihren Lieferanten, ihre Mindestmenge darf die Bestellmenge nicht übersteigen, und im Community-Zweig 20.0 muss das Bestelldatum innerhalb des Gültigkeitszeitraums einer Zeile liegen (Felder Start Date und End Date).

Schritt 3: Staffel und Reihenfolge setzen

Legen Sie je Preisstufe eine eigene Zeile an, etwa Menge 1 zum Listenpreis und Menge 20 zum günstigeren Preis desselben Lieferanten. Die Menge der Zeile ist laut Dokumentation die Mindestmenge, zu der der hinterlegte Einzelpreis gilt; eine Bestellung unterhalb dieser Menge erhält diesen Preis nicht. Bestellen Sie bei mehreren Lieferanten, ordnet die Sequenz die Liste, und der oberste Eintrag gilt als Standardlieferant samt Vorlaufzeit.

Ergebnis: Die Liste zeigt je Lieferant die Preisstufen in der gewünschten Reihenfolge.

Schritt 4: Vorlaufzeit pflegen

Die Vorlaufzeit steht in jeder Preiszeile und zählt Kalendertage von der Bestätigung der Bestellung bis zum Wareneingang. Nach der Dokumentation 20.0 berücksichtigen Vorlaufzeiten keine Wochenenden, Feiertage oder Werkstattkapazität. Aus Auftragsfrist und Vorlaufzeit errechnet die Anfrage die erwartete Ankunft (Expected Arrival). Die firmenweite Einstellung Tage bis Einkauf unter Lager ‣ Konfiguration ‣ Einstellungen, Abschnitt Erweiterte Planung, beschreibt die Dokumentation als Puffer im Prognosefenster der Beschaffung; sie ersetzt die Lieferzeit nicht.

Ergebnis: Die Anfrage zeigt Auftragsfrist und erwartete Ankunft; ihre Kette aus Anfrage, Bestellung und Wareneingang beschreibt Einkauf: von der Anfrage zur Bestellung.

Schritt 5: Liste für den Export öffnen

Wechseln Sie auf Einkauf ‣ Konfiguration ‣ Lieferantenpreislisten, markieren Sie die gewünschten Zeilen und wählen Sie Aktionen ‣ Exportieren. Im Dialog stehen links die verfügbaren Felder, rechts die zu exportierenden Felder; aus den verfügbaren Feldern nehmen Sie die Spalten auf, die Sie später füllen wollen. Wählen Sie als Format XLSX oder CSV und setzen Sie die Option für den importkompatiblen Export (die Seite Import vendor pricelist nennt das Kontrollkästchen I want to update data (import-compatible export), die Seite Export and import data den Schalter Updatable fields only). Nach der Seite Export and import data begrenzt diese Option die Liste der verfügbaren Felder auf die importierbaren und nimmt die Spalte Externe ID in den Export auf, auch wenn sie nicht unter den Exportfeldern steht; die Seite Import vendor pricelist beschreibt mit dem Kontrollkästchen das Nachschlagen der Externen ID und weist darauf hin, dass ein zusätzliches Anwählen von External ID aus den verfügbaren Feldern zu zwei Spalten mit der Externen ID führt. Prüfen Sie nach dem Export, ob die Spalte Externe ID vorhanden ist und je Zeile eine Kennung trägt. Mit eingeschaltetem Entwicklermodus trägt der Export zu jedem Spaltennamen den technischen Feldnamen in Klammern.

Ergebnis: Eine Datei mit Kopfzeile und einer Zeile je Preiszeile liegt zum Bearbeiten vor.

Schritt 6: Importvorlage ausfüllen

Die Dokumentation empfiehlt den Export als Vorlage, weil die Datei die richtigen Spaltennamen und die vorhandenen Zeilen mitbringt. Ihre Datei braucht eine Kopfzeile mit den Feldnamen; die Dokumentationsseite verlinkt dafür ein Beispiel als XLSX und als CSV. Diese acht Spalten decken den Regelfall ab:

Spaltenkopf Feld in Odoo Beispielwert
id Externe ID (External ID) Kennung aus Ihrem Export, sonst leer
company_id Unternehmen (Company) Muster Handel GmbH
partner_id Lieferant (Vendor) Nordkaffee GmbH
product_tmpl_id Produkt (Product Template) [KB-1000] Kaffeebohnen 1 kg
min_qty Menge (Quantity) 1
price Einzelpreis (Unit Price) 4.80
delay Vorlaufzeit (Lead Time) 5
sequence Sequenz (Sequence) 1

Beispiel für eine gefüllte Datei mit erfundenen Zahlen. Der Betrieb führt ein Produkt, bestellt bei zwei Lieferanten und hat bei einem davon eine Preistreppe ab 20 Stück:

id company_id partner_id product_tmpl_id min_qty price delay sequence
Muster Handel GmbH Nordkaffee GmbH [KB-1000] Kaffeebohnen 1 kg 1 4.80 5 1
Muster Handel GmbH Röstwerk Alpen AG [KB-1000] Kaffeebohnen 1 kg 1 4.55 9 2
Muster Handel GmbH Röstwerk Alpen AG [KB-1000] Kaffeebohnen 1 kg 20 4.20 9 2
product.product_supplierinfo_7 Muster Handel GmbH Nordkaffee GmbH [KB-1000] Kaffeebohnen 1 kg 1 4.85 5 1

Die drei Zeilen ohne id legen neue Einträge an; die vierte Zeile trägt eine Kennung und ändert damit einen vorhandenen Eintrag. Tragen Sie dort nur eine Kennung aus Ihrem eigenen Export ein; erfinden Sie sie nicht. Zwei Werte tragen den Bezug: In product_tmpl_id steht das Produkt so, wie Odoo es anzeigt, also Name und Referenz in Klammern; in partner_id steht der Name des Lieferanten. Wollen Sie einen Datensatz über seine Externe ID ansprechen, beschreibt die Importanleitung dafür die Spaltenform XXX/ID (XXX/External ID).

Zur Schreibweise der Zahlen: Die Spaltenköpfe tragen technische Feldnamen, für Preise genügt ein Wert wie 4.20, denn Odoo erkennt das verwendete Tausender- und Dezimaltrennzeichen selbst. Auch Währungssymbole sind möglich; negative Werte schreiben Sie in Klammern, und bei negativen Werten muss das Währungssymbol innerhalb der Klammer stehen, weil Odoo sonst keine Zahl erkennt.

Schritt 7: Datei importieren und testen

Bleiben Sie auf Einkauf ‣ Konfiguration ‣ Lieferantenpreislisten und öffnen Sie oben links über das Aktionssymbol den Eintrag Importieren (in der Dokumentation Import records). Laden Sie die Datei hoch, prüfen Sie im Dialog die Zuordnung von Dateispalte zu Odoo-Feld und lassen Sie die Datei mit Test prüfen, bevor Sie Importieren wählen. Bei einer CSV-Datei stellen Sie unter Formatierung das Trennzeichen ein; ein Tabulator als Trennzeichen wird nicht erkannt. Sagen Ihnen die Spaltennamen nichts, ordnen Sie jede Dateispalte im Dialog von Hand einem Odoo-Feld zu.

Ergebnis: Die Zeilen stehen in der Liste, und ein erneuter Blick auf die Anzahl zeigt, ob Odoo geändert oder ergänzt hat.

So prüfen Sie das Ergebnis

  1. Zählen Sie die Zeilen vor und nach dem Import. Eine unveränderte Zahl spricht für Änderungen, eine höhere für neue Einträge.
  2. Legen Sie eine Angebotsanfrage mit dem Produkt an und prüfen Sie, ob Lieferant, Einzelpreis und Lieferzeit aus der Preiszeile kommen. Die Anfrage zeigt zusätzlich Auftragsfrist und erwartete Ankunft.
  3. Prüfen Sie bei mehreren Lieferanten, welcher Eintrag oben steht: Er gilt laut Dokumentation als Standardlieferant samt Vorlaufzeit.
  4. Prüfen Sie eine Preisstufe mit einer Bestellmenge unterhalb der hinterlegten Menge; greift dort der Preis der höheren Stufe, ist die Staffel nicht passend gepflegt.
  5. Vergleichen Sie ein Produkt, das Sie von Hand gepflegt haben, mit der importierten Zeile. Beide Wege schreiben dieselben Felder, deshalb müssen Preis, Menge und Vorlaufzeit übereinstimmen.

Wenn etwas nicht klappt

Symptom Ursache nach Dokumentation 20.0 Abhilfe
Eine Zeile steht nach dem Import zweimal in der Liste Die Spalte mit der Externen ID fehlte; ohne sie legt der Import neue Einträge an Liste erneut exportieren, Spalte id auffüllen und neu importieren; die doppelte Zeile in der Liste löschen
Der Import bricht wegen eines Zahlenwerts ab Das Währungssymbol ist unbekannt oder steht bei einem negativen Wert außerhalb der Klammer Zahl ohne Symbol schreiben, negative Werte als (32000.00 €) statt $ (32.000,00)
Eine CSV-Datei erscheint als einzige Spalte Das Trennzeichen passt nicht; ein Tabulator wird nicht erkannt Datei in der Tabellenkalkulation kommagetrennt speichern und im Dialog unter Formatierung nachstellen
Der Importdialog erkennt einen Spaltenkopf nicht Der Dateispaltenname passt zu keinem Feld Spalte im Dialog unter Dateispalte einem Odoo-Feld zuordnen oder den Namen aus einem Export übernehmen
Die erwartete Ankunft weicht von Ihrer Planung ab Die Anfrage rechnet mit Auftragsfrist plus Vorlaufzeit des eingetragenen Lieferanten; Vorlaufzeiten sind Kalendertage Vorlaufzeit und Reihenfolge der Preiszeilen prüfen; Wochenenden selbst einrechnen
Die Anfrage zeigt einen anderen Preis Menge, Lieferant oder Reihenfolge der Zeilen passen nicht zur Bestellung Preiszeile prüfen und die Staffel mit der bestellten Menge abgleichen

Wann Sie Hilfe holen sollten

Üben Sie den Import in einer Kopie der Datenbank, bevor Sie Ihre Preise produktiv ändern: Die Dokumentation bezeichnet Importe als endgültig, und jede Zeile ohne Externe ID wird ein neuer Eintrag. Ziehen Sie eine Sicherung, wenn Sie zum ersten Mal mit Externen IDs arbeiten.

Holen Sie Ihre Odoo-Partnerin oder Ihren Odoo-Partner dazu, wenn Sie Preise regelmäßig aus einer Warenwirtschaft oder per Schnittstelle übernehmen wollen, wenn mehrere Firmen in einer Datenbank ihre eigenen Lieferantenpreise führen sollen oder wenn ein Lieferant in einer anderen Währung als Ihr Unternehmen abrechnet. Diese Fälle hängen an der Firmenzuordnung, an der Währung und an der Preisfindung; klären Sie sie vor dem ersten Import mit Ihrem Odoo-Partner. Für die Mengenstaffel, die Bestellmenge und die automatische Beschaffung führen die Artikel Mindestbestellmengen und Losgrößen und Nachbestellregeln weiter; die Vorbereitung der Stammdaten beschreibt Stammdaten für Odoo vorbereiten.

Häufige Fragen

Gilt eine Lieferantenpreisliste für mehrere Produkte?

Nein, in Odoo 20.0 gehört jede Zeile zu einer Produktvorlage. Dasselbe Produkt kann mehrere Lieferanten und je Lieferant mehrere Mengenstufen haben, jedes andere Produkt braucht eigene Zeilen. Für einen ganzen Katalog exportieren Sie deshalb die Zeilen aller Produkte und ergänzen darin die neuen Kombinationen.

Was passiert, wenn ich die Externe ID im Importfile leer lasse?

Odoo legt eine neue Zeile an. Aktualisieren Sie damit einen Preis, steht er danach zweimal in der Liste: Die Dokumentation 20.0 zeigt genau diesen Fall, in dem ein Lieferant wegen der fehlenden Externen ID doppelt erscheint. Für Änderungen exportieren Sie die Liste zuerst und lassen die Spalte id gefüllt.

Kann ich dieselben Zeilen auch für Kundenpreise nutzen?

Nein. In Odoo 20.0 füllen Preiszeilen mit Lieferant, Menge und Vorlaufzeit die Angebotsanfragen an Lieferanten. Preise für Kunden stehen in den Preislisten des Verkaufs, siehe [Preislisten in Odoo](/verkauf/odoo-preislisten/). Beide Listen sind getrennte Datensätze.

Rechnet Odoo mit Werktagen oder mit Kalendertagen?

Mit Kalendertagen. Die Vorlaufzeit des Lieferanten ist die Zahl der Tage von der Bestätigung der Bestellung bis zum Wareneingang; nach der Dokumentation 20.0 berücksichtigen Vorlaufzeiten keine Wochenenden, Feiertage oder Werkstattkapazität. Für eine Bestellung vor dem Wochenende rechnen Sie die Tage deshalb selbst nach.

Nutzt die automatische Nachbestellung diese Vorlaufzeit?

Ja. Nachbestellregeln rechnen mit der Vorlaufzeit des Lieferanten und dem Vorhersagetag; wie Sie Min, Max und Auslöser setzen, steht unter [Nachbestellregeln](/lager/odoo-nachbestellregeln/). Die firmenweite Einstellung Tage bis Einkauf kommt nur als Puffer im Prognosefenster hinzu.

Quellen

  1. Import vendor pricelist (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  2. Beispiel-Importdatei für Lieferantenpreise, pricelist-example.csv (von der Seite Import vendor pricelist verlinkt)Odoo S.A., Dokumentation · abgerufen am
  3. Requests for quotation (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  4. Lead times (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  5. Export and import data (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  6. Compare Editions: Odoo Community und Odoo Enterprise (Zeilen Lager und Einkauf)Odoo S.A. · abgerufen am
  7. Release Notes, Version 20 (veröffentlicht im September 2026)Odoo S.A. · abgerufen am
  8. Deutsche Übersetzungen der Module product, purchase, purchase_stock, stock, base_import und web, Branch 20.0 (Quelle der Oberflächennamen)Odoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  9. Modell product.supplierinfo, Branch 20.0 (Community-Quellcode; Feldbezeichnungen der Preiszeile)Odoo S.A., GitHub · abgerufen am
  10. Modell product.product, Branch 20.0 (Community-Quellcode; Auswahl der Preiszeile in _get_filtered_sellers und _select_seller)Odoo S.A., GitHub · abgerufen am