Preisreferenz (ab 1. Januar 2018)

Das Verzeichnis Lieferbarer Bücher (VLB) ist die allgemein gültige Referenzdatenbank für die gebundenen Ladenpreise aller lieferbaren deutschen Bücher. Das ist seit Juni 2011 in der Verkehrsordnung für den Buchhandel des Börsenvereins des Deutschen Buchhandels geregelt, die um eine entsprechende Bestimmung erweitert wurde.

Mit der Änderung der Verkehrsordnung sind die von den Verlagen im VLB angegebenen Preise die allgemein gültigen.

Mit dem Preisreferenzexport stellen wir Ihnen somit immer die Preise zur Verfügung, die nach den Regeln der Buchpreisbindung verbindlich sind.

Ergänzend zu den Erläuterungen zum Preisreferenz-Feed haben wir Ihnen einige Beispiele für die Bekanntmachung von Preisen bzw. Preisänderungen zusammengestellt.

Inhalt und Format

Preisangaben

Ein Datensatz ist Teil der VLB-Preisreferenz, wenn:

  • ein Titel neu an das VLB gemeldet wird (INSERT)
  • an einem lieferbaren oder vergriffenen Titel eine Preiskorrektur an den Währungen EUR-DE, EUR-AT oder CHF vorliegt (UPDATE)
  • ein Titel aus dem VLB gelöscht werden musste (DELETE).

Die in der Preisreferenz enthaltenen Preisreferenzangaben sind ausschließlich für

  • Deutschland (EUR-DE)
  • Österreich (EUR-AT)
  • Schweiz (CHF)

Enthaltene Preisarten (jeweils gebunden und ungebunden) sind:

  • Subskriptionspreise
  • Ladenpreise, bei denen es sich nicht um Subskriptionspreise handelt
  • Sonderpreise, wie z.B. reduzierte Preise mit zusätzlicher Abnahmeverpflichtung

Die konkreten Preistypen finden Sie in der Spezifikation der Felder.

Dateiaufbau

Die VLB-Preisreferenz wird im XML-Format im UTF-8 Zeichensatz bereitgestellt.

Die VLB-Preisreferenz teilt sich aufgrund unterschiedlicher Nachnutzungsszenarien, aber auch aufgrund seines Umfangs in die zwei nachfolgenden Teilbereiche auf:

  1. aktive Titel: Vorankündigungen, lieferbare Produkte etc.
  2. archivierte Titel: Vergriffen-Meldungen, vom Kauf zurückgezogen etc.

Da Händler teilweise nur Interesse an lieferbaren Produkten haben, stellt das VLB den Gesamtabzug sowie die Tagesupdates der VLB-Preisreferenz getrennt nach aktiven und archivierten Titeln zur Verfügung.

Feed Action Inhalt
aktiv INSERT
  • Erstmeldungen an das VLB: umfasst ausschließlich Vorankündigungen (noch nicht lieferbar) oder lieferbare Titel, da die Erstmeldung von archivierten Titeln an das VLB unzulässig ist
  • ein Titel, der mit Action DELETE gekennzeichnet war und anschließend erneut an das VLB gemeldet wird, entspricht einer Erstmeldung und wird somit erneut mit Action INSERT gekennzeichnet
UPDATE (Preisänderung)
  • Aktualisierungen aktiver Titel
  • Archivierungsmeldung: Änderung der Lieferbarkeit von aktiv zu archiviert (Titel ist nicht mehr verfügbar, vgl. betreffende ONIX-Codes)
  • Reaktivierung: Änderung der Lieferbarkeit von archiviert zu aktiv (Titel ist wieder verfügbar)
DELETE (Produktlöschung)
  • enthält alle Löschungen für aktive und inaktive Produkte
  • umfasst Titel, die aus dem VLB und der Plattform des Datenempfängers gelöscht werden müssen
archiviert UPDATE (Preisänderung)
  • Aktualisierungen archivierter Titel
  • Archivierungsmeldung: Änderung der Lieferbarkeit von aktiv zu archiviert (Titel ist nicht mehr verfügbar, vgl. betreffende ONIX-Codes)
  • Reaktivierung. Änderung der Lieferbarkeit von archiviert zu aktiv (Titel ist wieder verfügbar)
Ausrufezeichen_dunkelgrün_20Pix

Bitte beachten Sie:

  • Ab Januar 2018 werden Produkte mit dem Lieferbarkeitsstatus Cancelled (j396=01) mit der Action UPDATE gekennzeichnet.
  • Die Action DELETE kennzeichnet ausschließlich Produkte, die aus außerordentlichen Gründen (z.B. rechtlicher Natur) aus dem VLB entfernt werden müssen. Diese Titel dürfen anschließend auch nicht mehr in Plattformen von VLB-Datenabnehmern zur Anzeige gebracht werden.
  • Archivierungen und Reaktivierungen werden immer redundant im aktiven und archivierten Bestand gemeldet, damit Händler, die nur einen der beiden Bestände verarbeiten über die Zustandsänderung in Kenntnis gesetzt werden.

Informationen zu einzelnen Produkten bzw. Datensätzen sind jeweils in product-Elementen abgelegt. Sämtliche Datensätze sind im Root-Knoten (products) gekapselt.

<products>
  <product>...</product>
  <product>...</product>
  ...
</products>

Der einzelne Datensatz (product) ist in drei Bereiche unterteilt. Diese finden sich direkt auf der Elementebene unter dem product-Element.

  1. Elemente zu allgemeinen Titelinformationen, wie ausgeführte Aktion, ISBN-13, VLB Record ID, Datum der letzten Preiskorrektur
  2. Informationen zur Preisbindung EUR-DE und EUR-AT
  3. Preisangabe für D-A-CH-Preise eines Produktes
<product>
  <action>...<action>
  <isbn>...<isbn>
  ...
  <fixed_retailprice>...</fixed_retailprice>
  <last_price_mod>...</last_price_mod>
  <price>
    ...
    <tax_component>...</tax_component>
    ...
  </price>
</product>

Spezifikation der Felder

Element Kardinalität Beschreibung
products 1 Root-Knoten
.product 1..n einzelner Produkt-Datensatz
..action 1 Aktion, die auf dem Produkt ausgeführt wurde
  • INSERT (erster bekannter Preis für ein Produkt)
  • UPDATE (Preisänderung)
  • DELETE (Produktlöschung)
.isbn 0..1 ISBN-13
  • wird angezeigt, wenn eine ISBN-13 für das Produkt existiert
.ean 0..1 GTIN-13
  • wird angezeigt, wenn keine ISBN-13 für das Produkt existiert
.vlb_record 1 VLB-Record-ID
.is_digital 1 Produkt digital, abhängig von Produktform *TRUE *FALSE
..productform 1 Produktform, gemäß ONIX-Codeliste 7
..title 1 Produkttitel ohne Untertitel
..fixed_retailprice 1 allgemeine Informationen zur Preisbindung für EUR-DE und EUR-AT
.fixedprice_de 0..1 Produkt hat gebundenen Ladenpreis für EUR-DE
  • TRUE
  • FALSE
price_de_effective_until Datum der Ladenpreisaufhebung EUR-DE (existiert nicht für EUR-AT, da es in Österreich keine Ladenpreisaufhebung gibt)
.fixedprice_at 0..1 Produkt hat gebundenen Ladenpreis für EUR-AT
  • TRUE
  • FALSE
..last_price_mod 1 Datum der letzten Preiskorrektur.
..price 1..n enthält alle Informationen zu einer Preisangabe des Produktes
…market 1 Länderkennzeichen (nur für die D-A-CH Währungen)
  • DE
  • AT
  • CH
…pricetype 1 Preistyp
  • 10 gebundener Ladenpreis
  • 11 gebundener Subskriptionspreis // erfordert das price_effective_until-Tag
  • 20 unverbindliche Preis-Empfehlung
  • 21 unverbindlicher Subskriptionspreis
  • 31 gebundener Sonderpreis bei Abnahme des Gesamtwerks, mit zusätzlicher Information im pricetext, sofern vom Verlag gemeldet
  • 32 gebundener Mengenpreis erfordert das no_of_pieces-Tag
  • 33 gebundener Mitgliedspreis, mit zusätzlicher Information im pricetext, sofern vom Verlag gemeldet
  • 34 gebundener sonst. Sonderpreis, mit zusätzlicher Information im pricetext, sofern vom Verlag gemeldet
  • 41 unverbindlicher Sonderpreis bei Abnahme des Gesamtwerks, mit zusätzlicher Information im pricetext, sofern vom Verlag gemeldet
  • 42 unverbindlicher Mengenpreis // erfordert das no_of_pieces-Tag
  • 43 unverbindlicher Mitgliedspreis, mit zusätzlicher Information im pricetext, sofern vom Verlag gemeldet
  • 44 unverbindlicher sonst. Sonderpreis, mit zusätzlicher Information im pricetext, sofern vom Verlag gemeldet is_calculated
…no_of_pieces 0..1 Mindestbestellmenge
  • bei pricetype 32 und 42 > 1
…pricetext 0..1 Preistext (nur bei Sonderpreisen und wenn Verlag von Ust befreit ist)
…price_effective_from 0..1 gültig-ab-Datum (JJJJMMTT)
…price_effective_until 0..1 gültig-bis-Datum (JJJJMMTT)
…is_calculated 1 Preis wurde errechnet
  • TRUE
  • FALSE
…is_provisional 1 es liegt ein Ca.-Preis vor
  • TRUE
  • FALSE
…amount 1 Betrag (Brutto)
…currency 1 Währung
  • EUR
  • CHF
…tax_component 1..n Steuerinformationen, bei mehrteiligen Produkten (Bundle mit MwSt-Splitting) wird pro enthaltenes Teilprodukt ein tax_component-Knoten angegeben
….component_id_gtin 0..1
  • im Bundle: GTIN-13 des Teilproduktes
  • im Nicht-Bundle: ISBN-13 oder GTIN-13 des Produktes selbst
  • entweder Angabe der GTIN-13 oder der proprietären ID notwendig
….component_id_prop 0..1
  • im Bundle: proprietäre ID des Teilproduktes (tritt nur auf falls ein enthaltenes Teilprodukt keine GTIN besitzt)
  • entweder Angabe der GTIN-13 oder der proprietären ID notwendig
….component_title 1
  • im Bundle: Titel des Teilproduktes
  • im Nicht-Bundle: identisch mit Titel des Produktes
….component_productform 1
  • im Bundle: Produktform des Teilprodukts
  • in Nicht-Bundle: identisch mit Produktform des Produktes
….percent 1 MwSt Satz in Prozent
….type 1 Produkttyp
  • physisches Produkt=1
  • elektronische Dienstleistung=2
….share 1
  • im Bundle: Brutto-Preis des Teilproduktes
  • im Nicht-Bundle: identisch mit Betrag
….taxable_amount 0..1
  • im Bundle: Netto-Preis des Teilproduktes
  • im Nicht-Bundle: wird nicht angegeben
….tax_amount 0..1
  • im Bundle: Steuerbetrag des Teilproduktes
  • im Nicht-Bundle: wird nicht angegeben

Bereitstellung

Das VLB erzeugt zu jedem Quartal einen Preisrefenz-Export aller im VLB vorhandenen Produkte. Dieser wird immer am ersten Wochenende des Quartals erstellt. Ein Gesamtabzug dient der Erstbefüllung Ihrer Datenbank. Auch kann der Gesamtabzug genutzt werden, um ein Recovery in Ihrer Anwendung zu ermöglichen.

Täglich von Montag bis Sonntag (inkl. Feiertage) werden alle Neuzugänge, Updates und Löschungen in zusätzlichen Tagesupdates zur Verfügung gestellt. Nach Erstbefüllung Ihrer Datenbank ist es nur noch notwendig, die Tagesupdates einzuspielen. Da Tagesupdates unter Umständen sehr umfangreich sein können, bietet das VLB die Tagesexporte auch in gesplitteten Teilpaketen an. Wie Sie zwischen gesplitteten und vollständigen Feeds unterscheiden, entnehmen Sie bitte der Übersicht in der folgenden Tabelle.

Info-Icon_klein

Bitte beachten Sie:

  • Titel, die archiviert bzw. reaktiviert wurden, sind in den Tagesupdates für archivierte und aktive Titel enthalten.
  • Tagesupdates enthalten sämtliche eingegangenen Änderungen ab Erstellung des Tagesupdates vom Vortag und bis zur Erstellung des aktuellen Tagesupdates.

Die nachfolgende Tabelle zeigt, wo Sie die jeweiligen Daten-Feeds auf dem VLB-FTP-Server finden können. Wie Sie auf diesen zugreifen, erfahren Sie hier:

Nach der vollständigen Erstellung einer ZIP-Datei wird im zugehörigen FTP-Verzeichnis eine Kontrolldatei mit dem Namensmuster yyyymmdd.ok erzeugt. Diese Datei signalisiert, dass der Datentransfer abgeschlossen ist. Solange diese Kontrolldatei fehlt, ist von einem Download der ZIP-Datei abzusehen.

Aktive Titel

Feed Bereitstellung FTP-Ablage
Gesamtexport quartalsweise public/preisreferenz/initialbestand/UrladungPreisRef_yyymmdd.zip
  • PreisRefVollExp_nn.xml
Tagesupdate täglich public/preisreferenz/tagesexport/VLBPreisRef_yyymmdd.zip
  • yyyymmdd_PreisRef.xml
Tagesupdate, gesplittet täglich public/preisreferenz/tagesexport_split/VLBPreisRef_split_yyymmdd.zip
  • yyyymmdd_PreisRef_nn.xml

Archivierte Titel

Feed Bereitstellung FTP-Ablage
Gesamtexport quartalsweise public/preisreferenz_archiv/initialbestand_archiv/UrladungPreisRef_archiv_yyymmdd.zip
  • PreisRefVollExp_archiv_nn.xml
Tagesupdate täglich public/preisreferenz_archiv/tagesexport_archiv/VLBPreisRef_archiv_yyymmdd.zip
  • yyyymmdd_PreisRef_archiv.xml
Tagesupdate, gesplittet täglich public/preisreferenz_archiv/tagesexport_archiv_split/VLBPreisRef_archiv_split_yyymmdd.zip
  • yyyymmdd_PreisRef_archiv_nn.xml