Search Posts

Visits: 492

[2020-05-25]関連記事を追加しました。「デジタルインボイスのC2での妥当性検証」

Open Peppolの論理データ項目(セマンティックモデル)の要素は、OASISが勧告しているUBLでXML文書として定義されます。論理データ項目(セマンティックモデル)の要素をUBLが定義しているどのXML要素に対応付けるか指定するのがシンタックスバインディングです。
Open Peppolの論理データ項目は、デジタルインボイスについての業務要件から規定していますので、必ずしもUBLの定義と一致するとは限りません。
例えは、UBLのXMLスキーマ定義では任意項目とされている要素が、Open Peppolの論理データ項目(セマンティックモデル)の要素としては、必須項目だったりします。
また、UBLのXMLスキーマ定義では複数回の繰り返しが許されている要素が、Open Peppolの論理データ項目(セマンティックモデル)の要素としては、最大で1つしか定義が許されていなかったりします。
Open Peppolでは、Schematronを使用して、繰り返し回数の定義の違いを制御しています。この制御をカーディナリティ・アラインメント(Cardinality Alignment)といいます。

こちらの記事 も併せてお読みください。

デジタルインボイスの例とOASISのUBL 2.1 Invoiceを文末に紹介しています。この記事では、この例をもとに説明します。
デジタルインボイスは要素として定義されており、そのデータ型はInvoiceTypeです。

   <!-- ===== Element Declarations ===== -->
   <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

InvoiceTypeは、xsd:complexTypeとして定義されており、複数のXML要素を含むxsd:sequenceです。
ここでは、UNECEが規定し、ISO 15000-5で世界標準として登録されているCore Component (Technical) Specification に基づいていることに留意してください。

   <!-- ===== Type Definitions ===== -->
   <!-- ===== Aggregate Business Information Entity Type Definitions ===== -->
   <xsd:complexType name="InvoiceType">
      <xsd:annotation>
         <xsd:documentation>
            <ccts:Component>
               <ccts:ComponentType>ABIE</ccts:ComponentType>
               <ccts:DictionaryEntryName>Invoice. Details</ccts:DictionaryEntryName>
               <ccts:Definition>A document used to request payment.</ccts:Definition>
               <ccts:ObjectClass>Invoice</ccts:ObjectClass>
            </ccts:Component>
         </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>

以下省略

カーディナリティ・アラインメントの種類

CAR-2

それでは、次の「デジタルインボイスにはインボイス タイプ コードがなければならない」というShared ruleで、どのようにカーディナリティ・アラインメント(Cardinality Alignment)が制御されているか確認してみましょう。
[ibr-004]-An Invoice MUST have an Invoice type code (ibt-003).
ibt-003 Invoice type codeは、<xsd:element ref=”cbc:InvoiceTypeCode” minOccurs=”0″ maxOccurs=”1″>というXML要素です。XMLデータとしての定義は、cbc:InvoiceTypeCodeに定義されています。ここでは、minOccurs=”0″ maxOccurs=”1″という属性定義に注目してください。最小の繰り返しが0(ゼロ)。最大の繰り返しが n と定義されており、任意項目で最大の繰り返しが1という定義です。 0..1 のように表記することがあり、Open Peppolの定義でもこういった表記が行われています。

    <xsd:element ref="cbc:InvoiceTypeCode" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Invoice Type Code. Code</ccts:DictionaryEntryName>
                     <ccts:Definition>A code signifying the type of the Invoice.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Invoice Type Code</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
                     <ccts:DataType>Code. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>

<Invoice>要素を構成する<cbc:InvoiceTypeCodeは、
<xsd:element name=”InvoiceTypeCode” type=”InvoiceTypeCodeType”/>

と定義されており、InvoiceTypeCodeTypeは、UBLの基本データ型 udt:CodeTypeと定義されています。この基本型は、セマンティックデータ型Codeと対応しています。

<xsd:complexType name="InvoiceTypeCodeType">
    <xsd:simpleContent>
        <xsd:extension base="udt:CodeType"/>
    </xsd:simpleContent>
</xsd:complexType>

さて、XMLスキーマ検証では、<Invpoice>には、任意項目で最大の繰り返しが1という定義ですから、<cbc:InvoiceTypeCode>要素がなくてもエラーとなりません。
そのため、スキーマトロンのルールを提供することで、必須項目が漏れていないか確認されています。
https://www.wuwei.space/jp_pint/billing-japan/syntax2/ubl-invoice/cbc-InvoiceTypeCode/en/
ibr-004(fatal)
[ibr-004]-An Invoice MUST have an Invoice type code (ibt-003).
は、次のような定義です。

ibr-004(fatal)
[ibr-004]-An Invoice MUST have an Invoice type code (ibt-003).
Context /ubl:Invoice | /cn:CreditNote
Test (cbc:InvoiceTypeCode) !='' or (cbc:CreditNoteTypeCode) !=''

スキーマトロンのファイルの中では次のような記述で定義しています。

<rule context="/ubl:Invoice | /cn:CreditNote">
    <assert id="ibr-04" flag="fatal" 
    test="
        (cbc:InvoiceTypeCode) !='' or 
        (cbc:CreditNoteTypeCode) !=''
    ">[ibr-004]-An Invoice shall have an Invoice type code (ibt-003).</assert>
</rule>

ここで、contextは、検証対象とするXML要素を選択するXPath定義でtestは、テスト内容を記述しています。(cbc:InvoiceTypeCode) !=” と定義することで何らかの文字列を含んだ<cbc:InvoiceTypeCode>要素があることをテストしています。

CAR-3

次は、「デジタルインボイスの注記は、最大1件」というShared ruleです。ここで、どのようにカーディナリティ・アラインメント(Cardinality Alignment)が制御されているか確認してみましょう。
[ibr-sr-51]-Note (ibt-22) MUST occur maximum once
<cbc:Note>は、minOccurs=”0″ maxOccurs=”unbounded”ですから、UBLでは、任意項目でいくつ繰り返してもよいと定義されています。

<xsd:element ref="cbc:Note" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Note. Text</ccts:DictionaryEntryName>
                     <ccts:Definition>Free-form text pertinent to this document, conveying information that is not contained explicitly in other structures.</ccts:Definition>
                     <ccts:Cardinality>0..n</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>

論理データ項目(セマンティックモデル)の要素としては、最大1件ですから、ここでもスキーマトロンのチェックが必要です。
https://www.wuwei.space/jp_pint/billing-japan/syntax2/ubl-invoice/cbc-Note/en/のページを確認していただくと次の定義があります。
ibr-sr-51(fatal)
[ibr-sr-51]-Note (ibt-022) MUST occur maximum once
Context /ubl:Invoice | /cn:CreditNote
Test (count(cbc:Note) <= 1) これは、スキーマトロンファイルでは、次のように記述されており、

<rule context=”/ubl:Invoice | /cn:CreditNote”>
    <assert id=”ibr-sr-51″ flag=”fatal” 
    test=”
        (count(cbc:Note) &lt;= 1)
    “>[ibr-sr-51]-Note MUST occur maximum once</assert>
</rulr>

count(cbc:Note) &lt;= 1 とテストすることで<Invoice>には<cbc:Note>が最大1件か検証されます。

立ち入り禁止ルール

JP PINT 0.9.1では提供されていませんが、JP PINT 0.9には、論理データ項目(セマンティックモデル)の要素として定義されていないものは、UBLのXML
要素として提供されていても仕様しないことを確認するBASICルールが提供されていました。
シンタックス バインディングで定義されていない項目は、使用しない。という「立ち入り禁止」ルールで約600件ありました。

    <rule context="/ubl:Invoice | /cn:CreditNote">
      <assert id="UBL-CR-001" flag="warning" test="not(ext:UBLExtensions)">[UBL-CR-001]-A UBL invoice should not include extensions</assert>
      <assert id="UBL-CR-002" flag="warning" test="not(cbc:UBLVersionID) or cbc:UBLVersionID = '2.1'">[UBL-CR-002]-A UBL invoice should not include the UBLVersionID or it should be 2.1</assert>
      <assert id="UBL-CR-003" flag="warning" test="not(cbc:ProfileExecutionID)">[UBL-CR-003]-A UBL invoice should not include the ProfileExecutionID </assert>
      <assert id="UBL-CR-004" flag="warning" test="not(cbc:CopyIndicator)">[UBL-CR-004]-A UBL invoice should not include the CopyIndicator </assert>
      <assert id="UBL-CR-005" flag="warning" test="not(cbc:UUID)">[UBL-CR-005]-A UBL invoice should not include the UUID </assert>
      <assert id="UBL-CR-006" flag="warning" test="not(cbc:IssueTime)">[UBL-CR-006]-A UBL invoice should not include the IssueTime </assert>
      <assert id="UBL-CR-007" flag="warning" test="not(cbc:PricingCurrencyCode)">[UBL-CR-007]-A UBL invoice should not include the PricingCurrencyCode</assert>
      <assert id="UBL-CR-008" flag="warning" test="not(cbc:PaymentCurrencyCode)">[UBL-CR-008]-A UBL invoice should not include the PaymentCurrencyCode</assert>
      <assert id="UBL-CR-009" flag="warning" test="not(cbc:PaymentAlternativeCurrencyCode)">[UBL-CR-009]-A UBL invoice should not include the PaymentAlternativeCurrencyCode</assert>
      <assert id="UBL-CR-010" flag="warning" test="not(cbc:AccountingCostCode)">[UBL-CR-010]-A UBL invoice should not include the AccountingCostCode</assert>
      <assert id="UBL-CR-011" flag="warning" test="not(cbc:LineCountNumeric)">[UBL-CR-011]-A UBL invoice should not include the LineCountNumeric</assert>
      <assert id="UBL-CR-012" flag="warning" test="not(cac:InvoicePeriod/cbc:StartTime)">[UBL-CR-012]-A UBL invoice should not include the InvoicePeriod StartTime</assert>
      <assert id="UBL-CR-013" flag="warning" test="not(cac:InvoicePeriod/cbc:EndTime)">[UBL-CR-013]-A UBL invoice should not include the InvoicePeriod EndTime</assert>
      <assert id="UBL-CR-014" flag="warning" test="not(cac:InvoicePeriod/cbc:DurationMeasure)">[UBL-CR-014]-A UBL invoice should not include the InvoicePeriod DurationMeasure</assert>
      <assert id="UBL-CR-015" flag="warning" test="not(cac:InvoicePeriod/cbc:Description)">[UBL-CR-015]-A UBL invoice should not include the InvoicePeriod Description</assert>
      <assert id="UBL-CR-016" flag="warning" test="not(cac:OrderReference/cbc:CopyIndicator)">[UBL-CR-016]-A UBL invoice should not include the OrderReference CopyIndicator</assert>
      <assert id="UBL-CR-017" flag="warning" test="not(cac:OrderReference/cbc:UUID)">[UBL-CR-017]-A UBL invoice should not include the OrderReference UUID</assert>
      <assert id="UBL-CR-018" flag="warning" test="not(cac:OrderReference/cbc:IssueDate)">[UBL-CR-018]-A UBL invoice should not include the OrderReference IssueDate</assert>
      <assert id="UBL-CR-019" flag="warning" test="not(cac:OrderReference/cbc:IssueTime)">[UBL-CR-019]-A UBL invoice should not include the OrderReference IssueTime</assert>
以下省略

デジタルインボイスの例

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
    4.4 Calculations of consumption tax
-->
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
    xmlns:ccts="urn:un:unece:uncefact:documentation:2"
    xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
    xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
    xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
    xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 
    http://docs.oasis-open.org/ubl/os-UBL-2.1/xsd/maindoc/UBL-Invoice-2.1.xsd">
    <cbc:CustomizationID>urn:fdc:peppol:jp:billing:3.0</cbc:CustomizationID>
    <cbc:ProfileID>urn:peppol:bis:billing</cbc:ProfileID>
    <cbc:ID>12345678</cbc:ID>
    <cbc:IssueDate>2023-12-01</cbc:IssueDate>
    <cbc:DueDate>2024-01-31</cbc:DueDate>
    <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
    <cbc:DocumentCurrencyCode>JPY</cbc:DocumentCurrencyCode>
    <cbc:BuyerReference>abc−123</cbc:BuyerReference>
    <cac:InvoicePeriod>
        <cbc:StartDate>2023-11-01</cbc:StartDate>
        <cbc:EndDate>2023-11-30</cbc:EndDate>
        <cbc:DescriptionCode>3</cbc:DescriptionCode>
    </cac:InvoicePeriod>
    <cac:OrderReference>
        <cbc:ID>AA-123-BB</cbc:ID>
    </cac:OrderReference>
    <cac:AccountingSupplierParty>
        <cac:Party>
            <cbc:EndpointID schemeID="0188">8700110005901</cbc:EndpointID>
            <cac:PartyName>
                <cbc:Name>株式会社〇〇商事</cbc:Name>
            </cac:PartyName>
            <cac:PostalAddress>
                <cbc:StreetName>四谷4-29-X</cbc:StreetName>
                <cbc:AdditionalStreetName>〇〇商事ビル</cbc:AdditionalStreetName>
                <cbc:CityName>新宿区</cbc:CityName>
                <cbc:PostalZone>160−00xx</cbc:PostalZone>
                <cbc:CountrySubentity>東京都</cbc:CountrySubentity>
                <cac:Country>
                    <cbc:IdentificationCode>JP</cbc:IdentificationCode>
                </cac:Country>
            </cac:PostalAddress>
            <cac:PartyTaxScheme>
                <cbc:CompanyID>T8700110005901</cbc:CompanyID>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:PartyTaxScheme>
            <cac:PartyLegalEntity>
                <cbc:RegistrationName>株式会社〇〇商事</cbc:RegistrationName>
                <cbc:CompanyID>8700110005901</cbc:CompanyID>
            </cac:PartyLegalEntity>
            <cac:Contact>
                <cbc:Name>法人営業2課</cbc:Name>
                <cbc:Telephone>03-3xxx-1234</cbc:Telephone>
                <cbc:ElectronicMail>houjineigyou2@〇〇.co.jp</cbc:ElectronicMail>
            </cac:Contact>
        </cac:Party>
    </cac:AccountingSupplierParty>
    <cac:AccountingCustomerParty>
        <cac:Party>
            <cbc:EndpointID schemeID="0188">7700110005900</cbc:EndpointID>
            <cac:PartyIdentification>
                <cbc:ID>789KH512</cbc:ID>
            </cac:PartyIdentification>
            <cac:PostalAddress>
                <cbc:StreetName>北十二条西XX-X</cbc:StreetName>
                <cbc:CityName>札幌市</cbc:CityName>
                <cbc:PostalZone>001−00xx</cbc:PostalZone>
                <cbc:CountrySubentity>北海道</cbc:CountrySubentity>
                <cac:Country>
                    <cbc:IdentificationCode>JP</cbc:IdentificationCode>
                </cac:Country>
            </cac:PostalAddress>
            <cac:PartyLegalEntity>
                <cbc:RegistrationName>株式会社△山物産</cbc:RegistrationName>
                <cbc:CompanyID schemeID="0147">654321:321:247:1</cbc:CompanyID>
            </cac:PartyLegalEntity>
            <cac:Contact>
                <cbc:Name>株式会社△山物産札幌支社</cbc:Name>
                <cbc:ElectronicMail>purchaser@△yamabussan.co.jp</cbc:ElectronicMail>
            </cac:Contact>
        </cac:Party>
    </cac:AccountingCustomerParty>
    <cac:Delivery>
        <cbc:ActualDeliveryDate>2023-11-04</cbc:ActualDeliveryDate>
        <cac:DeliveryLocation>
            <cac:Address>
                <cbc:StreetName>北十二条西XX-X</cbc:StreetName>
                <cbc:AdditionalStreetName>札幌第3倉庫</cbc:AdditionalStreetName>
                <cbc:CityName>札幌市</cbc:CityName>
                <cbc:PostalZone>001−00xx</cbc:PostalZone>
                <cbc:CountrySubentity>北海道</cbc:CountrySubentity>
                <cac:Country>
                    <cbc:IdentificationCode>JP</cbc:IdentificationCode>
                </cac:Country>
            </cac:Address>
        </cac:DeliveryLocation>
        <cac:DeliveryParty>
            <cac:PartyName>
                <cbc:Name>株式会社△山物産札幌支社</cbc:Name>
            </cac:PartyName>
        </cac:DeliveryParty>
    </cac:Delivery>
    <cac:PaymentMeans>
        <cbc:PaymentMeansCode name="Credit transfer">3</cbc:PaymentMeansCode>
        <cbc:PaymentID>Snippet1</cbc:PaymentID>
        <cac:PayeeFinancialAccount>
            <cbc:ID>1234121123456780</cbc:ID>
            <cbc:Name>カ)マルマルショウジ</cbc:Name>
        </cac:PayeeFinancialAccount>
    </cac:PaymentMeans>
    <cac:AllowanceCharge>
        <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
        <cbc:AllowanceChargeReason>諸掛</cbc:AllowanceChargeReason>
        <cbc:Amount currencyID="JPY">200</cbc:Amount>
        <cac:TaxCategory>
            <cbc:ID>S</cbc:ID>
            <cbc:Percent>10</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:TaxCategory>
    </cac:AllowanceCharge>
    <cac:AllowanceCharge>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:AllowanceChargeReason>割引</cbc:AllowanceChargeReason>
        <cbc:Amount currencyID="JPY">300</cbc:Amount>
        <cac:TaxCategory>
            <cbc:ID>S</cbc:ID>
            <cbc:Percent>10</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:TaxCategory>
    </cac:AllowanceCharge>
    <cac:TaxTotal>
        <cbc:TaxAmount currencyID="JPY">400</cbc:TaxAmount>
        <cac:TaxSubtotal>
            <cbc:TaxableAmount currencyID="JPY">4000</cbc:TaxableAmount>
            <cbc:TaxAmount currencyID="JPY">400</cbc:TaxAmount>
            <cac:TaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>10</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:TaxCategory>
        </cac:TaxSubtotal>
    </cac:TaxTotal>
    <cac:LegalMonetaryTotal>
        <cbc:LineExtensionAmount currencyID="JPY">4000</cbc:LineExtensionAmount>
        <cbc:TaxExclusiveAmount currencyID="JPY">3900</cbc:TaxExclusiveAmount>
        <cbc:TaxInclusiveAmount currencyID="JPY">4300</cbc:TaxInclusiveAmount>
        <cbc:AllowanceTotalAmount currencyID="JPY">300</cbc:AllowanceTotalAmount>
        <cbc:ChargeTotalAmount currencyID="JPY">200</cbc:ChargeTotalAmount>
        <cbc:PayableAmount currencyID="JPY">4300</cbc:PayableAmount>
    </cac:LegalMonetaryTotal>
    <cac:InvoiceLine>
        <cbc:ID>1</cbc:ID>
        <cbc:Note>ABC1234</cbc:Note>
        <cbc:InvoicedQuantity unitCode="XST">5000</cbc:InvoicedQuantity>
        <cbc:LineExtensionAmount currencyID="JPY">4000</cbc:LineExtensionAmount>
        <cac:OrderLineReference>
            <cbc:LineID>2023-POU-8745#001</cbc:LineID>
            <cac:OrderReference>
                <cbc:ID>2023-POU-8745</cbc:ID>
            </cac:OrderReference>
        </cac:OrderLineReference>
        <cac:Item>
            <cbc:Name>原稿用紙(A4)</cbc:Name>
            <cac:ClassifiedTaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>10</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:ClassifiedTaxCategory>
            <cac:AdditionalItemProperty>
                <cbc:Name>数量単位</cbc:Name>
                <cbc:Value>枚</cbc:Value>
            </cac:AdditionalItemProperty>
        </cac:Item>
        <cac:Price>
            <cbc:PriceAmount currencyID="JPY">800</cbc:PriceAmount>
            <cbc:BaseQuantity unitCode="XST">1000</cbc:BaseQuantity>
        </cac:Price>
    </cac:InvoiceLine>
</Invoice>

OASISが公開しているUBL 2.1のInvoice 

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Library:           OASIS Universal Business Language (UBL) 2.1 OS
                     http://docs.oasis-open.org/ubl/os-UBL-2.1/
  Release Date:      04 November 2013
  Module:            xsd/maindoc/UBL-Invoice-2.1.xsd
  Generated on:      2013-10-31 17:17z
  Copyright (c) OASIS Open 2013. All Rights Reserved.
-->
<xsd:schema xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
            xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
            xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
            xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:ccts="urn:un:unece:uncefact:documentation:2"
            targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified"
            version="2.1">
   <!-- ===== Imports ===== -->
   <xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
               schemaLocation="../common/UBL-CommonAggregateComponents-2.1.xsd"/>
   <xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
               schemaLocation="../common/UBL-CommonBasicComponents-2.1.xsd"/>
   <xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
               schemaLocation="../common/UBL-CommonExtensionComponents-2.1.xsd"/>
   <!-- ===== Element Declarations ===== -->
   <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>
   <!-- ===== Type Definitions ===== -->
   <!-- ===== Aggregate Business Information Entity Type Definitions ===== -->
   <xsd:complexType name="InvoiceType">
      <xsd:annotation>
         <xsd:documentation>
            <ccts:Component>
               <ccts:ComponentType>ABIE</ccts:ComponentType>
               <ccts:DictionaryEntryName>Invoice. Details</ccts:DictionaryEntryName>
               <ccts:Definition>A document used to request payment.</ccts:Definition>
               <ccts:ObjectClass>Invoice</ccts:ObjectClass>
            </ccts:Component>
         </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
           <xsd:element ref="ext:UBLExtensions" minOccurs="0" maxOccurs="1">
              <xsd:annotation>
                 <xsd:documentation>A container for all extensions present in the document.</xsd:documentation>
              </xsd:annotation>
           </xsd:element>
          <xsd:element ref="cbc:UBLVersionID" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. UBL Version Identifier. Identifier</ccts:DictionaryEntryName>
                     <ccts:Definition>Identifies the earliest version of the UBL 2 schema for this document type that defines all of the elements that might be encountered in the current instance.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>UBL Version Identifier</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm>
                     <ccts:DataType>Identifier. Type</ccts:DataType>
                     <ccts:Examples>2.0.5</ccts:Examples>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:CustomizationID" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Customization Identifier. Identifier</ccts:DictionaryEntryName>
                     <ccts:Definition>Identifies a user-defined customization of UBL for a specific use.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Customization Identifier</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm>
                     <ccts:DataType>Identifier. Type</ccts:DataType>
                     <ccts:Examples>NES</ccts:Examples>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:ProfileID" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Profile Identifier. Identifier</ccts:DictionaryEntryName>
                     <ccts:Definition>Identifies a user-defined profile of the customization of UBL being used.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Profile Identifier</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm>
                     <ccts:DataType>Identifier. Type</ccts:DataType>
                     <ccts:Examples>BasicProcurementProcess</ccts:Examples>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:ProfileExecutionID" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Profile Execution Identifier. Identifier</ccts:DictionaryEntryName>
                     <ccts:Definition>Identifies an instance of executing a profile, to associate all transactions in a collaboration.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Profile Execution Identifier</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm>
                     <ccts:DataType>Identifier. Type</ccts:DataType>
                     <ccts:Examples>BPP-1001</ccts:Examples>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:ID" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Identifier</ccts:DictionaryEntryName>
                     <ccts:Definition>An identifier for this document, assigned by the sender.</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:AlternativeBusinessTerms>Invoice Number</ccts:AlternativeBusinessTerms>
                  </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. Indicator</ccts:DictionaryEntryName>
                     <ccts:Definition>Indicates whether this document is a copy (true) or not (false).</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Copy</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Indicator</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Indicator</ccts:RepresentationTerm>
                     <ccts:DataType>Indicator. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:UUID" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. UUID. Identifier</ccts:DictionaryEntryName>
                     <ccts:Definition>A universally unique identifier for an instance of this document.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>UUID</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, assigned by the sender, on which this document 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. Type</ccts:DataType>
                     <ccts:AlternativeBusinessTerms>Invoice Date</ccts:AlternativeBusinessTerms>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:IssueTime" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Issue Time. Time</ccts:DictionaryEntryName>
                     <ccts:Definition>The time, assigned by the sender, at which this document was issued.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Issue Time</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Time</ccts:RepresentationTerm>
                     <ccts:DataType>Time. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:DueDate" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Due Date. Date</ccts:DictionaryEntryName>
                     <ccts:Definition>The date on which Invoice is due.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Due Date</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Date</ccts:RepresentationTerm>
                     <ccts:DataType>Date. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:InvoiceTypeCode" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Invoice Type Code. Code</ccts:DictionaryEntryName>
                     <ccts:Definition>A code signifying the type of the Invoice.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Invoice Type Code</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="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Note. Text</ccts:DictionaryEntryName>
                     <ccts:Definition>Free-form text pertinent to this document, conveying information that is not contained explicitly in other structures.</ccts:Definition>
                     <ccts:Cardinality>0..n</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="cbc: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, used to indicate the point at which tax becomes applicable.</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. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:DocumentCurrencyCode" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Document_ Currency Code. Code</ccts:DictionaryEntryName>
                     <ccts:Definition>A code signifying the default currency for this document.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Document</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Currency Code</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
                     <ccts:DataTypeQualifier>Currency</ccts:DataTypeQualifier>
                     <ccts:DataType>Currency_ Code. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:TaxCurrencyCode" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Tax_ Currency Code. Code</ccts:DictionaryEntryName>
                     <ccts:Definition>A code signifying the currency used for tax amounts in the Invoice.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Tax</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Currency Code</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
                     <ccts:DataTypeQualifier>Currency</ccts:DataTypeQualifier>
                     <ccts:DataType>Currency_ Code. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:PricingCurrencyCode" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Pricing_ Currency Code. Code</ccts:DictionaryEntryName>
                     <ccts:Definition>A code signifying the currency used for prices in the Invoice.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Pricing</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Currency Code</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
                     <ccts:DataTypeQualifier>Currency</ccts:DataTypeQualifier>
                     <ccts:DataType>Currency_ Code. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:PaymentCurrencyCode" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Payment_ Currency Code. Code</ccts:DictionaryEntryName>
                     <ccts:Definition>A code signifying the currency used for payment in the Invoice.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Payment</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Currency Code</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
                     <ccts:DataTypeQualifier>Currency</ccts:DataTypeQualifier>
                     <ccts:DataType>Currency_ Code. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:PaymentAlternativeCurrencyCode"
                      minOccurs="0"
                      maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Payment Alternative_ Currency Code. Code</ccts:DictionaryEntryName>
                     <ccts:Definition>A code signifying the alternative currency used for payment in the Invoice.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Payment Alternative</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Currency Code</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
                     <ccts:DataTypeQualifier>Currency</ccts:DataTypeQualifier>
                     <ccts:DataType>Currency_ Code. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:AccountingCostCode" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Accounting Cost Code. Code</ccts:DictionaryEntryName>
                     <ccts:Definition>The buyer's accounting code, applied to the Invoice as a whole.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Accounting Cost Code</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:AccountingCost" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Accounting Cost. Text</ccts:DictionaryEntryName>
                     <ccts:Definition>The buyer's accounting code, applied to the Invoice as a whole, expressed as text.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Accounting Cost</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Text</ccts:RepresentationTerm>
                     <ccts:DataType>Text. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cbc:LineCountNumeric" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Line Count. Numeric</ccts:DictionaryEntryName>
                     <ccts:Definition>The number of lines in the document.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Line 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="cbc:BuyerReference" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>BBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Buyer_ Reference. Text</ccts:DictionaryEntryName>
                     <ccts:Definition>A reference provided by the buyer used for internal routing of the document.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Buyer</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Reference</ccts:PropertyTerm>
                     <ccts:RepresentationTerm>Text</ccts:RepresentationTerm>
                     <ccts:DataType>Text. Type</ccts:DataType>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:InvoicePeriod" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Invoice_ Period. Period</ccts:DictionaryEntryName>
                     <ccts:Definition>A period to which the Invoice applies.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Invoice</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Period</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Period</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Period</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:OrderReference" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Order Reference</ccts:DictionaryEntryName>
                     <ccts:Definition>A reference to the Order with which this Invoice is associated.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Order Reference</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Order Reference</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Order Reference</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:BillingReference" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Billing Reference</ccts:DictionaryEntryName>
                     <ccts:Definition>A reference to a billing document associated with this document.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Billing Reference</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Billing Reference</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Billing Reference</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac: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>A reference to a Despatch Advice associated with this document.</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:RepresentationTerm>Document Reference</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac: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>A reference to a Receipt Advice associated with this document.</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:RepresentationTerm>Document Reference</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:StatementDocumentReference"
                      minOccurs="0"
                      maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Statement_ Document Reference. Document Reference</ccts:DictionaryEntryName>
                     <ccts:Definition>A reference to a Statement associated with this document.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Statement</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Document Reference</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Document Reference</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Document Reference</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:OriginatorDocumentReference"
                      minOccurs="0"
                      maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Originator_ Document Reference. Document Reference</ccts:DictionaryEntryName>
                     <ccts:Definition>A reference to an originator document associated with this document.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Originator</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Document Reference</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Document Reference</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Document Reference</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:ContractDocumentReference"
                      minOccurs="0"
                      maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Contract_ Document Reference. Document Reference</ccts:DictionaryEntryName>
                     <ccts:Definition>A reference to a contract associated with this document.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Contract</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Document Reference</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Document Reference</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Document Reference</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac: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>A reference to an additional document associated with this document.</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:RepresentationTerm>Document Reference</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:ProjectReference" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Project Reference</ccts:DictionaryEntryName>
                     <ccts:Definition>Information about a project.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Project Reference</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Project Reference</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Project Reference</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:Signature" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Signature</ccts:DictionaryEntryName>
                     <ccts:Definition>A signature applied to this document.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Signature</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Signature</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Signature</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:AccountingSupplierParty" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Accounting_ Supplier Party. Supplier Party</ccts:DictionaryEntryName>
                     <ccts:Definition>The accounting supplier party.</ccts:Definition>
                     <ccts:Cardinality>1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Accounting</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Supplier Party</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Supplier Party</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Supplier Party</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:AccountingCustomerParty" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Accounting_ Customer Party. Customer Party</ccts:DictionaryEntryName>
                     <ccts:Definition>The accounting customer party.</ccts:Definition>
                     <ccts:Cardinality>1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Accounting</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Customer Party</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Customer Party</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Customer Party</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:PayeeParty" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Payee_ Party. Party</ccts:DictionaryEntryName>
                     <ccts:Definition>The payee.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Payee</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Party</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Party</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Party</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:BuyerCustomerParty" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Buyer_ Customer Party. Customer Party</ccts:DictionaryEntryName>
                     <ccts:Definition>The buyer.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Buyer</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Customer Party</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Customer Party</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Customer Party</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:SellerSupplierParty" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Seller_ Supplier Party. Supplier Party</ccts:DictionaryEntryName>
                     <ccts:Definition>The seller.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Seller</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Supplier Party</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Supplier Party</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Supplier Party</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:TaxRepresentativeParty" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Tax Representative_ Party. Party</ccts:DictionaryEntryName>
                     <ccts:Definition>The tax representative.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Tax Representative</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Party</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Party</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Party</ccts:RepresentationTerm>
                  </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>A delivery associated with this document.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Delivery</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Delivery</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Delivery</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:DeliveryTerms" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Delivery Terms</ccts:DictionaryEntryName>
                     <ccts:Definition>A set of delivery terms associated with this document.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Delivery Terms</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Delivery Terms</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Delivery Terms</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:PaymentMeans" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Payment Means</ccts:DictionaryEntryName>
                     <ccts:Definition>Expected means of payment.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTerm>Payment Means</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Payment Means</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Payment Means</ccts:RepresentationTerm>
                  </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>A set of payment terms associated with this document.</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:RepresentationTerm>Payment Terms</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:PrepaidPayment" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Prepaid_ Payment. Payment</ccts:DictionaryEntryName>
                     <ccts:Definition>A prepaid payment.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Prepaid</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Payment</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Payment</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Payment</ccts:RepresentationTerm>
                  </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>A discount or charge that applies to a price component.</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:RepresentationTerm>Allowance Charge</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:TaxExchangeRate" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Tax_ Exchange Rate. Exchange Rate</ccts:DictionaryEntryName>
                     <ccts:Definition>The exchange rate between the document currency and the tax currency.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Tax</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Exchange Rate</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Exchange Rate</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Exchange Rate</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:PricingExchangeRate" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Pricing_ Exchange Rate. Exchange Rate</ccts:DictionaryEntryName>
                     <ccts:Definition>The exchange rate between the document currency and the pricing currency.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Pricing</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Exchange Rate</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Exchange Rate</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Exchange Rate</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:PaymentExchangeRate" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Payment_ Exchange Rate. Exchange Rate</ccts:DictionaryEntryName>
                     <ccts:Definition>The exchange rate between the document currency and the payment currency.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Payment</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Exchange Rate</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Exchange Rate</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Exchange Rate</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:PaymentAlternativeExchangeRate"
                      minOccurs="0"
                      maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Payment Alternative_ Exchange Rate. Exchange Rate</ccts:DictionaryEntryName>
                     <ccts:Definition>The exchange rate between the document currency and the payment alternative currency.</ccts:Definition>
                     <ccts:Cardinality>0..1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Payment Alternative</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Exchange Rate</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Exchange Rate</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Exchange Rate</ccts:RepresentationTerm>
                  </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>The total amount of a specific type of 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:RepresentationTerm>Tax Total</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:WithholdingTaxTotal" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Withholding_ Tax Total. Tax Total</ccts:DictionaryEntryName>
                     <ccts:Definition>The total withholding tax.</ccts:Definition>
                     <ccts:Cardinality>0..n</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Withholding</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Tax Total</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Tax Total</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Tax Total</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
         <xsd:element ref="cac:LegalMonetaryTotal" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  <ccts:Component>
                     <ccts:ComponentType>ASBIE</ccts:ComponentType>
                     <ccts:DictionaryEntryName>Invoice. Legal_ Monetary Total. Monetary Total</ccts:DictionaryEntryName>
                     <ccts:Definition>The total amount payable on the Invoice, including Allowances, Charges, and Taxes.</ccts:Definition>
                     <ccts:Cardinality>1</ccts:Cardinality>
                     <ccts:ObjectClass>Invoice</ccts:ObjectClass>
                     <ccts:PropertyTermQualifier>Legal</ccts:PropertyTermQualifier>
                     <ccts:PropertyTerm>Monetary Total</ccts:PropertyTerm>
                     <ccts:AssociatedObjectClass>Monetary Total</ccts:AssociatedObjectClass>
                     <ccts:RepresentationTerm>Monetary Total</ccts:RepresentationTerm>
                  </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>A line describing an invoice item.</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:RepresentationTerm>Invoice Line</ccts:RepresentationTerm>
                  </ccts:Component>
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:complexType>
</xsd:schema>
<!-- ===== Copyright Notice ===== --><!--
  OASIS takes no position regarding the validity or scope of any 
  intellectual property or other rights that might be claimed to pertain 
  to the implementation or use of the technology described in this 
  document or the extent to which any license under such rights 
  might or might not be available; neither does it represent that it has 
  made any effort to identify any such rights. Information on OASIS's 
  procedures with respect to rights in OASIS specifications can be 
  found at the OASIS website. Copies of claims of rights made 
  available for publication and any assurances of licenses to be made 
  available, or the result of an attempt made to obtain a general 
  license or permission for the use of such proprietary rights by 
  implementors or users of this specification, can be obtained from 
  the OASIS Executive Director.

  OASIS invites any interested party to bring to its attention any 
  copyrights, patents or patent applications, or other proprietary 
  rights which may cover technology that may be required to 
  implement this specification. Please address the information to the 
  OASIS Executive Director.
  
  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.    
-->