PurchaseOrderModification
Funktion
Diese Nachricht ändert eine Bestellung ab. Solange die Bestellung noch nicht im Status "Auftrag bestätigt" ist, kann die komplette Bestellung bearbeitet werden. Danach können nur noch Dateien angehängt und Kommentare erstellt werden.
Beispiele
Nachrichtentyp | Format | Version | Link |
---|---|---|---|
PurchaseOrderModification | CSV | 22 | PurchaseOrderModification1126.msg |
PurchaseOrderModification | XML | 22 | PurchaseOrderModification1107.xml |
Beschreibung
Nachrichtenkopf
Der Kopf einer Nachricht setzt sich immer aus folgenden Feldern zusammen:
# | Feld | XML-Attribut | Muß/ | Format | max. Länge | Beschreibung |
---|---|---|---|---|---|---|
1 | Nachrichtentyp | Type | M | alph | 30 | Kennung/Bezeichnung des Typs der Nachricht. Die einzelnen Typen werden im Folgenden vorgestellt. |
2 | Version des Typs | Version | M | int | Kennung der Version des Nachrichtentyps bzw. des Formats | |
3 | Datum & Uhrzeit | Date | M | dt | Datum und Uhrzeit der Erstellung der Nachricht | |
4 | Sender | SenderId | M | alph | 50 | Kennung des Senders |
5 | Empfänger | ReceiverId | M | alph | 50 | Kennung des Empfängers |
6 | Kennung der Transaktion | TransactionId | K | alph | 32 | siehe folgender Abschnitt „Transaktionen". |
7 | Kennung der Nachricht | MessageId | M | alph | 32 | Fortlaufende Nummer um die Nachricht eindeutig zu identizieren. |
8 | Sequenznummer des Senders der Nachricht | SequenceNrSender | K | int | Fortlaufende Zahl, die sicherstellt, dass ankommende Nachrichten in der richtigen Reihenfolge abgearbeitet werden | |
9 | Sequenznummer des Empfängers der Nachricht | SequenceNrReceiver | K | int | Fortlaufende Zahl, die sicherstellt, dass ankommende Nachrichten in der richtigen Reihenfolge abgearbeitet werden | |
10 | Timeout | Timeout | K | int | Zeit in Minuten, in der der Sender eine Antwort erwartet. Kein Timeout (unendliches Warten) wird durch den Wert 0 (null) ausgedrückt. | |
11 | Nachrichtenlänge | NumberOfLines | M | int | 10 | Anzahl der Zeilen der Nachricht , inkl. Der ersten Zeile. Dieser Wert dient zur Überprüfung, ob die Nachricht komplett übertragen wurde. |
Mit der Version 2.2 der Schnittstelle wird das Feld „Version" genutzt. Alle bisherigen Schnittstellenversionen hatten hier den Wert „1". Ab der aktuellen Version wird der Wert mit jeder Version hochgezählt. Alle Satzarten und Felder die aktuell keine Versionsangabe besitzen, müssen unterstützt werden. Alle Felder und Satzarten die eine Angabe besitzen, müssen erst ab der angegebenen Version unterstützt werden.
Die Werte für die Felder „Kennung des Senders" und „Kennung des Empfängers" müssen im Vorfeld festgelegt werden. Durch sie werden konkrete Instanzen eines ordermanager und einer Warenwirtschaft eindeutig identifizert.
Die „Kennung der Nachricht" sollte, wenn möglich, mit einer fortlaufenden Nummern gefüllt werden. Wird auf das Transaktionsprotokoll verzichtet, so müssen die Felder „Kennung der Transaktion" sowie beide Sequenznrn Felder leer bleiben. Ab der Version 2.4 wird der Einsatz des Transaktionsprotokolls nicht mehr empfohlen.
Diese Satzart enthält Informationen, um die Bestellung, zu der die Nachricht gehört, eindeutig zu identifizieren.
# | Feld | XML Attribut | Muß/ | Format | max. Länge | Beschreibung |
---|---|---|---|---|---|---|
1 | Id | Id | M/K*1 | alph | 30 | ordermanager–interne Id der Bestellung |
2 | Auftragsnr. | VendorOrderCode | M/K | alph | 30 | Wawi-interne Auftragsnummer |
Die Wawi-interne Auftragsnummer muss in der ersten Rückmeldung der Warenwirtschaft an ordermanager nach der Meldung „PurchaseOrderSubmit" übermittelt werden und ist ab dann zusammen mit der ordermanager-internen Id in jeder Nachricht enthalten.
*1 Angabe ist nicht erforderlich bei Nachrichten vom Typ „PurchaseOrderCreate".
# | Feld | XML Attribut | Muß/ | Format | max. Länge | Beschreibung | Version |
---|---|---|---|---|---|---|---|
1 | Erstelldatum | CreateDate | M | date | Datum der Erzeugung der Bestellung. | ||
2 | Freigabedatum | ApproveDate | K | date | Datum, an dem die Bestellung den Kunden-internen Freigabeprozess durchlaufen hat | ||
3 | Kundennr. | CustomerId | M | alph | 30 | Wawi-interne Nummer des Kunden | |
4 | Bestellnr. Des Kunden | CustomersOrderCode | K | alph | 100 | Nummer/Kennung, die der Kunde ggf. für die Bestellung vergeben hat | |
5 | Lieferdatum | DeliveryDate | K | date | bei PurchaseOrderSubmit: bei PurchaseOrderAccept: | ||
6 | Lieferdatum bis | DeliveryDateUntil | K | date | Endedatum eines möglichen Lieferzeitraums | 2 | |
7 | Währung | Currency | M | alph | 3 | Kurzzeichen für Währung der Bestellung nach ISO-4217:1995; zunächst immer „EUR" | |
8 | Prozessstatus | ProcessState | K | int | 32bit | ordermanager–interne Kennung für den Zustand, in dem sich die Bestellung befindet | |
9 | Status | State | K | alph | 20 | Kennung für das Ergebnis einer Anfrage oder den Zustand des Auftrags aus Sicht der Wawi | |
10 | Flags | Flags | K | int | 32bit | Defaultwert: 0 | |
11 | Kommentar | Comment | K | alph | 500 | Kommentar vom Kunden für den Händler | |
12 | Bearbeiter | Editor | K | alph | 100 | Besteller auf Seiten des Kunden | |
13 | Teillieferung | PartialDelivery | K | Bool | Gibt an ob Teillieferung gewünscht ist | 2 | |
14 | Lieferdatum-hinweis | DeliveryDateHint | K | Alph | 100 | Gibt an, wie das angegebene Lieferdatum zu verstehen ist z.b. „Lieferung bis", „Fixtermin", etc. Hier kann aber auch Lieferroute übergeben werden. | 2 |
15 | Fälligkeitsdatum | Executiondate | K | Date | Gibt an, wann die Zahlung fällig ist. | 2 | |
16 | Bezahlverfahren | PaymentMethod | K | Alph | 50 | Gibt die Hauptmethode an, wie der Kunde bezahlen möchte bzw, bereits bezahlt hat. Ist dies Feld leer wird Rechnung angenommen. Siehe Liste der möglichen Bezahlverfahren unten. | 2 |
17 | Netto-Betrag | TotalNet | K | dez | Netto-Betrag der Rechnung | 3 | |
18 | MwSt-Betrag | TotalVatAmount | K | dez | Betrag der Mehrwertsteuer | 3 | |
19 | Brutto-Betrag | TotalGross | K | Dez | Brutto Gesamtsumme der Bestellung inklusive Mwst. | 3 | |
20 | Versandart | ShippingMethod | K | alph | 100 | Externe Nummer der Versandart | 7 |
21 | Budgetzeitraum Beginn | BudgetPeriodDateFrom | K | Date | bei PurchaseOrderSubmit: Budgetzeitraum bei budgetierten Bestellungen | 20 | |
22 | Budgetzeitraum Ende | BudgetPeriodDateUntil | K | Date | bei PurchaseOrderSubmit: Budgetzeitraum bei budgetierten Bestellungen | 20 | |
23 | Budgetzeitraum Beschreibung | BudgetPeriodDescription | K | alph | 100 | bei PurchaseOrderSubmit: Budgetzeitraum bei budgetierten Bestellungen | 20 |
Liste der STANDARD Bezahlverfahren: | |
invoice | Rechnung (Standard wenn nicht angegeben) |
debitentrymanually | Manuelle Lastschrift durch Händler |
debitentry | Elektronische Lastschrift direkt per Online-Dienstleister |
creditcard | Kreditkarte |
paypal | PayPal |
banktransfer | Manuelle Überweisung durch den Kunden |
banktransferonline | Online Überweisung direkt per Online-Dienstleister |
Weitere Bezahlverfahren können individuell definiert werden. Da das Feld Bezahlverfahren auch in anderen Nachrichtentypen außer PurchaseOrderSubmit vorkommt, kann dieses Feld in diesen Nachrichtentypen ignoriert werden.
In der Satzart Zuständiger Händler wird die Nummer des Händlers, an den sich die Bestellung richtet, übermittelt. Diese Information ist nur dann relevant, wenn eine Instanz einer Warenwirtschaft mehrere Händler (z.B. mehrere Filialen) abdeckt. Dadurch kann diese Satzart in der Regel ignoriert werden. Die Weiterleitung einer Nachricht an die richtige Warenwirtschaft kann außerdem auch über die Felder Sender und Empfänger im Kopf der Nachricht erreicht werden.
# | Feld | XML-Attribut | Muß/ | Format | max. Länge | Beschreibung |
---|---|---|---|---|---|---|
1 | Id | Id | M | alph | 30 | ordermanager -interne Kennung des Händlers, der für die Bearbeitung der Bestellung zuständig ist. |
# | Feld | XML Attribut | Muß/ | Format | max. Länge | Beschreibung | Version |
---|---|---|---|---|---|---|---|
1 | Id | Id | M | alph | 30 | ordermanager–interne Id der Adresse | |
2 | Firmenname | Name | M | alph | 200 | Anschrift Firmenname | |
3 | Zusatz | Description | K | alph | 100 | Anschrift Firmenname Zusatz | |
4 | Straße | Street | K | alph | 100 | ||
5 | PLZ | PostalCode | K | alph | 20 | ||
6 | Ort | City | K | alph | 100 | ||
7 | PLZ Postfach | PostalCodePOBox | K | alph | 20 | ||
8 | Postfach | POBox | K | alph | 20 | ||
9 | Land | Country | K | alph | 6 | Ländercode nach ISO 3166-1:1997 („DE" für Dtl.) | |
10 | Telefon | Phone | K | alph | 100 | ||
11 | Fax | Fax | K | alph | 100 | ||
12 | Mobiltelefon | Mobile | K | alph | 100 | ||
13 | K | alph | 200 | ||||
14 | Web | Web | K | alph | 200 | ||
15 | Ansprechpartner | Contact | K | alph | 100 | ||
16 | Kommentar | Comment | K | alph | 200 | ||
17 | ILN | ILN | K | EAN | 13 | Internation Location Number | |
18 | Zusatz 2 | Additional2 | K | string | 200 | Enthält den Zusatz 2 der Adresse | 5 |
19 | Hausnummer | StreetNo | K | string | 10 | 5 | |
20 | Umsatzsteuer-Id | VatRegistrationNo | K | string | 35 | 12 |
Die ID der Lieferadresse ist speziell bei der Nachricht „PurchaseOrderCreate" besonders wichtig. Mittels der ID wird das Objekt/Kostenstelle angegeben, zu dem der erstellte Auftrag zugewiesen werden soll. Wird der Auftrag zu einer neuen Lieferadresse, die noch nicht im ordermanager besteht, erstellt so muss in das Feld für die ID der Lieferadresse eine „0" eingetragen werden.
# | Feld | XML Attribut | Muß/ | Format | max. Länge | Beschreibung | Version |
---|---|---|---|---|---|---|---|
1 | Id | Id | M | alph | 30 | ordermanager–interne Id der Adresse | |
2 | Firmenname | Name | M | alph | 200 | Anschrift Firmenname | |
3 | Zusatz | Description | K | alph | 100 | Anschrift Firmenname Zusatz | |
4 | Straße | Street | K | alph | 100 | ||
5 | PLZ | PostalCode | K | alph | 20 | ||
6 | Ort | City | K | alph | 100 | ||
7 | PLZ Postfach | PostalCodePOBox | K | alph | 20 | ||
8 | Postfach | POBox | K | alph | 20 | ||
9 | Land | Country | K | alph | 6 | Ländercode nach ISO 3166-1:1997 („DE" für Dtl.) | |
10 | Telefon | Phone | K | alph | 100 | ||
11 | Fax | Fax | K | alph | 100 | ||
12 | Mobiltelefon | Mobile | K | alph | 100 | ||
13 | K | alph | 200 | ||||
14 | Web | Web | K | alph | 200 | ||
15 | Ansprechpartner | Contact | K | alph | 100 | ||
16 | Kommentar | Comment | K | alph | 200 | ||
17 | ILN | ILN | K | EAN | 13 | Internation Location Number | |
18 | Zusatz 2 | Additional2 | K | string | 200 | Enthält den Zusatz 2 der Adresse | 5 |
19 | Hausnummer | StreetNo | K | string | 10 | 5 | |
20 | Umsatzsteuer-Id | VatRegistrationNo | K | string | 35 | 12 |
Die ID der Lieferadresse ist speziell bei der Nachricht „PurchaseOrderCreate" besonders wichtig. Mittels der ID wird das Objekt/Kostenstelle angegeben, zu dem der erstellte Auftrag zugewiesen werden soll. Wird der Auftrag zu einer neuen Lieferadresse, die noch nicht im ordermanager besteht, erstellt so muss in das Feld für die ID der Lieferadresse eine „0" eingetragen werden.
Positionsdatensätze enthalten die zu bestellenden Artikel. In der Regel enthält eine Position durch die Artikelnummer einen Verweis auf einen Artikel im Artikelstamm (Artikelposition), der dadurch bestellt wird. Artikelpositionen können vom Kunden um Anmerkungen ergänzt werden. Wenn in einer Position der Bezug zu einem Artikel fehlt, handelt es sich um eine Frei- oder Textposition, die nur einen vom Kunden angegeben freien Text enthält. Textpositionen enthalten keine Angaben zu Preisen oder Mehrwertsteuer, aber eine Menge.
# | Feld | XML Attribut | Muß/ | Format | max. Länge | Beschreibung | Version |
---|---|---|---|---|---|---|---|
1 | Positionsnr. | LineNumber | M | int | laufende Nummer der Bestellposition beginnend bei 1 | ||
2 | Positionskennung | LineIdentifier | M | int | eindeutige Kennung der Position im ordermanager. Ist die Positionskennung nicht bekannt, so muss "0" eingetragen werden. | ||
3 | Artikelnr. | ArticleId | K | alph | 30 | Wawi-interne Artikelnummer, wenn nicht angegeben, handelt es sich um eine Freiposition | |
4 | EAN | EAN | K | EAN | EAN des Artikels | ||
5 | Artikelbezeichnung | ArticleName | K | alph | 200 | Bezeichnung des Artikels in der Wawi oder im ordermanager | |
6 | Text | Text | K | alph | 200 | Ergänzender Text zur einer Artikelposition bzw. Zusatztext wenn Freiposition | |
7 | Menge | Quantity | M | dez | Menge | ||
8 | Einheit | Unit | M/K*1 | alph | 100 | Einheit, auf die sich die Mengenangabe bezieht | |
9 | Netto-Preis | PriceNetPerUnit | M/K*1 | dez | Netto-Preis einer Mengeneinheit der Bestellposition. Insbesondere bei Rückmeldungen an ordermanager auszufüllen | ||
10 | Netto-Zeilensumme | LineTotalNet | M/K*1 | dez | Summe der Bestellposition inkl. aller Abzüge und Zuschläge | ||
11 | MwSt-Satz | VatPercent | M/K*1 | dez | in Prozent (z.B. „19.00") | ||
12 | MwSt-Betrag | VatAmount | M/K*1 | dez | berechneter Betrag der Mehrwertsteuer | ||
13 | Lieferdatum | DeliveryDate | K | date | Für PurchaseOrderSubmit, PurchaseOrderResubmit, PurchaseOrderModification, PurchaseOrderCreate: PurchaseOrderAccept: | ||
14 | Lieferdatum bis | DeliveryDateUntil | K | date | wird nur in PurchaseOrderAccept berücksichtigt. Endedatum eines möglichen disponierten Lieferzeitraums. | 2 | |
15 | Status | Status | K | int | 32bit | Status-/Ergebniswert, der insbes. den Ausgang einer Anfrage wiedergibt. | |
16 | Unece Einheit | UneceUnit | K | alph | 3 | Einheit, auf die sich die Mengenangabe bezieht, als Unece-Code | 2 |
17 | Unece Einheit Menge | UneceUnitQuantity | K | dez | Anzahl der Unece Einheiten, auf die sich die Mengenangabe bezieht | 2 | |
18 | Brutto-Einzelpreis | PriceGrossPerUnit | K | Dez | Brutto-Preis einer Mengeneinheit, Preis inklusive Mwst | 3 | |
19 | Brutto-Zeilensumme | LineTotalGross | K | Dez | Brutto-Zeilensumme der Bestellposition, Preis inklusive Mwst | 3 | |
20 | Zeilenrabatt | RebatePercent | K | Dez | Zeilenrabatt | 5 | |
21 | Lieferinformation | DeliveryComment | K | alph | 500 | Kommentar mit Lieferinformationen wird in die Bestellung übertragen und auf der Bestelldetailseite angezeigt | 17 |
22 | Warenkorbgruppe | CartGroupName | K | alph | 200 | Name der Warenkorbgruppe | 18 |
Es kann Positionen geben, die keine Artikelnummer, sondern nur im Feld Text eine Beschreibung der bestellten Leistung enthalten (Text-/Freiposition).
Wenn eine Bestellposition eine Artikelnummer enthält, die in der Warenwirtschaft nicht gefunden wird, dann sollte die Position dennoch zumindest als Position ohne Artikel angelegt werden (diverse Artikelnummer o.ä.), um zu vermeiden, dass Informationen verloren gehen.
Die Positionskennung wird beim Anlegen der Bestellung im ordermanager erzeugt und bei allen Nachrichten an die Warenwirtschaft mit übermittelt. Die Warenwirtschaft muss diese ID mitführen und bei allen Nachrichten zurückliefern (z.B. PurchaseOrderModification). Bei der PurchaseOrderCreate-Nachricht muss dieses Feld eine „0" enthalten.
*1 Angabe ist nicht erforderlich, wenn es sich um eine Freiposition in einer Nachricht vom Typ „PurchaseOrderSubmit" oder „PurchaseOrderResubmit" handelt.
Die Satzart Fußzeile enthält Angaben zu Zu- und Abschlägen, die sich auf den Netto-Gesamtbetrag der Bestellung beziehen.
# | Feld | XML Attribut | Muß/ | Format | max. Länge | Beschreibung | Version |
---|---|---|---|---|---|---|---|
1 | Typ | Type | M | alph | 30 | Gibt an, um welche Art von Zu-/Abschlag es sich in dieser Zeile handelt: | |
2 | Beschreibung | Text | K | alph | 1000 | Beschreibender Text zur Zeile. Kann ggf. die Berechnungsgrundlage für den Zu-/Abschlag enthalten | |
3 | Prozent | Percent | K | dez |
| Auf-/Abschlag in Prozent relativ zur Netto-Summe der Positionswerte | |
4 | Netto-Betrag | AmountNet | K | dez |
| Auf-/Abschlag auf die Summe der Positionswerte | |
5 | Netto-Zeilensumme | LineTotalNet | M | dez |
| Netto-Gesamt-Betrag der Zeile. Bei Wert im Feld Netto-Betrag gleich diesem Wert, sonst der berechnte Wert der Prozentangabe. | |
6 | MwSt-Satz | VatPercent | M | dez |
| in Prozent (z.B. „19.00") | |
7 | MwSt-Betrag | VatAmount | M | dez |
| berechneter Betrag der Mehrwertsteuer. | |
8 | Brutto-Zeilensumme | LineTotalGross | K | Dez |
| Brutto-Zeilensumme der Bestellposition, Preis inklusive Mwst | 3 |
9 | Externe ID | ExternalId | K | alph | 254 | z.B. WaWi Artikelnummer für Frachtpositionen | 10 |
Die Zu-/Abschläge können entweder als Prozentwert vom Netto-Gesamtbetrag oder als fixer Netto-Betrag angegeben werden. Damit darf nur entweder das Feld Prozent oder das Feld Netto-Betrag ausgefüllt werden, aber nicht beide gleichzeitig.
Die Betragsangaben bei Abschlägen, wie z.B. Rabatt, sollten mit negativem Vorzeichen angegeben werden, da sie von dem Gesamtbetrag der Bestellung abgezogen werden müssen.
# | Feld | XML Attribut | Muß/ | Format | max. Länge | Beschreibung |
---|---|---|---|---|---|---|
1 | Bearbeiter | Editor | M | alph | 100 | Der Bearbeiter, der den Kommentar erfasst hat |
2 | Datum/Uhrzeit | Date | M | dt |
| Der Zeitpunkt, an dem der Kommentar erfasst worden ist |
3 | Kommentar | Text | M | alph | 200 | Kommentar |
In Kommentaren, die von der Warenwirtschaft an den ordermanager übertragen werden, kann als Bearbeiter auch die Benutzerkennung oder –nummer eingetragen werden, die der Sachbearbeiter beim Händler zur Anmeldung an der Warenwirtschaft verwendet. Dazu müssen aber in der Benutzerverwaltung des ordermanager die dazugehörigen Benutzer angelegt sein und diese Kennungen oder Nummern in dem dafür vorgesehenen Feld hinterlegt
Referenz auf einen Anhang zu einem Beleg.
Der Anhang selbst wird über einen Http-Endpoint (/api/v1/attachments) in den ordermanager hochgeladen. Die dabei erzeugte "upload_id" wird hier als Referenz übermittelt. siehe dazu Dokumentation Upload Dateien zu Belegen
Die Satzart wird innerhalb der Belegnachrichten verwendet, um die Verknüpfung zwischen dem bereits hochgeladenen Anhang und dem Beleg herzustellen.
# | Feld | XML Attribut | Muß / Kann | Format | max. Länge | Beschreibung |
---|---|---|---|---|---|---|
1 | Upload-ID | UploadId | M | alph | 50 | upload_id aus Rückgabewert von Http-Endpoint /api/v1/attachments |
2 | Dateiname | Filename | M | alph | 255 | Dateiname des Anhanges. |