5.4. Beschreibung von Gegenständen

Der Elementtyp cac:ItemType wird verwendet um Gegenstände zu beschreiben. Dazu werden folgende Elemente verwendet:

Tabelle 3. cac:ItemType - Elemente

NameTyp/VorkommenBeschreibung
cbc:Descriptioncbc:TextType?Text, der den Artikel beschreibt
cbc:PackQuantitycbc:QuantityType?Verpackungseinheit
cbc:PackSizeNumericudt:NumericType?Anzahl in Verpackungseinheit
cac:BuyersItemIdentificationcbc:IdentifierType?Artikelkennzeichnung des Käufers
cac:SellersItemIdentificationcbc:IdentifierType?Artikelkennzeichnung des Verkäufers
cac:StandardItemIdentificationcbc:IdentifierType?Artikelkennzeichnung nach Standards, bevorzugt EAN.
cac:BasePricecac:BasePriceType*Basispreis(netto), mehrere Angaben möglich zur Darstellung von Staffelpreisen
cac:RecommendedRetailPricecac:BasePriceType?empfohlener Verkaufpreis(brutto)

Für velo..connect-konforme Implementierungen gelten folgende Regeln:

  1. Das Element cbc:Description ist mit einem Text zu füllen, der es einem sachkundigen Leser erlaubt, den Gegenstand zu erkennen, der beschrieben wird.
  2. Das Element cac:SellersItemIdentification enthält die Kennzeichnung des Gegenstands durch den Verkäufer und darf nicht leer sein.
  3. Das Element cac:BuyersItemIdentification kann die interne Kennzeichnung des Gegenstands durch den Verkäufer enthalten.
  4. Falls für den Gegenstand ein EAN-Code bekannt ist, ist dieser durch das Element cac:StandardItemIdentfication mitzuteilen. Das hat unabhängig davon zu geschehen, ob eine der beiden anderen Gegenstandskennzeichnungen schon ein EAN-Code ist.
  5. Falls Mengenangaben für den Gegenstand in der Einheit Paket verwendet werden, ist entweder im Element PackQuantity anzugeben, welche Menge einem Paket in einer anderen Einheit enspricht oder im Element PackSizeNumeric anzugeben aus wieviel Stück ein Paket besteht. Von diesen beiden Elementen darf höchstens eines verwendet werden. Insbesondere ist die Verwendung von

    <PackSizeNumeric>x</PackSizeNumeric>

    äquivalent zur Verwendung von

    <PackQuantity quantityUnitCode="EA">x</PackQuantity>.

    (Hierbei steht x für eine beliebige Zahl).

  6. Es ist mindestens ein cac:BasePrice-Element vorhanden.
  7. Die in den cac:BasePrice-Elementen angegebenen Preise sind immer Nettopreise und haben alle die gleiche Mengeneinheit.
  8. Falls die Einheit der cac:BasePrice-Elemente die Einheit Paket ist, so muss die Umrechnung in eine andere diskrete Einheit oder in eine physikalische Einheit im Element cbc:PackQuantity oder cbc:PackSizeNumeric angegeben werden.
  9. Die durch die cac:BasePrice-Elemente definierte Preisfunktion ist für alle Mengenangaben mit positiven Werten definiert, deren Einheit mit der Einheit der cac:BasePrice-Elemente vergleichbar ist.
  10. Der in RecommendedRetailPrice angegebene Preis ist ein Bruttopreis, es sei denn der Server teilt in seinem Veloconnect-Profil vermöge der Eigenschaft RecommendedRetailPrice.Netto mit, dass er hierfür Nettopreise verwendet. Ferner wird eine Mengeneinheit verwendet, die vergleichbar ist zur Einheit der BasePrice-Elemente.

Aus den bisherigen Forderungen ergibt sich, dass für einen Gegenstand stets mindestens eine Einheit explizit angegeben wird. Falls die Einheit Paket darunter ist, so ist auch die Umrechnung in eine andere diskrete Einheit oder eine physikalische Maßeinheit gegeben.

Welche Einheiten ein Verkäufer für seine Artikel verwendet, ist letztlich dessen Entscheidung und hängt auch davon ab, ob sein Warenwirtschaftssystem in der Lage ist, mit Einheiten umzugehen. Es ist also durchaus möglich, dass jeder Artikel als Stück betrachtet wird, obwohl eine andere Einheit angemessener wäre. Warenwirtschaftssysteme der Einzelhändler sind im allgemeinen in der Lage, mit dieser Situation umzugehen: der Benutzer muss letztlich pro Artikel einen Umrechnungsfaktor angeben, um die für den Verkauf verwendeten Einheiten mit den Einheiten für die Bestellung zu harmonisieren. Das ist natürlich eine Quelle von Fehlern und Mißverständnissen.

Es ist davon auszugehen, dass für die beteiligten sachkundigen Personen bei jedem Gegenstand klar ist, welches die korrekte Einheit ist. Die Beschreibung von Gegenständen durch Elemente vom Typ cac:ItemType ermöglicht es, diese Informationen explizit in einer Weise mitzuteilen, dass die maschinelle Umrechung von Einheiten ermöglicht wird. Dass diese Information nicht zur Verfügung gestellt wird, kann letztlich nur daran liegen, dass diese Informationen im Warenwirtschaftssystem nicht zur Verfügung stehen.

Regel: Benutzung von Einheiten. Daher muss ein velo..connect konformer Server genau eine der folgenden Forderungen erfüllen:

  1. Für alle Gegenstände werden die korrrekten Einheiten benützt, wobei es erlaubt ist, auf die Differenzierung in Stück, Paar und Set zu verzichten und als diskrete Einheiten nur die Einheiten Stück und Paket zu verwenden. Welche Einheit korrekt ist, ist nach den Katalogen und Unterlagen zu entscheiden, die den Kunden üblicherweise zur Verfügung stehen.
  2. Es wird für alle Artikel die Einheit Stück verwendet, und der Server teilt diese Einschränkung in seinem Veloconnect-Profil über die Eigenschaft quantityUnitCode.EA mit.

Hier noch zwei beliebte Beispiele aus der Fahrradbranche, um zu illustrieren, welchen Vorteil der korrekte Umgang mit Einheiten hat:

Der Hersteller verpackt Speichen in Kartons zu je 72 Stück und verkauft diese in diesen Einheiten. Der Einzelhändler kauft Speichen in diesen Einheiten ein und verkauft sie stückweise an den Endkunden. Der Großhändler verwendet also die Einheit Paket zur Mengenangabe und gibt z.B. mittels <PacksizeNumeric>72</PacksizeNumeric> bekannt, dass ein Paket 72 Stück entspricht. Unter diesen Voraussetzungen kann der Kunde 1440 Stück Speichen bestellen und erhält eine Auftragsbestätigung über 20 Pakete Speichen, ohne dass für diese "Korrektur" ein Eingriff durch Menschen erforderlich wäre. Das geht natürlich nicht, wenn die Information über die Packungsgröße bloß in der Artikelbeschreibung steht, und der Großhändler ein Paket von 72 Speichen in seinem Warenwirtschaftssystem als ein Stück behandelt.

Ein Großhändler verkauft Schaltseilzüge. Dieses Seil ist in Rollen zu je 30 Meter konfektioniert. Der Einzelhändler verarbeitet und verkauft das Seil nach Länge. Der Großhändler verwendet also für die Rolle Bremsseil die Einheit Paket und gibt mittels

<PackageQuantity quantityUnitCode="MTR">30</PackageQuantity>

bekannt, dass ein Paket einer Länge von 30 Metern entspricht. Unter diesen Voraussetzungen kann also der Einzelhändler 180 Meter Bremsseil bestellen und erhält eine Auftragsbestätigung über 6 Rollen Bremsseil, in der beispielsweise der Einkaufspreis als Preis pro Rolle und der empfohlene Verkaufspreis als Meterpreis angegeben ist.

Um Mißverständnissen vorzubeugen, ein weiteres Beispiel: Ein Großhändler verkauft Bremszüge. Diese sind an einem Ende mit einem Nippel versehen und sind in Längen von 2 Metern und 4 Metern zu haben. Diese Bremszüge werden in Paketen zu je 50 Stück verkauft. Die Längenangabe von 2 bzw. 4 Metern sollte nicht zu dem Schluß verleiten, dass es sich bei dem Paket um eine Menge von 100 bzw. 200 Metern handelt! Ein Paket sind und bleiben 50 Stück, die Länge ist ein Merkmal des Artikels und wird im allgemeinen dadurch erfasst, dass zur Unterscheidung verschiedene Artikelnummern verwendet werden.

In der Praxis gibt es Online-Bestellschnittstellen, die folgendes fertigbringen: Eine Zeile einer Auftragsbestätigung enthält im wesentlichen die bestellte Anzahl (als Zahl), die Artikelnummer und einen Einzelpreis (auch nur als Zahl). Es kann vorkommen, dass der betreffende Artikel ein Paket aus 100 Stück ist, die Menge die Anzahl der Pakete angibt und der Einzelpreis tatsächlich der Preis eines Stücks und nicht der Preis eines Pakets ist. Für andere Paketartikel wiederum ist der Einzelpreis tatsächlich der Preis eines Pakets. Offensichtlich ist das unbrauchbar, es wird einfach zu wenig Information übertragen bzw. die Implementierung der Schnittstelle ist nicht in der Lage, die fehlenden Informationen dadurch zu ersetzen, dass sie eine allgemeine Regel einhält, wie z.B. dass der Einzelpreis sich immer auf die gleiche Menge bezieht wie die Anzahl.