<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2020 DAKOSY AG (http://www.dakosy.de) -->
<!-- XSD-Version 2.0.2 / 03-Jun-2013 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="http://xsd.dakosy.de/ac03v2.0/AC03CoreDataTypes.xsd"/>
	<xs:include schemaLocation="http://xsd.dakosy.de/ac03v2.0/MessageEnvelope.xsd"/>
	<xs:element name="Document">
		<xs:annotation>
			<xs:documentation xml:lang="DE">AC03 v2 Dokument-Wurzel</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Metainfo" type="MetaInfoDef"/>
				<xs:element name="Messages">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Message">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Invoice" maxOccurs="unbounded">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Reference" type="reference" maxOccurs="unbounded">
														<xs:annotation>
															<xs:documentation>Eine Referenz vom Typ 'InvoiceNumber' wird als fachliches Pflichtelement erwartet.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="AddressData" type="adress" minOccurs="2" maxOccurs="3">
														<xs:annotation>
															<xs:documentation>PayingParty und InvoicingParty müssen als Pflichtadressen in den Fakturadaten vorhanden sein</xs:documentation>
															<xs:documentation>Als Addresstypen innerhalb der Fakturadaten sind folgende Typen zulässig: PartyPaying = Frachtzahler / Rechnungsemfänger, InstructionParty = Auftraggeber und InvoicingParty = Rechnungssteller</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="InvoiceDate" type="xs:date">
														<xs:annotation>
															<xs:documentation>Rechnungsdatum</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="ServiceDate" type="xs:date" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Leistungsdatum</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="InvoiceDescription" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Rechnungsbeschreibung</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="Sum" type="amount">
														<xs:annotation>
															<xs:documentation>Rechnungssumme netto</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="SumTaxes" type="amount">
														<xs:annotation>
															<xs:documentation>Rechnungssumme Steuer</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="Item" maxOccurs="999">
														<xs:annotation>
															<xs:documentation>Leistung</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:sequence>
																<xs:element name="Identification">
																	<xs:annotation>
																		<xs:documentation>Bezug</xs:documentation>
																	</xs:annotation>
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="ID" type="referenceString" minOccurs="0"/>
																			<xs:element name="Reference" type="reference" minOccurs="0"/>
																			<xs:element name="Position" type="itemPosition" minOccurs="0"/>
																			<xs:element name="ContainerNumber" type="containerNumber" minOccurs="0"/>
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<xs:element name="ServiceDescription" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Leistungsbeschreibung</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="LineItem" maxOccurs="999">
																	<xs:annotation>
																		<xs:documentation>Teilleistung</xs:documentation>
																	</xs:annotation>
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="Activity">
																				<xs:annotation>
																					<xs:documentation>Gebühr</xs:documentation>
																				</xs:annotation>
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="Code" type="anyCode" minOccurs="0">
																							<xs:annotation>
																								<xs:documentation>Gebührencode</xs:documentation>
																								<xs:documentation>Codeliste nach bilateraler Vereinbarung der Kommunikationsteilnehmer</xs:documentation>
																							</xs:annotation>
																						</xs:element>
																						<xs:element name="Description" type="xs:string" minOccurs="0">
																							<xs:annotation>
																								<xs:documentation>Gebührenbeschreibung</xs:documentation>
																							</xs:annotation>
																						</xs:element>
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																			<xs:element name="Amount" type="amount">
																				<xs:annotation>
																					<xs:documentation>Betrag netto</xs:documentation>
																				</xs:annotation>
																			</xs:element>
																			<xs:element name="Taxrate" type="tax">
																				<xs:annotation>
																					<xs:documentation>Steruersatz</xs:documentation>
																				</xs:annotation>
																			</xs:element>
																		</xs:sequence>
																		<xs:attribute name="type" use="required">
																			<xs:simpleType>
																				<xs:restriction base="xs:NMTOKEN">
																					<xs:enumeration value="Bill"/>
																					<xs:enumeration value="Rebate"/>
																				</xs:restriction>
																			</xs:simpleType>
																		</xs:attribute>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
												<xs:attribute name="type" use="required">
													<xs:annotation>
														<xs:documentation xml:lang="DE">Art der Rechnugsdaten:
Bill = Rechnung
Credit = Gutschrift</xs:documentation>
													</xs:annotation>
													<xs:simpleType>
														<xs:restriction base="xs:NMTOKEN">
															<xs:minLength value="1"/>
															<xs:maxLength value="10"/>
															<xs:enumeration value="Bill"/>
															<xs:enumeration value="Credit"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="referenceNumber" type="referenceString" use="required">
										<xs:annotation>
											<xs:documentation xml:lang="DE">Nachrichtenreferenz
Die Nachrichtenreferenz wird für die technische Quittierung der Nachricht verwendet.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
