<?xml version="1.0" encoding="UTF-8"?>
<!--
    © 2026 Integrated Worlds GmbH www.integrated-worlds.com
    All rights reserved.

    Nutzungs- und Zweckbindungseinschränkung
    Dieses Schnittstellenformat und die dazugehörige Dokumentation sind urheberrechtlich geschützte Spezifikationen der Integrated Worlds GmbH.
    Ausschließlicher Nutzungszweck: Die Verwendung dieses Formats sowie der darauf basierenden Schemata ist ausschließlich für den elektronischen Datenaustausch mit Systemen der Integrated Worlds gestattet.
    Verbot der Zweckentfremdung: Es ist ausdrücklich untersagt, dieses Spezifikationsformat für den Datenaustausch zwischen Drittparteien oder zur Anbindung externer Softwarelösungen ohne Beteiligung unserer Systeme zu nutzen.
    Vertragliche Konsequenzen: Eine unautorisierte Verwendung stellt eine Verletzung unserer Nutzungsbedingungen bzw. Urheberrechte dar und kann zu rechtlichen Schritten führen.

    Usage and Purpose Restriction
    This interface format and its accompanying documentation are copyright-protected specifications of Integrated Worlds GmbH.
    Exclusive purpose: Use of this format and the schemas based on it is permitted solely for electronic data interchange with Integrated Worlds systems.
    Prohibition of misuse: It is expressly prohibited to use this specification format for data interchange between third parties, or to connect external software solutions, without the involvement of our systems.
    Contractual consequences: Unauthorized use constitutes a breach of our terms of use and/or copyright and may result in legal action.
-->
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.4">
    <xs:include schemaLocation="Include%20Segments%20Einrichten%20V-1-4.xsd"/>
    <xs:complexType name="InvrptHead">
        <xs:annotation>
            <xs:documentation xml:lang="de">Kopf des Belegs Lagerbestandsbericht (INVRPT), DocumentFunctionSymbol auf die für Lagerbestandsbericht (INVRPT) gültigen Codes (9) eingeschränkt.</xs:documentation>
            <xs:documentation xml:lang="en">Head of the inventory report (INVRPT) document, DocumentFunctionSymbol restricted to the codes valid for inventory report (INVRPT) (9).</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:restriction base="DocumentHead">
                <xs:sequence>
                    <xs:group ref="DefaultDocumentHeadFields"/>
                </xs:sequence>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="InvrptMessage">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                <dl>
                    <dt>Beginn einer Übertragungsdatei</dt>
                    <dt>Die in den Beschreibungen aufgezählten Werte für variable Qualifier sind Beispiele der am häufigsten genutzten Werte.</dt>
                    <dt>Die ist keine Vollständigkeitsliste. Abweichende Qualifier sind möglich und bilateral vereinbar</dt>
                </dl>
            </xs:documentation>
            <xs:documentation xml:lang="en">
                <dl>
                    <dt>Start of a transfer file</dt>
                    <dt>The values listed in the descriptions for variable qualifiers are examples of the most frequently used values.</dt>
                    <dt>This is not an exhaustive list. Alternative qualifiers are possible and can be agreed upon bilaterally.</dt>
                </dl>
            </xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="INVRPT" minOccurs="1" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">Kopfteil des Lagerbestandsberichts(INVRPT)</xs:documentation>
                        <xs:documentation xml:lang="en">Header section of the inventory report (INVRPT)</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="HEAD" minOccurs="1" maxOccurs="1">
                                <xs:annotation>
                                    <xs:documentation xml:lang="de">Kopfteil des Lagerbestandsberichts</xs:documentation>
                                    <xs:documentation xml:lang="en">Header section of the inventory report</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:complexContent>
                                        <xs:extension base="InvrptHead">
                                            <xs:sequence>
                                                <xs:element name="NAD" type="NAD" minOccurs="1" maxOccurs="unbounded">
                                                    <xs:annotation>
                                                        <xs:documentation xml:lang="de">Informationen zu den beteiligten Parteien</xs:documentation>
                                                        <xs:documentation xml:lang="en">Information on the parties involved</xs:documentation>
                                                    </xs:annotation>
                                                </xs:element>
                                            </xs:sequence>
                                        </xs:extension>
                                    </xs:complexContent>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="LINE" minOccurs="1" maxOccurs="unbounded">
                                <xs:annotation>
                                    <xs:documentation xml:lang="de">Information zu den Positionen</xs:documentation>
                                    <xs:documentation xml:lang="en">Information on the line items</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="SeriesID" type="ProductIdentifier" minOccurs="0" maxOccurs="1">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="de">Identifikation der Serie</xs:documentation>
                                                <xs:documentation xml:lang="en">Identification of the series</xs:documentation>
                                            </xs:annotation>
                                        </xs:element>
                                        <xs:element name="ProductID" type="ProductIdentifier" minOccurs="1" maxOccurs="1">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="de">Identifikation des Artikels</xs:documentation>
                                                <xs:documentation xml:lang="en">Identification of the article</xs:documentation>
                                            </xs:annotation>
                                        </xs:element>
                                        <xs:element name="Orderability" minOccurs="0" maxOccurs="1">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="de">
                                                    <dl>
                                                        <dt>Bestellbarkeit / Artikelstatus</dt>
                                                        <dt>Codeliste:</dt>
                                                        <dt>71 = Bestellbar</dt>
                                                        <dt>72 = Nicht bestellbar</dt>
                                                        <dt>73 = Auslaufmodell</dt>
                                                    </dl>
                                                </xs:documentation>
                                                <xs:documentation xml:lang="en">
                                                    <dl>
                                                        <dt>Orderability / item status</dt>
                                                        <dt>Code list:</dt>
                                                        <dt>71 = Orderable</dt>
                                                        <dt>72 = Not orderable</dt>
                                                        <dt>73 = Discontinued model</dt>
                                                    </dl>
                                                </xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <!-- enumeration:start:maxLength=2 -->
                                                    <xs:enumeration value="71"/>
                                                    <xs:enumeration value="72"/>
                                                    <xs:enumeration value="73"/>
                                                    <!-- enumeration:end -->
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="Availability" minOccurs="0" maxOccurs="1">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="de">Verfügbarkeit des Artikels 71 = Verfügbar 72 = Nicht verfügbar</xs:documentation>
                                                <xs:documentation xml:lang="en">Availability of the article 71 = Available 72 = Not available</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <!-- enumeration:start:maxLength=2 -->
                                                    <xs:enumeration value="71"/>
                                                    <xs:enumeration value="72"/>
                                                    <!-- enumeration:end -->
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="LeadTimeIfNotAvailable" type="Duration" minOccurs="0" maxOccurs="1">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="de">
                                                    <dl>
                                                        <dt>Wiederbeschaffungszeit</dt>
                                                        <dt>Wie lange dauert es, falls der Artikel nicht verfügbar aber bestellbar ist, bis er wieder verfügbar ist</dt>
                                                    </dl>
                                                </xs:documentation>
                                                <xs:documentation xml:lang="en">
                                                    <dl>
                                                        <dt>replacement time</dt>
                                                        <dt>If an item is currently unavailable but can be ordered, how long will it take until it is available again?</dt>
                                                    </dl>
                                                </xs:documentation>
                                            </xs:annotation>
                                        </xs:element>
                                        <xs:element name="BackInStockDate" type="EDIDate" minOccurs="0" maxOccurs="1">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="de">Datum, ab dem der Artikel wieder verfügbar ist</xs:documentation>
                                                <xs:documentation xml:lang="en">Date from which the item is available again</xs:documentation>
                                            </xs:annotation>
                                        </xs:element>
                                        <xs:element name="DeliveryTime" type="Duration" minOccurs="0" maxOccurs="1">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="de">Lieferzeit</xs:documentation>
                                                <xs:documentation xml:lang="en">Delivery time</xs:documentation>
                                            </xs:annotation>
                                        </xs:element>
                                        <xs:element name="MVMT" type="MVMT" minOccurs="1" maxOccurs="1">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="de">Bestandsbewegung</xs:documentation>
                                                <xs:documentation xml:lang="en">Stock movement</xs:documentation>
                                            </xs:annotation>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="FOOT" minOccurs="1" maxOccurs="1">
                                <xs:annotation>
                                    <xs:documentation xml:lang="de">Abschluss des Lagerbestandsberichts(INVRPT)</xs:documentation>
                                    <xs:documentation xml:lang="en">Closing of the inventory report (INVRPT)</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:complexContent>
                                        <xs:extension base="DocumentFoot">
                                            <xs:sequence/>
                                        </xs:extension>
                                    </xs:complexContent>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- DE: Bestandsbewegung je Position - InventoryQuantity ist Pflicht, die übrigen Felder sind optionale Zusatzangaben -->
    <!-- EN: Stock movement per line - InventoryQuantity is mandatory, the remaining fields are optional additional details -->
    <xs:complexType name="MVMT">
        <xs:annotation>
            <xs:documentation xml:lang="de">Bestandsbewegungen</xs:documentation>
            <xs:documentation xml:lang="en">Inventory movements</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="DirectionOfMovement" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="de">Richtung der Bestandsbewegung Codeliste: 1 = Lagerabgang 2 = Lagerzugang</xs:documentation>
                    <xs:documentation xml:lang="en">Direction of the stock movement code list: 1 = Stock issue 2 = Stock receipt</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <!-- enumeration:start:maxLength=1 -->
                        <xs:enumeration value="1"/>
                        <xs:enumeration value="2"/>
                        <!-- enumeration:end -->
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="InventoryType" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="de">Bestandsart Codeliste: 1 = Akzeptierter Warenbestand 2 = Beschädigter Warenbestand 3 = Zollbestand 4 = Reservierter Bestand</xs:documentation>
                    <xs:documentation xml:lang="en">Stock type code list: 1 = Accepted stock 2 = Damaged stock 3 = Customs stock 4 = Reserved stock</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <!-- enumeration:start:maxLength=1 -->
                        <xs:enumeration value="1"/>
                        <xs:enumeration value="2"/>
                        <xs:enumeration value="3"/>
                        <xs:enumeration value="4"/>
                        <!-- enumeration:end -->
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="InventoryMethod" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <dl>
                            <dt>Methode der Bestandsbewertung</dt>
                            <dt>Codeliste:</dt>
                            <dt>1 = Buchbestand</dt>
                            <dt>2 = Tatsächlicher Bestand</dt>
                        </dl>
                    </xs:documentation>
                    <xs:documentation xml:lang="en">
                        <dl>
                            <dt>Method of inventory rating</dt>
                            <dt>Code list:</dt>
                            <dt>1 = booked inventory</dt>
                            <dt>2 = counted inventory</dt>
                        </dl>
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <!-- enumeration:start:maxLength=1 -->
                        <xs:enumeration value="1"/>
                        <xs:enumeration value="2"/>
                        <!-- enumeration:end -->
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="InventoryQuantity" type="Quantity" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="de">Bestandsmenge</xs:documentation>
                    <xs:documentation xml:lang="en">Stock quantity</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="LocationOfGoods" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="de">Wo befindet sich die Ware</xs:documentation>
                    <xs:documentation xml:lang="en">Where the goods are located</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="FreeText35"/>
                </xs:simpleType>
            </xs:element>
            <xs:element name="DateOfInventoryReport" type="EDIDate" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="de">Datum der Bestandsermittlung</xs:documentation>
                    <xs:documentation xml:lang="en">Date of stock determination</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ExpirationDateStart" type="EDIDate" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="de">Mindesthaltbarkeitsdatum</xs:documentation>
                    <xs:documentation xml:lang="en">Best before date</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ExpirationDateEnd" type="EDIDate" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="de">Das harte Verfallsdatum</xs:documentation>
                    <xs:documentation xml:lang="en">The hard expiration date</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="PromotionNumber" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="de">Kennung der Werbeaktion</xs:documentation>
                    <xs:documentation xml:lang="en">Identifier of the promotion</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="FreeText35"/>
                </xs:simpleType>
            </xs:element>
            <xs:element name="AdditionalDate" type="EDIDateQualified" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <dl>
                            <dt>Zusätzliche Datumsinformation.</dt>
                            <dt>Nur nach Absprache mit dem Empfänger verwenden, da es sich hierbei nicht um eine allgemein übliche Datumskennzeichung handelt</dt>
                        </dl>
                    </xs:documentation>
                    <xs:documentation xml:lang="en">
                        <dl>
                            <dt>Additional date information.</dt>
                            <dt>Use only after agreement with the recipient, as this is not a commonly used date specification</dt>
                        </dl>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="AdditionalQuantity" type="QuantityQualified" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <dl>
                            <dt>Zusätzliche Mengenangabe</dt>
                            <dt>Nur nach Absprache mit dem Empfänger verwenden, da es sich hierbei nicht um eine allgemein übliche Mengendarstellung handelt</dt>
                        </dl>
                    </xs:documentation>
                    <xs:documentation xml:lang="en">
                        <dl>
                            <dt>Additional quantity specification</dt>
                            <dt>Use only after agreement with the recipient, as this is not a commonly used quantity representation</dt>
                        </dl>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:schema>