<?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 v2018 rel. 2 sp1 (x64) (http://www.altova.com) by  (CargoSoft GmbH) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
           attributeFormDefault="unqualified">
    <xs:include schemaLocation="https://xsd.cargosoft.de/CargoSoftFile/CargoSoftFile-2023.1.xsd"/>
    <xs:include schemaLocation="https://xsd.cargosoft.de/CargoSoftCommon/CargoSoftCommon-2023.1.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:element name="PerformanceDate" type="xs:dateTime" minOccurs="0">
                                            <xs:annotation>
                                                <xs:documentation>eafako_t.leistdatum</xs:documentation>
                                                <xs:documentation>db field: eafako_t.leistdatum</xs:documentation>
                                            </xs:annotation>
                                        </xs:element>
                                    </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:element name="ShipExchangeRate" minOccurs="0">
                                                        <xs:complexType>
                                                            <xs:sequence>
                                                                <xs:element name="Currency" type="Currency"
                                                                            minOccurs="0">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Currency Code of shiip
                                                                            exchange rate, eafapo_t.fk_wg_schiffskurs
                                                                        </xs:documentation>
                                                                        <xs:documentation>db_field: eafako_t.fk_wg_sch
                                                                        </xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="ExchangeRate" type="xs:double"
                                                                            minOccurs="0">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Based on the domestic
                                                                            currency, eafapo_t.schiffskurs
                                                                        </xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="InverseRate" type="xs:boolean"
                                                                            minOccurs="0">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Inverse rate is the opposite
                                                                            ratio of the exchange rate, value:
                                                                            true/false , eafapo_t.schiffskurs_invers
                                                                        </xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                            </xs:sequence>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </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"/>
        </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>
