<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2012 rel. 2 (x64) (http://www.altova.com) by Martin Forsberg (Ecru Consulting) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:element name="batch" type="batch"/>
	<xs:element name="batchDetails" type="batchDetails"/>
	<xs:element name="document" type="document">
		<xs:unique name="unique-enclosure-object-id">
			<xs:selector xpath="invoice/enclosures/enclosureDetails/encodedObject"/>
			<xs:field xpath="@objectID"/>
		</xs:unique>
		<xs:key name="documentID">
			<xs:selector xpath="."/>
			<xs:field xpath="@id"/>
		</xs:key>
		<xs:key name="documentType">
			<xs:selector xpath="."/>
			<xs:field xpath="@type"/>
		</xs:key>
		<xs:keyref name="documentIDReference" refer="documentID">
			<xs:selector xpath="./*"/>
			<xs:field xpath="@id"/>
		</xs:keyref>
		<xs:keyref name="documentTypeReference" refer="documentType">
			<xs:selector xpath="./*"/>
			<xs:field xpath="@type"/>
		</xs:keyref>
	</xs:element>
	<xs:element name="invoice" type="invoice">
		<xs:key name="invoiceType">
			<xs:selector xpath="."/>
			<xs:field xpath="@type"/>
		</xs:key>
		<xs:keyref name="invoiceTypeReference" refer="invoiceType">
			<xs:selector xpath="invoiceDetails/invoiceType"/>
			<xs:field xpath="@code"/>
		</xs:keyref>
	</xs:element>
	<xs:element name="section" type="section"/>
	<xs:element name="sectionDetails" type="sectionDetails"/>
	<xs:element name="sectionInfo" type="sectionInfo"/>
	<xs:complexType name="account">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="type" type="xs:string" use="required"/>
				<xs:attribute name="bic" type="xs:string" use="optional"/>
				<xs:attribute name="id" type="xs:string" use="optional"/>
				<xs:attribute name="swift" type="xs:string" use="optional"/>
				<xs:attribute name="primary" type="xs:boolean" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="accounts">
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="account" type="account" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="address">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0"/>
			<xs:element name="reference" type="xs:string" minOccurs="0"/>
			<xs:element name="street" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="number" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="location" type="xs:string" minOccurs="0"/>
			<xs:element name="postOfficeBox" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="number" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="town" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="postCode" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="country" type="country" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="agreementReference">
		<xs:complexContent>
			<xs:extension base="resourceReference">
				<xs:sequence>
					<xs:element name="agreementRate" type="value" minOccurs="0"/>
					<xs:element name="objectAddress" type="address" minOccurs="0"/>
					<xs:element name="capitalAmount" type="amount" minOccurs="0"/>
					<xs:element name="creditorAddress" type="address" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="buyerID" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="amount">
		<xs:simpleContent>
			<xs:extension base="value">
				<xs:attribute name="currency" type="currencyCode" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="article">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0"/>
			<xs:element name="alternativeName" type="xs:string" minOccurs="0"/>
			<xs:element name="unit" type="unit" minOccurs="0"/>
			<xs:element name="URL" type="xs:string" minOccurs="0"/>
			<xs:element name="bestBeforeDate" type="date" minOccurs="0"/>
			<xs:element name="manufacturer" type="manufacturer" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
		<xs:attribute name="buyerID" type="xs:string" use="optional"/>
		<xs:attribute name="alternativeNo" type="xs:string" use="optional"/>
		<xs:attribute name="alternativeType" type="xs:string" use="optional"/>
		<xs:attribute name="batchNo" type="xs:string" use="optional"/>
		<xs:attribute name="serialNo" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="bank">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0"/>
			<xs:element name="postalAddress" type="address" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
		<xs:attribute name="code" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="bankCustomer">
		<xs:sequence>
			<xs:element name="identifier" type="identifier"/>
			<xs:element name="bank" type="bank"/>
			<xs:element name="invoiceReference" type="invoiceReference" minOccurs="0"/>
			<xs:element name="invoiceMessage" type="xs:string" minOccurs="0"/>
			<xs:element name="changeableAmount" type="xs:boolean"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="batch">
		<xs:sequence>
			<xs:element ref="batchDetails"/>
			<xs:element ref="section" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="10"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="version" type="versionNumber" use="required"/>
		<xs:attribute name="status" type="batchStatus" use="required"/>
	</xs:complexType>
	<xs:complexType name="batchDetails">
		<xs:sequence>
			<xs:element name="bgnr" type="optionalBgnr" minOccurs="0"/>
			<xs:element name="originatorID" type="xs:string" minOccurs="0"/>
			<xs:element name="seller" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="id" type="xs:string" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="intermediator" type="intermediator" minOccurs="0"/>
			<xs:element name="totalSections" type="xs:string"/>
			<xs:element name="totalDocuments" type="xs:string"/>
			<xs:element name="outputFileName" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="batchStatus">
		<xs:restriction base="xs:string">
			<xs:pattern value="T|P|C"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="bgnr">
		<xs:restriction base="xs:string">
			<xs:maxLength value="10"/>
			<xs:pattern value="[0-9]+"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="buyer">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="vatDetails" type="vatDetails" minOccurs="0"/>
			<xs:element name="unitNumber" type="unitNumber" minOccurs="0"/>
			<xs:element name="dispatchUnitNumber" type="xs:string" minOccurs="0"/>
			<xs:element name="postalAddress" type="address" minOccurs="0"/>
			<xs:element name="boardAddress" type="address" minOccurs="0"/>
			<xs:element name="contact" type="typedContact" minOccurs="0"/>
			<xs:element name="accounts" type="accounts" minOccurs="0"/>
			<xs:choice>
				<xs:sequence>
					<xs:element name="recipient" type="recipient" minOccurs="0"/>
				</xs:sequence>
				<xs:element name="bankCustomer" type="bankCustomer" minOccurs="0"/>
			</xs:choice>
			<xs:element name="identifier" type="identifier" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="bank" type="bank" minOccurs="0"/>
			<xs:element name="gs1" type="gs1" minOccurs="0"/>
			<xs:element name="agreementID" type="xs:string" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
		<xs:attribute name="sellerID" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="cashDiscount">
		<xs:sequence>
			<xs:element name="date" type="date" minOccurs="0"/>
			<xs:element name="baseAmount" type="amount" minOccurs="0"/>
			<xs:element name="discount" type="discount" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="contact">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0"/>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element name="phone" type="phoneNumber"/>
				<xs:element name="fax" type="phoneNumber"/>
				<xs:element name="email" type="emailAddress"/>
				<xs:element name="URL" type="webAddress"/>
			</xs:choice>
			<xs:element name="text" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="country">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="code" type="countryCode" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:simpleType name="countryCode">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="currencyCode">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="date">
		<xs:union memberTypes="xs:date">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value=""/>
				</xs:restriction>
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:complexType name="deliveree">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0"/>
			<xs:element name="vatDetails" type="vatDetails" minOccurs="0"/>
			<xs:element name="deliveryAddress" type="address" minOccurs="0"/>
			<xs:element name="unitNumber" type="unitNumber" minOccurs="0"/>
			<xs:element name="contact" type="typedContact" minOccurs="0"/>
			<xs:element name="gs1" type="gs1" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="deliveryDetails">
		<xs:sequence>
			<xs:element name="noteNumber" type="xs:string" minOccurs="0"/>
			<xs:choice minOccurs="0">
				<xs:element name="date" type="xs:date"/>
				<xs:element name="period" type="period"/>
			</xs:choice>
			<xs:element name="method" type="method" minOccurs="0"/>
			<xs:element name="terms" type="terms" minOccurs="0"/>
			<xs:element name="deliveree" type="deliveree" minOccurs="0"/>
			<xs:element name="logistics" type="logistics" minOccurs="0"/>
			<xs:element name="installationAddress" type="address" minOccurs="0"/>
			<xs:element name="manufacturer" type="manufacturer" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="deliveryReference">
		<xs:complexContent>
			<xs:extension base="resourceReference"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="discount">
		<xs:sequence>
			<xs:element name="text" type="xs:string" minOccurs="0"/>
			<xs:element name="amount" type="amount" minOccurs="0"/>
			<xs:element name="netAmount" type="amount" minOccurs="0"/>
			<xs:element name="vatAmount" type="vatAmount" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="type" type="xs:string" use="optional"/>
		<xs:attribute name="percent" type="value" use="optional"/>
	</xs:complexType>
	<xs:complexType name="document">
		<xs:sequence>
			<xs:element name="documentDetails">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="originatorBgnr" type="optionalBgnr" minOccurs="0"/>
						<xs:element name="originatorID" type="xs:string" minOccurs="0"/>
						<xs:element name="originatorIntermediator" type="intermediator" minOccurs="0"/>
						<xs:element name="addresseeID" minOccurs="0">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="type" type="xs:string" use="optional"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="addresseeID2" minOccurs="0">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="type" type="xs:string" use="optional"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="addresseeIntermediator" type="intermediator" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element ref="invoice"/>
		</xs:sequence>
		<xs:attribute name="id" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="25"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="type" type="documentType" use="required"/>
		<xs:attribute name="subType" type="xs:string" use="optional"/>
		<xs:attribute name="templateID" type="xs:string" use="optional"/>
		<xs:attribute name="distribution" use="optional" default="B2C">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="B2C|B2B|storeOnly"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="originPaper" type="xs:string" use="optional" default="false"/>
		<xs:attribute name="messageTimestamp" type="xs:string" use="optional"/>
		<xs:attribute name="messageID" type="xs:string" use="optional"/>
		<xs:attribute name="bgcID" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:simpleType name="documentType">
		<xs:restriction base="xs:string">
			<xs:pattern value="[a-zA-Z]{3}[0-9]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="emailAddress">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:complexType name="enclosureDetails">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0"/>
			<xs:element name="date" type="date" minOccurs="0"/>
			<xs:choice>
				<xs:sequence>
					<xs:element name="URL" type="webAddress"/>
					<xs:element name="id" type="xs:string" minOccurs="0"/>
					<xs:element name="username" type="xs:string" minOccurs="0"/>
					<xs:element name="password" type="xs:string" minOccurs="0"/>
				</xs:sequence>
				<xs:element name="encodedObject" type="encodedEnclosureObject" minOccurs="0"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name="mimeCode" type="xs:string" use="required"/>
		<xs:attribute name="type" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="encodedEnclosureObject">
		<xs:sequence>
			<xs:element name="data" type="xs:base64Binary"/>
		</xs:sequence>
		<xs:attribute name="objectID" type="xs:string" use="required"/>
		<xs:attribute name="format" type="xs:string" use="required"/>
		<xs:attribute name="filename" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="epiDetails">
		<xs:sequence>
			<xs:element name="identificationDetails">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="reference" type="xs:string" minOccurs="0"/>
						<xs:element name="URL" type="webAddress" minOccurs="0"/>
						<xs:element name="email" type="emailAddress" minOccurs="0"/>
						<xs:element name="orderInfo" type="xs:string" minOccurs="0"/>
						<xs:element name="orderingCustomer" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="name" type="xs:string"/>
									<xs:element name="addressText" type="xs:string" minOccurs="0"/>
								</xs:sequence>
								<xs:attribute name="id" type="xs:string" use="optional"/>
								<xs:attribute name="bic" type="xs:string" use="optional"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="date" type="date" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="beneficiary">
				<xs:complexType>
					<xs:sequence>
						<xs:choice minOccurs="0">
							<xs:element name="epiBEI" type="identifier"/>
							<xs:choice>
								<xs:element name="nameAddress" type="xs:string"/>
								<xs:sequence>
									<xs:element name="name" type="xs:string"/>
									<xs:element name="address" type="address"/>
								</xs:sequence>
							</xs:choice>
						</xs:choice>
						<xs:element name="account" type="account"/>
					</xs:sequence>
					<xs:attribute name="bic" type="xs:string" use="optional"/>
					<xs:attribute name="id" type="xs:string" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="paymentInstructions">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="transactionTypeCode" type="xs:string" minOccurs="0"/>
						<xs:element name="instructionCode" type="xs:string" minOccurs="0"/>
						<xs:element name="remittanceID">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="type" type="xs:string" use="optional"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="instructedAmount" type="amount"/>
						<xs:element name="optionDate">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:date">
										<xs:attribute name="type">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:pattern value="OUR|BEN|SHA|debit"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:attribute>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="id" type="xs:string" use="optional"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="expenses">
		<xs:sequence>
			<xs:element name="text" type="xs:string" minOccurs="0"/>
			<xs:element name="amount" type="amount" minOccurs="0"/>
			<xs:element name="netAmount" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="amount">
							<xs:attribute name="percent" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="vatAmount" type="vatAmount" minOccurs="0"/>
			<xs:element name="totalAmount" type="amount" minOccurs="0"/>
			<xs:element name="baseAmount" type="amount" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="type" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:simpleType name="gs1">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:complexType name="identifier">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="type" type="xs:string" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="imageBase64Object">
		<xs:sequence>
			<xs:element name="data" type="xs:base64Binary" minOccurs="0"/>
			<xs:element name="URL" type="webAddress" minOccurs="0"/>
			<xs:element name="altText" type="xs:string" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="width" type="nonNegativeInteger" use="required"/>
		<xs:attribute name="height" type="nonNegativeInteger" use="required"/>
		<xs:attribute name="mimeType" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="images">
		<xs:sequence>
			<xs:element name="image">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="src" type="xs:string" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="url" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="interest">
		<xs:sequence>
			<xs:element name="amount" type="amount" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="rate" type="value" use="optional"/>
		<xs:attribute name="days" type="nonNegativeInteger" use="optional"/>
	</xs:complexType>
	<xs:simpleType name="intermediator">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:complexType name="invoice">
		<xs:sequence>
			<xs:element name="invoiceDetails" type="invoiceDetails"/>
			<xs:choice>
				<xs:element name="invoiceRow" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="invoiceRow">
								<xs:sequence>
									<xs:element name="subInvoiceRow" type="invoiceRow" minOccurs="0" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:extension>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="invoiceRowPre" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="layout" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="font" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="family" type="xs:string" default="Verdana, Arial, New Times Roman" minOccurs="0"/>
													<xs:element name="size" type="xs:nonNegativeInteger" default="10" minOccurs="0"/>
													<xs:element name="bold" type="xs:boolean" default="false" minOccurs="0"/>
													<xs:element name="italic" type="xs:boolean" default="false" minOccurs="0"/>
													<xs:element name="underlined" type="xs:boolean" default="false" minOccurs="0"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="text" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
						<xs:attribute name="id" type="xs:string" use="optional"/>
						<xs:attribute name="groupID" type="xs:string" use="optional"/>
					</xs:complexType>
				</xs:element>
			</xs:choice>
			<xs:element name="seller" type="seller"/>
			<xs:element name="buyer" type="buyer"/>
			<xs:element name="payment" type="payment"/>
			<xs:element name="delivery" type="deliveryDetails" minOccurs="0"/>
			<xs:element name="specification" type="specification" minOccurs="0"/>
			<xs:element name="epiDetails" type="epiDetails" minOccurs="0"/>
			<xs:element name="currency" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="code" type="currencyCode"/>
					<xs:attribute name="rate" type="xs:decimal"/>
					<xs:attribute name="rateEntity" type="xs:decimal"/>
					<xs:attribute name="codeAC" type="currencyCode"/>
					<xs:attribute name="exchangeRateAC" type="xs:decimal"/>
					<xs:attribute name="rateEntityAC" type="xs:decimal"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="printInfo" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="copyCode" type="xs:string"/>
						<xs:element name="exportFlag" type="xs:boolean"/>
						<xs:element name="languageCode" type="countryCode"/>
						<xs:element name="originalCode" type="xs:string"/>
						<xs:element name="text" type="xs:string"/>
						<xs:element name="postage" type="xs:string"/>
						<xs:element name="layout" type="xs:string"/>
						<xs:element name="acknowledgeEmail" type="emailAddress" minOccurs="0"/>
						<xs:element name="imageBase64" type="imageBase64Object" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="id" type="xs:string" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="factoring" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="companyName" type="xs:string"/>
						<xs:element name="account" type="account" maxOccurs="unbounded"/>
						<xs:element name="text" type="xs:string" maxOccurs="unbounded"/>
						<xs:element name="bank" type="bank" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="id" type="xs:string" use="required"/>
					<xs:attribute name="type" type="xs:string" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="enclosures" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="enclosureDetails" type="enclosureDetails" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
		<xs:attribute name="type" type="documentType" use="required"/>
		<xs:attribute name="subType" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="invoiceDetails">
		<xs:sequence>
			<xs:element name="invoiceType" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="code" type="xs:string" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="identifier" type="identifier" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="invoiceNumber" type="xs:string"/>
			<xs:element name="invoiceDate" type="xs:date"/>
			<xs:element name="invoicePeriod" type="period" minOccurs="0"/>
			<xs:element name="copy" type="xs:string" minOccurs="0"/>
			<xs:choice>
				<xs:element name="sellerReference" type="xs:string" minOccurs="0"/>
				<xs:sequence>
					<xs:element name="sellerReferenceID" type="xs:string" minOccurs="0"/>
					<xs:element name="sellerReferenceName" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:choice>
			<xs:element name="priceListReference" type="priceListReference" minOccurs="0"/>
			<xs:element name="tenderReference" type="tenderReference" minOccurs="0"/>
			<xs:element name="orderReference" type="orderReference" minOccurs="0"/>
			<xs:element name="remainderReference" type="remainderReference" minOccurs="0"/>
			<xs:element name="invoiceReference" type="invoiceReference" minOccurs="0"/>
			<xs:element name="agreementReference" type="agreementReference" minOccurs="0"/>
			<xs:element name="documentReference" type="typedResourceReference" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="customerReferenceNumber" type="xs:string" minOccurs="0"/>
			<xs:element name="referenceID" type="identifier" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="invoiceTotal" type="invoiceTotal"/>
			<xs:element name="costCenter" type="xs:string" minOccurs="0"/>
			<xs:element name="shortProposedAccount" type="xs:string" minOccurs="0"/>
			<xs:element name="normalProposedAccount" type="xs:string" minOccurs="0"/>
			<xs:element name="vatAmount" type="vatAmount" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="text" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:choice minOccurs="0">
				<xs:element name="URL" type="webAddress" maxOccurs="unbounded"/>
				<xs:element name="webRequest" type="webRequest"/>
			</xs:choice>
			<xs:element name="images" type="images" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="expenses" type="expenses" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="legislationDetails" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="vatIncluded" type="xs:string" minOccurs="0"/>
						<xs:element name="euInfo" type="xs:string" minOccurs="0"/>
						<xs:element name="fTaxStatement" type="xs:string" minOccurs="0"/>
						<xs:element name="vatReference" type="xs:string" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="discountDetails" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="date" type="date" minOccurs="0"/>
						<xs:element name="baseAmount" type="amount" minOccurs="0"/>
						<xs:element name="discount" type="discount"/>
						<xs:element name="sumOfDiscountAndCharges" type="amount" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="type" type="xs:string" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="freightDetails" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="text" type="xs:string"/>
						<xs:element name="freightAmount" type="amount" minOccurs="0"/>
						<xs:element name="vatAmount" type="vatAmount" minOccurs="0"/>
						<xs:element name="totalAmount" type="amount" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="id" type="xs:string" use="optional"/>
					<xs:attribute name="sellerReferenceID" type="xs:string" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="quantity" type="quantity" minOccurs="0"/>
			<xs:element name="projectReference" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="URL" type="webAddress" minOccurs="0"/>
						<xs:element name="text" type="xs:string" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="id" type="xs:string" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="invoiceReference">
		<xs:complexContent>
			<xs:extension base="resourceReference">
				<xs:sequence>
					<xs:element name="netAmount" type="amount" minOccurs="0"/>
					<xs:element name="vatAmount" type="vatAmount" minOccurs="0"/>
					<xs:element name="totalAmount" type="amount" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="invoiceRow">
		<xs:sequence>
			<xs:element name="article" type="article" minOccurs="0"/>
			<xs:element name="text" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="rowOrderReference" type="orderReference" minOccurs="0"/>
			<xs:element name="rowPriceListReference" type="priceListReference" minOccurs="0"/>
			<xs:element name="rowTenderReference" type="tenderReference" minOccurs="0"/>
			<xs:element name="rowDeliveryReference" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="deliveryReference">
							<xs:sequence>
								<xs:element name="quantity" type="quantity" minOccurs="0"/>
							</xs:sequence>
							<xs:attribute name="buyerID" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="rowRemainderReference" minOccurs="0">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="remainderReference">
							<xs:sequence>
								<xs:element name="quantity" type="quantity" minOccurs="0"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="rowInvoiceReference" type="invoiceReference" minOccurs="0"/>
			<xs:element name="rowPaymentReference" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="payment" type="payment"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="rowDocumentReference" type="typedResourceReference" minOccurs="0"/>
			<xs:element name="period" type="period" minOccurs="0"/>
			<xs:element name="quantity" type="quantity" minOccurs="0"/>
			<xs:element name="deliveredQuantity" type="quantity" minOccurs="0"/>
			<xs:element name="unitPrice" type="unitAmount" minOccurs="0"/>
			<xs:element name="shortProposedAccount" type="xs:string" minOccurs="0"/>
			<xs:element name="normalProposedAccount" type="xs:string" minOccurs="0"/>
			<xs:element name="costCenter" type="xs:string" minOccurs="0"/>
			<xs:element name="discount" type="discount" minOccurs="0"/>
			<xs:element name="netAmount" type="amount" minOccurs="0"/>
			<xs:element name="vatAmount" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="amount">
							<xs:attribute name="rate" type="value" use="optional"/>
							<xs:attribute name="base" type="value" use="optional"/>
							<xs:attribute name="vatCode" type="xs:string" use="optional"/>
							<xs:attribute name="currencyAC" type="xs:string" use="optional"/>
							<xs:attribute name="baseAC" type="value" use="optional"/>
							<xs:attribute name="vatAmountAC" type="value" use="optional"/>
							<xs:attribute name="vatCodeAC" type="xs:string" use="optional"/>
							<xs:attribute name="text" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="totalAmount" type="amount" minOccurs="0"/>
			<xs:element name="expenses" type="expenses" minOccurs="0"/>
			<xs:element name="currencyRate" type="amount" minOccurs="0"/>
			<xs:element name="deliveryNoteNumber" type="xs:string" minOccurs="0"/>
			<xs:element name="delivererID" type="xs:string" minOccurs="0"/>
			<xs:element name="delivererName" type="xs:string" minOccurs="0"/>
			<xs:element name="wayBillReferenceID" type="xs:string" minOccurs="0"/>
			<xs:element name="agreementID" type="xs:string" minOccurs="0"/>
			<xs:element name="agreementURL" type="webAddress" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
		<xs:attribute name="groupID" type="xs:string" use="optional"/>
		<xs:attribute name="type" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="invoiceTotal">
		<xs:sequence>
			<xs:element name="netAmount" type="amount" minOccurs="0"/>
			<xs:element name="vatAmount" type="vatAmount" minOccurs="0"/>
			<xs:element name="totalAmount" type="amount"/>
			<xs:element name="vatAmountNoTaxDeduction" type="vatAmount" minOccurs="0"/>
			<xs:element name="totalAmountInclVatAmountNoTaxDeduction" type="amount" minOccurs="0"/>
			<xs:element name="roundingAmount" type="amount" minOccurs="0"/>
			<xs:choice>
				<xs:sequence>
					<xs:element name="sumRowAmount" type="amount" minOccurs="0"/>
					<xs:element name="sumRowAmountInclDiscount" type="amount" minOccurs="0"/>
				</xs:sequence>
				<xs:element name="netExclDiscountAndCharges" type="amount" minOccurs="0"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="logistics">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="delivererAddress" type="address" minOccurs="0"/>
			<xs:element name="vatDetails" type="vatDetails" minOccurs="0"/>
			<xs:element name="deliveryAddress" type="address" minOccurs="0"/>
			<xs:element name="unitNumber" type="unitNumber" minOccurs="0"/>
			<xs:element name="contact" type="typedContact" minOccurs="0"/>
			<xs:element name="gs1" type="gs1" minOccurs="0"/>
			<xs:element name="wayBillReference" minOccurs="0">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="resourceReference">
							<xs:attribute name="code" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="manufacturer">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0"/>
			<xs:element name="vatDetails" type="vatDetails" minOccurs="0"/>
			<xs:element name="unitNumber" type="unitNumber" minOccurs="0"/>
			<xs:element name="postalAddress" type="address" minOccurs="0"/>
			<xs:element name="mainContact" type="xs:string" minOccurs="0"/>
			<xs:element name="gs1" type="gs1" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="method">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="code" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:simpleType name="nonNegativeInteger">
		<xs:union memberTypes="xs:nonNegativeInteger">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value=""/>
				</xs:restriction>
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="optionalBgnr">
		<xs:union memberTypes="bgnr">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value=""/>
				</xs:restriction>
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:complexType name="orderReference">
		<xs:complexContent>
			<xs:extension base="resourceReference">
				<xs:sequence>
					<xs:element name="buyerDate" type="xs:date" minOccurs="0"/>
					<xs:element name="buyerURL" type="webAddress" minOccurs="0"/>
					<xs:element name="quantity" type="quantity" minOccurs="0"/>
					<xs:element name="confirmedQuantity" type="quantity" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="buyerID" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="partialPayment">
		<xs:sequence>
			<xs:element name="netAmount" type="amount"/>
			<xs:element name="amount" type="amount"/>
			<xs:element name="dueDate" type="date"/>
			<xs:element name="interest" type="interest" minOccurs="0"/>
			<xs:element name="processingCosts" type="amount" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="reference" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="payment">
		<xs:sequence>
			<xs:element name="dueDate" type="date"/>
			<xs:element name="date" type="date" minOccurs="0"/>
			<xs:element name="period" type="period" minOccurs="0"/>
			<xs:element name="terms" type="terms" minOccurs="0"/>
			<xs:element name="method" type="paymentMethod"/>
			<xs:element name="cashDiscount" type="cashDiscount" minOccurs="0"/>
			<xs:element name="overDueFine" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="rate" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="netAmount" type="amount"/>
			<xs:element name="vatAmount" type="vatAmount" minOccurs="0"/>
			<xs:element name="totalAmount" type="amount"/>
			<xs:element name="roundingAmount" type="amount" minOccurs="0"/>
			<xs:element name="interest" type="interest" minOccurs="0"/>
			<xs:element name="paymentHistory" type="paymentHistory" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="status">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="paid"/>
					<xs:enumeration value="partly_paid"/>
					<xs:enumeration value="unpaid"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="paymentHistory">
		<xs:sequence>
			<xs:element name="paidAmount" type="amount"/>
			<xs:element name="unpaidAmount" type="amount"/>
			<xs:element name="interest" type="interest" minOccurs="0"/>
			<xs:element name="processingCosts" type="amount" minOccurs="0"/>
			<xs:element name="partialPayment" type="partialPayment" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="paymentMethod">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="code" type="xs:string" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="period">
		<xs:sequence>
			<xs:element name="startDate" type="xs:date"/>
			<xs:element name="endDate" type="xs:date" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="phoneNumber">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:complexType name="priceListReference">
		<xs:complexContent>
			<xs:extension base="resourceReference"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="quantity">
		<xs:simpleContent>
			<xs:extension base="value">
				<xs:attribute name="unitCode" type="xs:string" use="optional" default="unit"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="recipient">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0"/>
			<xs:element name="vatDetails" type="vatDetails" minOccurs="0"/>
			<xs:element name="postalAddress" type="address" minOccurs="0"/>
			<xs:element name="unitNumber" type="unitNumber" minOccurs="0"/>
			<xs:element name="contact" type="typedContact" minOccurs="0"/>
			<xs:element name="gs1" type="gs1" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
		<xs:attribute name="bgnr" type="bgnr" use="optional"/>
		<xs:attribute name="bgcID" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="remainderReference">
		<xs:complexContent>
			<xs:extension base="resourceReference">
				<xs:attribute name="buyerID" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="resourceReference">
		<xs:sequence>
			<xs:element name="date" type="date" minOccurs="0"/>
			<xs:element name="URL" type="webAddress" minOccurs="0"/>
			<xs:element name="text" type="xs:string" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
		<xs:attribute name="rowID" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="section">
		<xs:sequence>
			<xs:element ref="sectionDetails"/>
			<xs:element ref="sectionInfo" minOccurs="0"/>
			<xs:element ref="document" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="15"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="bgnr" type="optionalBgnr" use="optional"/>
		<xs:attribute name="originatorID" type="xs:string" use="optional"/>
		<xs:attribute name="bgnrType" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="addressee"/>
					<xs:enumeration value="originator"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="sectionDetails">
		<xs:sequence>
			<xs:element name="totalDocuments" type="nonNegativeInteger"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="sectionInfo">
		<xs:sequence>
			<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="seller">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="vatDetails" type="vatDetails" minOccurs="0"/>
			<xs:element name="unitNumber" type="unitNumber" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="dispatchUnitNumber" type="xs:string" minOccurs="0"/>
			<xs:element name="postalAddress" type="address" minOccurs="0"/>
			<xs:element name="boardAddress" type="address" minOccurs="0"/>
			<xs:element name="salesContact" type="contact" minOccurs="0"/>
			<xs:element name="mainContact" type="contact" minOccurs="0"/>
			<xs:element name="accounts" type="accounts"/>
			<xs:element name="sender" type="sender" minOccurs="0"/>
			<xs:element name="bank" type="bank" minOccurs="0"/>
			<xs:element name="groupName" type="xs:string" minOccurs="0"/>
			<xs:element name="gs1" type="gs1" minOccurs="0"/>
			<xs:element name="agreementID" type="xs:string" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
		<xs:attribute name="buyerID" type="xs:string" use="optional"/>
		<xs:attribute name="bgnr" type="bgnr" use="optional"/>
		<xs:attribute name="bgcID" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="sender">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="vatDetails" type="vatDetails" minOccurs="0"/>
			<xs:element name="unitNumber" type="unitNumber" minOccurs="0"/>
			<xs:element name="postalAddress" type="address" minOccurs="0"/>
			<xs:element name="contact" type="typedContact" minOccurs="0"/>
			<xs:element name="gs1" type="gs1" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
		<xs:attribute name="bgnr" type="bgnr" use="optional"/>
		<xs:attribute name="bgcID" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="specification">
		<xs:sequence>
			<xs:any processContents="skip" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tenderReference">
		<xs:complexContent>
			<xs:extension base="resourceReference">
				<xs:sequence>
					<xs:element name="quantity" type="quantity" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="buyerID" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="terms">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="code" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="typedContact">
		<xs:complexContent>
			<xs:extension base="contact">
				<xs:attribute name="type" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="typedResourceReference">
		<xs:complexContent>
			<xs:extension base="resourceReference">
				<xs:attribute name="type" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="unit">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="code" type="xs:string" use="optional" default="unit"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="unitAmount">
		<xs:simpleContent>
			<xs:extension base="amount">
				<xs:attribute name="unit" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="unitNumber">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="type" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:simpleType name="value">
		<xs:restriction base="xs:decimal"/>
	</xs:simpleType>
	<xs:complexType name="vatAmount">
		<xs:simpleContent>
			<xs:extension base="amount">
				<xs:attribute name="rate" type="value" use="optional"/>
				<xs:attribute name="base" type="value" use="optional"/>
				<xs:attribute name="vatCode" type="xs:string" use="optional"/>
				<xs:attribute name="currencyAC" type="xs:string" use="optional"/>
				<xs:attribute name="baseAC" type="value" use="optional"/>
				<xs:attribute name="vatAmountAC" type="value" use="optional"/>
				<xs:attribute name="vatCodeAC" type="xs:string" use="optional"/>
				<xs:attribute name="text" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="vatDetails">
		<xs:sequence>
			<xs:element name="vatNumber" type="xs:string"/>
			<xs:element name="vatRegistration" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="date" type="date" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="homeTown" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="versionNumber">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]+(\.[0-9]+)+"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="webAddress">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="text" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="webRequest">
		<xs:sequence>
			<xs:element name="webParameter" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="name" type="xs:string" use="required"/>
							<xs:attribute name="type" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="url" type="xs:string" use="required"/>
	</xs:complexType>
</xs:schema>
