<?xml version="1.0" encoding="UTF-8"?>
<!-- Mit XMLSpy v2013 sp1 (x64) (http://www.altova.com) von Uwe Droste (CargoSoft GmbH) bearbeitet -->
<!-- edited with XMLSpy v2016 sp1 (x64) (http://www.altova.com) by Uwe Droste (CargoSoft GmbH) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="http://files.cargosoft.de/xsd/CargoSoftFile/CargoSoftFile-7.8.3.xsd"/>
	<xs:include schemaLocation="http://files.cargosoft.de/xsd/CargoSoftCommon/CargoSoftCommon-7.8.3.xsd"/>
	<xs:element name="Invoices">
		<xs:annotation>
			<xs:documentation>Illustration of invoices in CargoSoft</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Message" type="Message"/>
				<xs:element name="Invoice" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="InvoiceHeader">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Client" type="CodeAndDescription">
											<xs:annotation>
												<xs:documentation>eafako_t.mandant</xs:documentation>
												<xs:documentation>db field: eafako_t.mandant</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Branch" type="CodeAndDescription" minOccurs="0">
											<xs:annotation>
												<xs:documentation>eafako_t.niederlassung</xs:documentation>
												<xs:documentation>db field: eafako_t.niederlassung</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="InvoiceNumber" type="xs:integer" minOccurs="0">
											<xs:annotation>
												<xs:documentation>On Import: If null, CargoSoft will generate the invoice number from a number range based on the invoice type On Export: CS will send this number eafako_t.rechnr</xs:documentation>
												<xs:documentation>db field: eafako_t.rechnr</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="InvoiceType" type="CodeAndDescription">
											<xs:annotation>
												<xs:documentation>invoice, creditnote, cancellationeafako_t.art_kennz</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="InvoiceCurrency" type="Currency" minOccurs="0">
											<xs:annotation>
												<xs:documentation>eafako_t.fk_wg_sch</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="InvoiceAmount" type="InvoiceAmount"/>
										<xs:element name="CollectionInvoice" type="xs:boolean" minOccurs="0">
											<xs:annotation>
												<xs:documentation>true/falseeafako_t.bu_per</xs:documentation>
												<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="BookingInformation" type="xs:string" minOccurs="0">
											<xs:annotation>
												<xs:documentation>eafako_t.buchungstext</xs:documentation>
												<xs:documentation>db field:eafako_t.buchungstext</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="BookingPeriod" type="xs:string" minOccurs="0">
											<xs:annotation>
												<xs:documentation>yyyymm: etc: 201002eafako_t.bu_per</xs:documentation>
												<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Booked" type="xs:boolean" minOccurs="0">
											<xs:annotation>
												<xs:documentation>true/falseeafako_t.gebucht</xs:documentation>
												<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Cancelled" type="xs:boolean" minOccurs="0">
											<xs:annotation>
												<xs:documentation>true/falseeafako_t.storniert</xs:documentation>
												<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="CancellationInvoiceNumber" type="xs:integer" minOccurs="0">
											<xs:annotation>
												<xs:documentation>eafako_t.beleg_storniert</xs:documentation>
												<xs:documentation>db field: eafako_t.rechnr</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Correction" type="xs:boolean" minOccurs="0">
											<xs:annotation>
												<xs:documentation>true/falseeafako_t.storniert</xs:documentation>
												<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="CorrectionInvoiceNumber" type="xs:integer" minOccurs="0">
											<xs:annotation>
												<xs:documentation>eafako_t.beleg_korrigiert</xs:documentation>
												<xs:documentation>db field: eafako_t.rechnr</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Allocation" minOccurs="0">
											<xs:annotation>
												<xs:documentation>eafako_t.kontierung</xs:documentation>
												<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="COST"/>
													<xs:enumeration value="REVENUE"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="AlreadyPaid" type="xs:boolean" minOccurs="0">
											<xs:annotation>
												<xs:documentation>true/falseeafako_t.lr_bezahlt</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="SecuredROE" type="xs:boolean" minOccurs="0">
											<xs:annotation>
												<xs:documentation>true/falseeafako_t.kurs_sicher</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="CostUnit" type="CodeAndDescription" minOccurs="0">
											<xs:annotation>
												<xs:documentation>eafako_t.fk_kst_mc</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Barcode" type="xs:string" minOccurs="0">
											<xs:annotation>
												<xs:documentation>eafako_t.barcode</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="InvoiceDate" type="xs:dateTime">
											<xs:annotation>
												<xs:documentation>eafako_t.redatum</xs:documentation>
												<xs:documentation>db field: eafako_t.redatum</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="InvoiceAddress" type="InvoiceAddressType" maxOccurs="unbounded"/>
										<xs:element name="PaymentConditions" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Payment conditions</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="PaymentCondition">
														<xs:annotation>
															<xs:documentation>Payment condition codeeafako_t.fk_zb_kz</xs:documentation>
															<xs:documentation>dbfield: eafako_t.fk_zb_kz</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:complexContent>
																<xs:extension base="CodeAndDescription"/>
															</xs:complexContent>
														</xs:complexType>
													</xs:element>
													<xs:element name="NumberOfDays" type="xs:integer" minOccurs="0"/>
													<xs:element name="DueDate" type="xs:dateTime" minOccurs="0">
														<xs:annotation>
															<xs:documentation>eafako_t.valdatum</xs:documentation>
															<xs:documentation>db field: eafako_t.val_datum</xs:documentation>
														</xs:annotation>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="CreationDate" type="DateTimeType" minOccurs="0"/>
										<xs:element name="LastUpdateInformation" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Information about date, time and usereafako_t.fk_mitarb_logineafako_t.systemdateafako_t.systemzeit</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="UpdateDate" type="xs:dateTime" minOccurs="0">
														<xs:annotation>
															<xs:documentation/>
															<xs:documentation>db field: eafako_t.system_datum</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="UpdateTime" type="xs:time" minOccurs="0">
														<xs:annotation>
															<xs:documentation/>
															<xs:documentation>db field: eafako-t.systemzeit</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="User" minOccurs="0">
														<xs:annotation>
															<xs:documentation>User information</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:sequence>
																<xs:element name="Login" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Optional will not be processed</xs:documentation>
																		<xs:documentation>db field: eafako_t.fk_mitarb_login</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="Name" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Optional will not be processed</xs:documentation>
																		<xs:documentation/>
																	</xs:annotation>
																</xs:element>
																<xs:element name="Email" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Optional will not be processed</xs:documentation>
																		<xs:documentation/>
																	</xs:annotation>
																</xs:element>
																<xs:element name="Telephone" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Optional will not be processed</xs:documentation>
																		<xs:documentation/>
																	</xs:annotation>
																</xs:element>
																<xs:element name="Fax" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>Optional will not be processed</xs:documentation>
																		<xs:documentation/>
																	</xs:annotation>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="OrderData" type="OrderDataType" minOccurs="0"/>
										<xs:element name="References" type="References" minOccurs="0">
											<xs:annotation>
												<xs:documentation>eafako_t.rech_referenz</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Attachments" minOccurs="0">
											<xs:complexType>
												<xs:sequence maxOccurs="unbounded">
													<xs:element name="Attachment" type="AttachmentType"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="AdditionalFields" type="AdditionalFieldType" minOccurs="0"/>
									</xs:sequence>
									<xs:attribute name="ID" type="xs:integer">
										<xs:annotation>
											<xs:documentation>fibuko_t oder eafako_t</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
							<xs:element name="InvoiceRows">
								<xs:complexType>
									<xs:sequence maxOccurs="unbounded">
										<xs:element name="InvoiceRow">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Row" type="xs:integer" minOccurs="0">
														<xs:annotation>
															<xs:documentation>eafapo_t.zeile</xs:documentation>
															<xs:documentation>db field: eafapo_t.zeile</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="FileNumber" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>eafapo_t.fk_eakopf_posnr</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="BillingCode" type="CodeAndDescription" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Billing codeseafapo_t.fk_aart_nr</xs:documentation>
															<xs:documentation>db field: eafapo_t.fk_aart_nr</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="BillingTexts" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Billing Text (5 rows possible)</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:sequence>
																<xs:element name="BillingText" type="xs:string" minOccurs="0" maxOccurs="5">
																	<xs:annotation>
																		<xs:documentation>Optional will not be processed</xs:documentation>
																		<xs:documentation>db field: eafapo_t.abr_text, eafapo_t.abr_text2, eafapo_t.abr_text3,eafapo_t.abr_text4, eafapo_t.abr_text5</xs:documentation>
																	</xs:annotation>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<xs:element name="InvoiceAmount" type="InvoiceAmount"/>
													<xs:element name="CostUnit" type="CodeAndDescription" minOccurs="0">
														<xs:annotation>
															<xs:documentation>eafako_t.fk_kst_mc</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="ActivityType" type="CodeAndDescription" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Activity type codeeafapo_t.fk_lart_nr</xs:documentation>
															<xs:documentation>db field: eafapo_t.fk_lart_nr</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="BookingInformation" type="xs:string" minOccurs="0"/>
													<xs:element name="ImpersonalAccountNumber" type="CodeAndDescription" minOccurs="0"/>
													<xs:element name="DifferingBookingPeriod" type="xs:string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>yyyymm: etc: 201002eafako_t.bu_per</xs:documentation>
															<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="ATCNumber" type="xs:string" minOccurs="0"/>
													<xs:element name="AdditionalFields" type="AdditionalFieldType" minOccurs="0"/>
													<xs:element name="SinglePrice" type="xs:decimal" minOccurs="0"/>
													<xs:element name="Accrualnumber" type="xs:integer" minOccurs="0"/>
													<xs:element name="InvoiceAddress" type="InvoiceAddressType" minOccurs="0" maxOccurs="unbounded"/>
													<xs:element name="OrderData" type="OrderDataType" minOccurs="0"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="CargoSoftFiles" minOccurs="0">
								<xs:complexType>
									<xs:sequence maxOccurs="unbounded">
										<xs:element ref="File"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="version" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="OrderDataType">
		<xs:sequence>
			<xs:element name="FileNumber" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eafako_t.fk_eakopf_posnr</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ModeOfTransport" type="xs:string" minOccurs="0"/>
			<xs:element name="OrderDirection" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eafako_t.bereich</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="IMPORT"/>
						<xs:enumeration value="EXPORT"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="MainDepartment" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eakopf_t.hauptabteilung</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="SubDepartment" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eakopf_t.unterabteilung</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="NumberOfGoods" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eafako_t.anzahl_kolli</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DescriptionOfGoods" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eafako_t.inhalt</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="WeightOfGoods" type="xs:double" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eafako_t.gewicht</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="VolumeOfGoods" type="xs:double" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eafako_t.cbm</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ChargableWeightOfGoods" type="xs:double" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eafako_t.frachtpfl_gewicht</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="NumberOfContainers20" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eafako_t.cont_20_ctr</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="NumberOfContainers40" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eafako_t.cont_40_ctr</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="NumberOfContainers45" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation>eafako_t.cont_45_ctr</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AdditionalFields" type="AdditionalFieldType" minOccurs="0"/>
			<xs:element name="Waybill" minOccurs="0">
				<xs:annotation>
					<xs:documentation>AWB or BL Number</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
