<!--
Copyright © 2004 Chemical Industry Data Exchange. All rights reserved.
This schema and its use are subject to the statement appearing on
Page 1 of the Chem eStandards v4.0 Introduction, and to the license
agreement available during the Chem eStandards download process.
-->
<xsd:schema targetNamespace="urn:cidx:names:specification:ces:schema:all:4:0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:cidx:names:specification:ces:schema:all:4:0">
<xsd:include schemaLocation="CIDX_CeS_v4.0_CommonComponents.xsd"/>
<xsd:element name="GrossInvoiceAmount" type="GrossInvoiceAmountType">
<xsd:annotation>
<xsd:documentation>
<Documentation>
<Description>The total gross monetary value in an expressed currency for a billing transaction excluding taxes and any other charges.</Description>
</Documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="GrossInvoiceAmountType">
<xsd:sequence>
<xsd:element ref="MonetaryAmount"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Invoice" type="InvoiceType">
<xsd:annotation>
<xsd:documentation>
<Documentation>
<Description/>
</Documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InvoiceType">
<xsd:sequence>
<xsd:element ref="Header"/>
<xsd:element ref="InvoiceBody"/>
</xsd:sequence>
<xsd:attribute name="Version" type="cidxToken" use="required" fixed="4.0"/>
</xsd:complexType>
<xsd:element name="InvoiceBody" type="InvoiceBodyType">
<xsd:annotation>
<xsd:documentation>
<Documentation>
<Description>High level element containing invoice properties, partners, and details.</Description>
</Documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InvoiceBodyType">
<xsd:sequence>
<xsd:element ref="InvoiceProperties"/>
<xsd:element ref="InvoicePartners"/>
<xsd:element ref="InvoiceDetails"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="InvoiceDate" type="InvoiceDateType">
<xsd:annotation>
<xsd:documentation>
<Documentation>
<Description>The date (and optionally, time) placed on the bill for goods or services.
For a VAT invoice it is defined as the date on which the supply of goods/services was made/completed,
for VAT purposes, or the date on which any payment on account was made, where this date
can be determined and differs from the date of issue of the invoice</Description>
</Documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InvoiceDateType">
<xsd:sequence>
<xsd:element ref="DateTime"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="InvoiceDetails" type="InvoiceDetailsType">
<xsd:annotation>
<xsd:documentation>
<Documentation>
<Description>The details structure of the invoice message</Description>
</Documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InvoiceDetailsType">
<xsd:sequence>
<xsd:element ref="InvoiceLineItem" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="InvoiceIssueDate" type="InvoiceIssueDateType">
<xsd:annotation>
<xsd:documentation>
<Documentation>
<Description>The date (and optionally, time) that the invoice was issued, where this differs from the InvoiceDate</Description>
</Documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InvoiceIssueDateType">
<xsd:sequence>
<xsd:element ref="DateTime"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="InvoiceLineItem" type="InvoiceLineItemType">
<xsd:annotation>
<xsd:documentation>
<Documentation>
<Description>Line item detail(s) that makes up total invoice message.</Description>
</Documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InvoiceLineItemType">
<xsd:sequence>
<xsd:element ref="LineNumber"/>
<xsd:element ref="ShipDate" minOccurs="0"/>
<xsd:element ref="ProductIdentification" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="ProductQuantity"/>
<xsd:element ref="Pricing" maxOccurs="unbounded"/>
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="ReferenceInformation"/>
<xsd:element ref="PurchaseOrderInformation"/>
</xsd:choice>
<xsd:element ref="Allowances" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="TaxableFlag" minOccurs="0"/>
<xsd:element ref="DeliveryTerms" minOccurs="0"/>
<xsd:element ref="ShipmentMethodOfPaymentCode" minOccurs="0"/>
<xsd:element ref="FreightIncludedFlag" minOccurs="0"/>
<xsd:element ref="Shipping" minOccurs="0"/>
<xsd:element ref="OtherPartner" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="SpecialInstructions" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="LineItemTaxableTotal" minOccurs="0"/>
<xsd:element ref="LineItemTotal" minOccurs="0"/>
<xsd:element ref="PackagingQuantity" minOccurs="0"/>
<xsd:element ref="PaymentTerms" minOccurs="0"/>
<xsd:element ref="CountryOfOriginCode" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="InvoicePartners" type="InvoicePartnersType">
<xsd:annotation>
<xsd:documentation>
<Documentation>
<Description>Defines the buyer and the seller between which the transaction takes place.</Description>
</Documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InvoicePartnersType">
<xsd:sequence>
<xsd:element ref="Buyer"/>
<xsd:element ref="Seller"/>
<xsd:element ref="OtherPartner" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="InvoiceProperties" type="InvoicePropertiesType">
<xsd:annotation>
<xsd:documentation>
<Documentation>
<Description>Mid level element containing invoice properties details for the invoice message.</Description>
</Documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InvoicePropertiesType">
<xsd:sequence>
<xsd:element ref="InvoiceNumber"/>
<xsd:element ref="InvoiceType"/>
<xsd:element ref="InvoiceDate"/>
<xsd:element ref="InvoiceIssueDate" minOccurs="0"/>
<xsd:element ref="GrossInvoiceAmount"/>
<xsd:element ref="ReferenceInformation" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="ShipDate" minOccurs="0"/>
<xsd:element ref="ReverseChargeFlag" minOccurs="0"/>
<xsd:element ref="LanguageCode" minOccurs="0"/>
<xsd:element ref="PrimaryCurrency"/>
<xsd:element ref="SecondCurrency" minOccurs="0"/>
<xsd:element ref="CurrencyRate" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="MarketPlaceInformation" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="SpecialInstructions" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="OtherPartner" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="InvoiceTotals"/>
<xsd:element ref="PaymentTerms"/>
<xsd:element ref="DeliveryTerms" minOccurs="0"/>
<xsd:element ref="ShipmentMethodOfPaymentCode" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
|