<?xml version="1.0" encoding="UTF-8"?>

<!--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
 Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
 
 The contents of this file are subject to the terms of either the GNU
 General Public License Version 2 only ("GPL") or the Common Development
 and Distribution License("CDDL") (collectively, the "License").  You
 may not use this file except in compliance with the License. You can obtain
 a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
 or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
 language governing permissions and limitations under the License.
 
 When distributing the software, include this License Header Notice in each
 file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
 Sun designates this particular file as subject to the "Classpath" exception
 as provided by Sun in the GPL Version 2 section of the License file that
 accompanied this code.  If applicable, add the following below the License
 Header, with the fields enclosed by brackets [] replaced by your own
 identifying information: "Portions Copyrighted [year]
 [name of copyright owner]"
 
 Contributor(s):
 
 If you wish your version of this file to be governed by only the CDDL or
 only the GPL Version 2, indicate your decision by adding "[Contributor]
 elects to include this software in this distribution under the [CDDL or GPL
 Version 2] license."  If you don't indicate a single choice of license, a
 recipient has the option to distribute your version of this file under
 either the CDDL, the GPL Version 2 or to extend the choice of license to
 its licensees as provided above.  However, if you add GPL Version 2 code
 and therefore, elected the GPL Version 2 license, then the option applies
 only if the new code is made subject to such option by the copyright
 holder.
-->

<!--
  Universal Business Language (UBL) Schema 1.0

  Copyright (C) OASIS Open (2004). All Rights Reserved.

  This document and translations of it may be copied and furnished to others, and
  derivative works that comment on or otherwise explain it or assist in its
  implementation may be prepared, copied, published and distributed, in whole or
  in part, without restriction of any kind, provided that the above copyright
  notice and this paragraph are included on all such copies and derivative works.
  However, this document itself may not be modified in any way, such as by
  removing the copyright notice or references to OASIS, except as needed for the
  purpose of developing OASIS specifications, in which case the procedures for
  copyrights defined in the OASIS Intellectual Property Rights document must be
  followed, or as required to translate it into languages other than English.

  The limited permissions granted above are perpetual and will not be revoked by
  OASIS or its successors or assigns.

  This document and the information contained herein is provided on an "AS IS"
  basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
  LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
  INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR
  A PARTICULAR PURPOSE.

  ===============================================================================

  For our absent friend, Michael J. Adcock  - il miglior fabbro

  ===============================================================================

  Universal Business Language Specification
      (http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ubl)
  OASIS Open (http://www.oasis-open.org/)


  Document Type:     Invoice
  Generated On:      Tue Apr 27 11:31:30 2004
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="urn:oasis:names:tc:ubl:Invoice:1:0"
    xmlns:ccts="urn:oasis:names:tc:ubl:CoreComponentParameters:1:0"
    xmlns:cbc="urn:oasis:names:tc:ubl:CommonBasicComponents:1:0"
    xmlns:cac="urn:oasis:names:tc:ubl:CommonAggregateComponents:1:0"
    xmlns:udt="urn:oasis:names:tc:ubl:UnspecializedDatatypes:1:0"
    xmlns:sdt="urn:oasis:names:tc:ubl:SpecializedDatatypes:1:0"
    xmlns:cur="urn:oasis:names:tc:ubl:codelist:CurrencyCode:1:0"
    targetNamespace="urn:oasis:names:tc:ubl:Invoice:1:0"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="1:0">
  <xsd:import namespace="urn:oasis:names:tc:ubl:CoreComponentParameters:1:0" schemaLocation="../common/UBL-CoreComponentParameters-1.0.xsd"/>
  <xsd:import namespace="urn:oasis:names:tc:ubl:CommonBasicComponents:1:0" schemaLocation="../common/UBL-CommonBasicComponents-1.0.xsd"/>
  <xsd:import namespace="urn:oasis:names:tc:ubl:CommonAggregateComponents:1:0" schemaLocation="../common/UBL-CommonAggregateComponents-1.0.xsd"/>
  <xsd:import namespace="urn:oasis:names:tc:ubl:UnspecializedDatatypes:1:0" schemaLocation="../common/UBL-UnspecializedDatatypes-1.0.xsd"/>
  <xsd:import namespace="urn:oasis:names:tc:ubl:SpecializedDatatypes:1:0" schemaLocation="../common/UBL-SpecializedDatatypes-1.0.xsd"/>
  <xsd:import namespace="urn:oasis:names:tc:ubl:codelist:CurrencyCode:1:0" schemaLocation="../codelist/UBL-CodeList-CurrencyCode-1.0.xsd"/>
  <xsd:element name="Invoice" type="InvoiceType">
    <xsd:annotation>
      <xsd:documentation>This element MUST be conveyed as the root element in any instance document based on this Schema expression</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:complexType name="InvoiceType">
    <xsd:annotation>
      <xsd:documentation>
        <ccts:Component>
          <ccts:ComponentType>ABIE</ccts:ComponentType>
          <ccts:DictionaryEntryName>Invoice. Details</ccts:DictionaryEntryName>
          <ccts:Definition>the document that describes the finanical commitment of the Order</ccts:Definition>
          <ccts:ObjectClass>Invoice</ccts:ObjectClass>
        </ccts:Component>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="ID" type="udt:IdentifierType" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Identifier</ccts:DictionaryEntryName>
              <ccts:Definition>the unique number assigned to the invoice by the seller (invoicer)</ccts:Definition>
              <ccts:Cardinality>1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Identifier</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm>
              <ccts:DataType>Identifier. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cbc:CopyIndicator" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Copy. Indicator</ccts:DictionaryEntryName>
              <ccts:Definition>Indicates whether a document is a copy (true) or not (false)</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Copy</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Indicator</ccts:RepresentationTerm>
              <ccts:DataType>Indicator. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="GUID" type="udt:IdentifierType" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Globally Unique_ Identifier. Identifier</ccts:DictionaryEntryName>
              <ccts:Definition>a computer generated unique identifier for the document, which is guaranteed to be unique</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTermQualifier>Globally Unique</ccts:PropertyTermQualifier>
              <ccts:PropertyTerm>Identifier</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm>
              <ccts:DataType>Identifier. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cbc:IssueDate" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Issue Date. Date</ccts:DictionaryEntryName>
              <ccts:Definition>the date when the invoice was issued</ccts:Definition>
              <ccts:Cardinality>1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Issue Date</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Date</ccts:RepresentationTerm>
              <ccts:DataType>Date_Date Time. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="InvoiceTypeCode" type="udt:CodeType" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Invoice Type. Code</ccts:DictionaryEntryName>
              <ccts:Definition>identifies the type of the Invoice by a code.</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Invoice Type</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
              <ccts:DataType>Code. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cbc:Note" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Note. Text</ccts:DictionaryEntryName>
              <ccts:Definition>contains any free form text pertinent to the entire document or to the document message itself. This element may contain notes or any other similar information that is not contained explicitly in another structure.</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Note</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Text</ccts:RepresentationTerm>
              <ccts:DataType>Text. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="TaxPointDate" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Tax Point Date. Date</ccts:DictionaryEntryName>
              <ccts:Definition>the date of the invoice for tax purposes, in accordance with the applicable tax regulation.</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Tax Point Date</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Date</ccts:RepresentationTerm>
              <ccts:DataType>Date_Date Time. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="InvoiceCurrencyCode" type="cur:CurrencyCodeType" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Invoice Currency. Currency_ Code</ccts:DictionaryEntryName>
              <ccts:Definition>the currency in which the Invoice is presented. This may be the same currency as the pricing or as the tax.</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Invoice Currency</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
              <ccts:DataType>Currency_ Code. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="TaxCurrencyCode" type="cur:CurrencyCodeType" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Tax Currency. Currency_ Code</ccts:DictionaryEntryName>
              <ccts:Definition>the currency in which the tax on the Invoice is presented. This may be the same currency as the pricing or as the Invoice itself.</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Tax Currency</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
              <ccts:DataType>Currency_ Code. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="PricingCurrencyCode" type="cur:CurrencyCodeType" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Pricing Currency. Currency_ Code</ccts:DictionaryEntryName>
              <ccts:Definition>the currency in which the prices are specified. This may be the same currency as the Invoice itself or as the tax.</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Pricing Currency</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
              <ccts:DataType>Currency_ Code. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="LineItemCountNumeric" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. LineItem Count. Numeric</ccts:DictionaryEntryName>
              <ccts:Definition>the number of line items</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>LineItem Count</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Numeric</ccts:RepresentationTerm>
              <ccts:DataType>Numeric. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:OrderReference" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Order Reference</ccts:DictionaryEntryName>
              <ccts:Definition>Provides a means of associating an Invoice with one or more Orders</ccts:Definition>
              <ccts:Cardinality>0..n</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Order Reference</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Order Reference</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="DespatchDocumentReference" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Despatch_ Document Reference. Document Reference</ccts:DictionaryEntryName>
              <ccts:Definition>Provides a means of associating an Invoice with one or more Despatch Advices</ccts:Definition>
              <ccts:Cardinality>0..n</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTermQualifier>Despatch</ccts:PropertyTermQualifier>
              <ccts:PropertyTerm>Document Reference</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Document Reference</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="ReceiptDocumentReference" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Receipt_ Document Reference. Document Reference</ccts:DictionaryEntryName>
              <ccts:Definition>Provides a means of associating an Invoice with one or more Receipt Advices</ccts:Definition>
              <ccts:Cardinality>0..n</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTermQualifier>Receipt</ccts:PropertyTermQualifier>
              <ccts:PropertyTerm>Document Reference</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Document Reference</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="AdditionalDocumentReference" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Additional_ Document Reference. Document Reference</ccts:DictionaryEntryName>
              <ccts:Definition>Provides other means of identifying an Invoice</ccts:Definition>
              <ccts:Cardinality>0..n</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTermQualifier>Additional</ccts:PropertyTermQualifier>
              <ccts:PropertyTerm>Document Reference</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Document Reference</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:BuyerParty" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Buyer Party</ccts:DictionaryEntryName>
              <ccts:Definition>associates the invoice with information about the buyer involved in the transaction.</ccts:Definition>
              <ccts:Cardinality>1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Buyer Party</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Buyer Party</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:SellerParty" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Seller Party</ccts:DictionaryEntryName>
              <ccts:Definition>associates the invoice with information about the seller involved in the transaction.</ccts:Definition>
              <ccts:Cardinality>1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Seller Party</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Seller Party</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:Delivery" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Delivery</ccts:DictionaryEntryName>
              <ccts:Definition>associates the overall invoice with the details of a delivery (or deliveries)</ccts:Definition>
              <ccts:Cardinality>0..n</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Delivery</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Delivery</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:PaymentMeans" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Payment Means</ccts:DictionaryEntryName>
              <ccts:Definition>associates the invoice with the expected means of payment.</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Payment Means</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Payment Means</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:PaymentTerms" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Payment Terms</ccts:DictionaryEntryName>
              <ccts:Definition>associates the invoice with the payment terms applicable/offered.</ccts:Definition>
              <ccts:Cardinality>0..n</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Payment Terms</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Payment Terms</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:AllowanceCharge" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Allowance Charge</ccts:DictionaryEntryName>
              <ccts:Definition>associates the invoice with an overall charge or allowance.</ccts:Definition>
              <ccts:Cardinality>0..n</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Allowance Charge</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Allowance Charge</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:ExchangeRate" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Exchange Rate</ccts:DictionaryEntryName>
              <ccts:Definition>associates the invoice with an exchange rate. In any one invoice there is only one exchange rate needed, either between invoicing at tax currency, or between pricing and invoice totalling.</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Exchange Rate</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Exchange Rate</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:TaxTotal" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Tax Total</ccts:DictionaryEntryName>
              <ccts:Definition>associates the invoice with summary information for a particular tax.</ccts:Definition>
              <ccts:Cardinality>0..n</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Tax Total</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Tax Total</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:LegalTotal" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Legal Total</ccts:DictionaryEntryName>
              <ccts:Definition>associates the invoice with a set of totals required for the invoice to be a legal document.</ccts:Definition>
              <ccts:Cardinality>1</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Legal Total</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Legal Total</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="cac:InvoiceLine" minOccurs="1" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Invoice Line</ccts:DictionaryEntryName>
              <ccts:Definition>an invoice has one or more invoice lines</ccts:Definition>
              <ccts:Cardinality>1..n</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
              <ccts:PropertyTerm>Invoice Line</ccts:PropertyTerm>
              <ccts:AssociatedObjectClass>Invoice Line</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="AdditionalDocumentReference" type="cac:DocumentReferenceType"/>
  <xsd:element name="DespatchDocumentReference" type="cac:DocumentReferenceType"/>
  <xsd:element name="LineItemCountNumeric" type="LineItemCountNumericType"/>
  <xsd:element name="ReceiptDocumentReference" type="cac:DocumentReferenceType"/>
  <xsd:element name="TaxPointDate" type="TaxPointDateType"/>
  <xsd:complexType name="LineItemCountNumericType">
    <xsd:simpleContent>
      <xsd:extension base="udt:NumericType"/>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="TaxPointDateType">
    <xsd:simpleContent>
      <xsd:extension base="udt:DateType"/>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:schema>
