Schema Name: CIDX_CeS_v4.0_Message_Invoice.xsd
Target Namespace: urn:cidx:names:specification:ces:schema:all:4:0
Collapse XSD Schema Code:

<!--
  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>
Collapse ComplexTypes:
Collapse Elements: