<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.bmd.at/xsd/invrpt/2.0/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bmd="http://www.bmd.at/xsd/COMMONTYPES/2.0/" targetNamespace="http://www.bmd.at/xsd/invrpt/2.0/" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://www.bmd.at/xsd/COMMONTYPES/2.0/" schemaLocation="../../COMMONTYPES/2.0/COMMONTYPES.xsd"/>
	<xs:annotation>
		<xs:documentation>
            schema version: 2.0
            last update: 2026-08-26
            documentation: https://www.bmd.at/xsd/INVRPT/2.0/INVRPT.xsd
        </xs:documentation>
	</xs:annotation>
	<!-- === INVRPT (Bestandsbericht) === -->
	<!-- === Root  Element === -->
	<xs:element name="InvRpt" type="InvRptType"/>
	<!-- -->
	<!-- === Element Declarations === -->
	<xs:element name="MessageHeader" type="bmd:MessageHeaderType"/>
	<xs:element name="DeliveryNoteDate" type="xs:date"/>
	<xs:element name="DeliveryNoteTime" type="xs:time"/>
	<xs:element name="PrintDate" type="xs:date"/>
	<xs:element name="ItemList" type="ItemListType"/>
	<xs:element name="ListLineItem" type="ListLineItemType"/>
	<!-- -->
	<!-- === ListLineItem Declarations === -->
	<xs:element name="PosNumber" type="xs:int"/>
	<xs:element name="EANCode" type="xs:string"/>
	<xs:element name="ArticleNumberSender" type="xs:string"/>
	<xs:element name="ArticleNumberRecipient" type="xs:string"/>
	<xs:element name="ArticleName" type="xs:string"/>
	<xs:element name="Quantity" type="bmd:UnitType"/>
	<xs:element name="QuantityOnHand" type="bmd:UnitType"/>
	<xs:element name="QuantityPlannedReceipt" type="bmd:UnitType"/>
	<xs:element name="QuantityPlannedIssue" type="bmd:UnitType"/>
	<xs:element name="ChargeNumberExternal" type="xs:string"/>
	<xs:element name="ChargeNumberInternal" type="xs:string"/>
	<xs:element name="ChargeExpirationDate" type="xs:date"/>
	<xs:element name="ChargeDateOfManufacture" type="xs:date"/>
	<xs:element name="SerialNumberExternal" type="xs:string"/>
	<xs:element name="SerialNumberInternal" type="xs:string"/>
	<xs:element name="Colour" type="xs:string"/>
	<xs:element name="Size" type="xs:string"/>
	<xs:element name="QualityStatus" type="xs:string"/>
	<xs:element name="StockLocation" type="xs:string"/>
	<xs:element name="StockGround" type="xs:string"/>
	<xs:element name="InvPosDate" type="xs:date"/>
	<xs:element name="InvPosTime" type="xs:time"/>
	<xs:element name="FreeTextField" type="xs:string"/>
	<!-- -->
	<!-- === Simple Types === -->
	<xs:simpleType name="DocumentTypeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="INVRPT"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- -->
	<!-- === Complex Types === -->
	<xs:complexType name="InvRptType">
		<xs:sequence>
			<!-- Message Header: NTCS-spezifische Daten wie Sender / Empfänger -->
			<xs:element ref="MessageHeader" minOccurs="0"/>
			<!-- Datum der Bestandsaufnahme (Kopf-Inventurdatum) -->
			<xs:element ref="DeliveryNoteDate" minOccurs="0"/>
			<!-- Uhrzeit der Bestandsaufnahme (Kopf-Inventurdatum Zeit) -->
			<xs:element ref="DeliveryNoteTime" minOccurs="0"/>
			<!-- Datum der Berichtserstellung -->
			<xs:element ref="PrintDate" minOccurs="0"/>
			<!-- Liste der Artikel -->
			<xs:element ref="ItemList"/>
		</xs:sequence>
		<xs:attribute name="GeneratingSystem" type="xs:string" use="required"/>
		<xs:attribute name="DocumentType" type="DocumentTypeType" use="required"/>
		<xs:attribute name="DocumentTitle" type="xs:string" use="optional"/>
		<xs:attribute name="Language" type="bmd:LanguageType" use="optional"/>
	</xs:complexType>
	<xs:complexType name="ItemListType">
		<xs:sequence>
			<xs:element ref="ListLineItem" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ListLineItemType">
		<xs:sequence>
			<!-- Positionsnummer -->
			<xs:element ref="PosNumber"/>
			<!-- EAN-Artikelnummer -->
			<xs:element ref="EANCode" minOccurs="0"/>
			<!-- Artikelnummer des Kunden -->
			<xs:element ref="ArticleNumberSender" minOccurs="0"/>
			<!-- Artikelnummer des Lieferanten -->
			<xs:element ref="ArticleNumberRecipient" minOccurs="0"/>
			<!-- Artikelbezeichnung -->
			<xs:element ref="ArticleName" minOccurs="0"/>
			<!-- Menge und Einheit-->
			<xs:element ref="Quantity" minOccurs="0"/>
			<!-- Verfügbare Menge und Einheit-->
			<xs:element ref="QuantityOnHand" minOccurs="0"/>
			<!-- Geplante Zugänge und Einheit-->
			<xs:element ref="QuantityPlannedReceipt" minOccurs="0"/>
			<!-- Geplante Abgänge und Einheit-->
			<xs:element ref="QuantityPlannedIssue" minOccurs="0"/>
			<!-- Chargennummer extern -->
			<xs:element ref="ChargeNumberExternal" minOccurs="0"/>
			<!-- Chargennummer intern -->
			<xs:element ref="ChargeNumberInternal" minOccurs="0"/>
			<!-- Ablaufdatum der Charge -->
			<xs:element ref="ChargeExpirationDate" minOccurs="0"/>
			<!-- Herstelldatum der Charge -->
			<xs:element ref="ChargeDateOfManufacture" minOccurs="0"/>
			<!-- Seriennummer extern -->
			<xs:element ref="SerialNumberExternal" minOccurs="0"/>
			<!-- Seriennummer intern -->
			<xs:element ref="SerialNumberInternal" minOccurs="0"/>
			<!-- Farbe -->
			<xs:element ref="Colour" minOccurs="0"/>
			<!-- Groesse -->
			<xs:element ref="Size" minOccurs="0"/>
			<!-- Qualitaets Status -->
			<xs:element ref="QualityStatus" minOccurs="0"/>
			<!-- Lager -->
			<xs:element ref="StockLocation" minOccurs="0"/>
			<!-- Lagerplatz -->
			<xs:element ref="StockGround" minOccurs="0"/>
			<!-- Datum der Bestandsaufnahme (Position-Inventurdatum) -->
			<xs:element ref="InvPosDate" minOccurs="0"/>
			<!-- Uhrzeit der Bestandsaufnahme (Position-Inventurdatum Zeit) -->
			<xs:element ref="InvPosTime" minOccurs="0"/>
			<!-- Freies Textfeld (Freifeld 1) -->
			<xs:element ref="FreeTextField" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
