added the official schema and schematron files and the generated xslts

This commit is contained in:
Jochen Stärk
2025-12-05 17:56:42 +01:00
parent 0c39c35ac9
commit 85a65937f4
28 changed files with 11764 additions and 8355 deletions

View File

@@ -1,6 +1,7 @@
- #952 - #952
- #954 - #954
- #947 - #947
- #969
2.20.0 2.20.0
======= =======

View File

@@ -79,14 +79,14 @@ Target platform is java 1.17
The package can be build with The package can be build with
``` ```
mvnw clean package mvn clean package
``` ```
In case you also want to generate XSLT files from new schematron files for the validator please run the profile "generateXSLTFromSchematron" In case you also want to generate XSLT files from new schematron files for the validator please run the profile "generateXSLTFromSchematron"
(which takes around 20min on my machine) (which takes around 20min on my machine)
``` ```
mvnw clean package -P generateXSLTFromSchematron mvn clean package -P generateXSLTFromSchematron
``` ```
## Test ## Test

View File

@@ -6,7 +6,7 @@
<xs:complexType name="AmountType"> <xs:complexType name="AmountType">
<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:decimal"> <xs:extension base="xs:decimal">
<xs:attribute name="currencyID" type="xs:token" use="optional"/> <xs:attribute name="currencyID" type="xs:token"/>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>

View File

@@ -6,7 +6,7 @@
<xs:complexType name="AmountType"> <xs:complexType name="AmountType">
<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:decimal"> <xs:extension base="xs:decimal">
<xs:attribute name="currencyID" type="xs:token" use="optional"/> <xs:attribute name="currencyID" type="xs:token"/>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>

View File

@@ -6,7 +6,7 @@
<xs:complexType name="AmountType"> <xs:complexType name="AmountType">
<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:decimal"> <xs:extension base="xs:decimal">
<xs:attribute name="currencyID" type="xs:token" use="optional"/> <xs:attribute name="currencyID" type="xs:token"/>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>

View File

@@ -130,21 +130,24 @@
</xs:complexType> </xs:complexType>
<xs:complexType name="LineTradeAgreementType"> <xs:complexType name="LineTradeAgreementType">
<xs:sequence> <xs:sequence>
<xs:element name="ApplicableTradeDeliveryTerms" type="ram:TradeDeliveryTermsType" minOccurs="0"/>
<xs:element name="SellerOrderReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0"/> <xs:element name="SellerOrderReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0"/>
<xs:element name="BuyerOrderReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0"/> <xs:element name="BuyerOrderReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0"/>
<xs:element name="QuotationReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0"/> <xs:element name="QuotationReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0"/>
<xs:element name="ContractReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0"/> <xs:element name="ContractReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0"/>
<xs:element name="AdditionalReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="AdditionalReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="GrossPriceProductTradePrice" type="ram:TradePriceType" minOccurs="0"/> <xs:element name="GrossPriceProductTradePrice" type="ram:TradePriceType" minOccurs="0"/>
<xs:element name="NetPriceProductTradePrice" type="ram:TradePriceType"/> <xs:element name="NetPriceProductTradePrice" type="ram:TradePriceType" minOccurs="0"/>
<xs:element name="ItemSellerTradeParty" type="ram:TradePartyType" minOccurs="0"/>
<xs:element name="UltimateCustomerOrderReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="UltimateCustomerOrderReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:complexType name="LineTradeDeliveryType"> <xs:complexType name="LineTradeDeliveryType">
<xs:sequence> <xs:sequence>
<xs:element name="BilledQuantity" type="udt:QuantityType"/> <xs:element name="BilledQuantity" type="udt:QuantityType" minOccurs="0"/>
<xs:element name="ChargeFreeQuantity" type="udt:QuantityType" minOccurs="0"/> <xs:element name="ChargeFreeQuantity" type="udt:QuantityType" minOccurs="0"/>
<xs:element name="PackageQuantity" type="udt:QuantityType" minOccurs="0"/> <xs:element name="PackageQuantity" type="udt:QuantityType" minOccurs="0"/>
<xs:element name="PerPackageUnitQuantity" type="udt:QuantityType" minOccurs="0"/>
<xs:element name="ShipToTradeParty" type="ram:TradePartyType" minOccurs="0"/> <xs:element name="ShipToTradeParty" type="ram:TradePartyType" minOccurs="0"/>
<xs:element name="UltimateShipToTradeParty" type="ram:TradePartyType" minOccurs="0"/> <xs:element name="UltimateShipToTradeParty" type="ram:TradePartyType" minOccurs="0"/>
<xs:element name="ActualDeliverySupplyChainEvent" type="ram:SupplyChainEventType" minOccurs="0"/> <xs:element name="ActualDeliverySupplyChainEvent" type="ram:SupplyChainEventType" minOccurs="0"/>
@@ -155,13 +158,13 @@
</xs:complexType> </xs:complexType>
<xs:complexType name="LineTradeSettlementType"> <xs:complexType name="LineTradeSettlementType">
<xs:sequence> <xs:sequence>
<xs:element name="ApplicableTradeTax" type="ram:TradeTaxType" maxOccurs="unbounded"/> <xs:element name="ApplicableTradeTax" type="ram:TradeTaxType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="BillingSpecifiedPeriod" type="ram:SpecifiedPeriodType" minOccurs="0"/> <xs:element name="BillingSpecifiedPeriod" type="ram:SpecifiedPeriodType" minOccurs="0"/>
<xs:element name="SpecifiedTradeAllowanceCharge" type="ram:TradeAllowanceChargeType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="SpecifiedTradeAllowanceCharge" type="ram:TradeAllowanceChargeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SpecifiedTradeSettlementLineMonetarySummation" type="ram:TradeSettlementLineMonetarySummationType"/> <xs:element name="SpecifiedTradeSettlementLineMonetarySummation" type="ram:TradeSettlementLineMonetarySummationType"/>
<xs:element name="InvoiceReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0"/> <xs:element name="InvoiceReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0"/>
<xs:element name="AdditionalReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="AdditionalReferencedDocument" type="ram:ReferencedDocumentType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ReceivableSpecifiedTradeAccountingAccount" type="ram:TradeAccountingAccountType" minOccurs="0"/> <xs:element name="ReceivableSpecifiedTradeAccountingAccount" type="ram:TradeAccountingAccountType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:complexType name="LogisticsServiceChargeType"> <xs:complexType name="LogisticsServiceChargeType">
@@ -249,8 +252,8 @@
<xs:sequence> <xs:sequence>
<xs:element name="AssociatedDocumentLineDocument" type="ram:DocumentLineDocumentType"/> <xs:element name="AssociatedDocumentLineDocument" type="ram:DocumentLineDocumentType"/>
<xs:element name="SpecifiedTradeProduct" type="ram:TradeProductType"/> <xs:element name="SpecifiedTradeProduct" type="ram:TradeProductType"/>
<xs:element name="SpecifiedLineTradeAgreement" type="ram:LineTradeAgreementType"/> <xs:element name="SpecifiedLineTradeAgreement" type="ram:LineTradeAgreementType" minOccurs="0"/>
<xs:element name="SpecifiedLineTradeDelivery" type="ram:LineTradeDeliveryType"/> <xs:element name="SpecifiedLineTradeDelivery" type="ram:LineTradeDeliveryType" minOccurs="0"/>
<xs:element name="SpecifiedLineTradeSettlement" type="ram:LineTradeSettlementType"/> <xs:element name="SpecifiedLineTradeSettlement" type="ram:LineTradeSettlementType"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
@@ -323,6 +326,13 @@
<xs:complexType name="TradeDeliveryTermsType"> <xs:complexType name="TradeDeliveryTermsType">
<xs:sequence> <xs:sequence>
<xs:element name="DeliveryTypeCode" type="qdt:DeliveryTermsCodeType"/> <xs:element name="DeliveryTypeCode" type="qdt:DeliveryTermsCodeType"/>
<xs:element name="RelevantTradeLocation" type="ram:TradeLocationType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TradeLocationType">
<xs:sequence>
<xs:element name="CountryID" type="qdt:CountryIDType" minOccurs="0"/>
<xs:element name="Name" type="udt:TextType" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:complexType name="TradePartyType"> <xs:complexType name="TradePartyType">
@@ -426,7 +436,7 @@
<xs:element name="LineTotalAmount" type="udt:AmountType"/> <xs:element name="LineTotalAmount" type="udt:AmountType"/>
<xs:element name="ChargeTotalAmount" type="udt:AmountType" minOccurs="0"/> <xs:element name="ChargeTotalAmount" type="udt:AmountType" minOccurs="0"/>
<xs:element name="AllowanceTotalAmount" type="udt:AmountType" minOccurs="0"/> <xs:element name="AllowanceTotalAmount" type="udt:AmountType" minOccurs="0"/>
<xs:element name="TaxTotalAmount" type="udt:AmountType" minOccurs="0"/> <xs:element name="TaxTotalAmount" type="udt:AmountType" minOccurs="0" maxOccurs="2"/>
<xs:element name="GrandTotalAmount" type="udt:AmountType" minOccurs="0"/> <xs:element name="GrandTotalAmount" type="udt:AmountType" minOccurs="0"/>
<xs:element name="TotalAllowanceChargeAmount" type="udt:AmountType" minOccurs="0"/> <xs:element name="TotalAllowanceChargeAmount" type="udt:AmountType" minOccurs="0"/>
</xs:sequence> </xs:sequence>

View File

@@ -6,7 +6,7 @@
<xs:complexType name="AmountType"> <xs:complexType name="AmountType">
<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:decimal"> <xs:extension base="xs:decimal">
<xs:attribute name="currencyID" type="xs:token" use="optional"/> <xs:attribute name="currencyID" type="xs:token"/>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>

View File

@@ -6,7 +6,7 @@
<xs:complexType name="AmountType"> <xs:complexType name="AmountType">
<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:decimal"> <xs:extension base="xs:decimal">
<xs:attribute name="currencyID" type="xs:token" use="optional"/> <xs:attribute name="currencyID" type="xs:token"/>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso">
<title>Schema for Factur-X; 1.07.3; Accounting, BASIC without Lines</title> <title>Schema for Factur-X; 1.08; Accounting, BASIC without Lines</title>
<ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/> <ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/>
<ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/> <ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/>
<ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/> <ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/>
@@ -116,8 +116,8 @@
</pattern> </pattern>
<pattern> <pattern>
<rule context="//ram:SpecifiedTradeAllowanceCharge"> <rule context="//ram:SpecifiedTradeAllowanceCharge">
<assert id="FX-SCH-A-000080" test="(ram:ChargeIndicator)"> <assert id="FX-SCH-A-000348" test="(ram:ChargeIndicator)">
[BR-66]-Each Specified Trade Allowance Charge (BG-20)(BG-21) shall contain a Charge Indicator.</assert> [CII-SR-463]-Each Specified Trade Allowance Charge (BG-20)(BG-21) shall contain a Charge Indicator.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern> <pattern>
@@ -318,6 +318,8 @@
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans"> <rule context="//ram:SpecifiedTradeSettlementPaymentMeans">
<assert id="FX-SCH-A-000131" test="(ram:TypeCode)"> <assert id="FX-SCH-A-000131" test="(ram:TypeCode)">
[BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).</assert> [BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).</assert>
<assert id="FX-SCH-A-000349" test="(ram:PayeeSpecifiedCreditorFinancialInstitution or ram:PayerSpecifiedDebtorFinancialInstitution) or (not(ram:PayeeSpecifiedCreditorFinancialInstitution) and not(ram:PayerSpecifiedDebtorFinancialInstitution))">
[CII-SR-464]-Only one BT-86 element is allowed on an invoice.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern> <pattern>
@@ -438,6 +440,18 @@
[BR-63]-The Buyer electronic address (BT-49) shall have a Scheme identifier.</assert> [BR-63]-The Buyer electronic address (BT-49) shall have a Scheme identifier.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement">
<assert id="FX-SCH-A-000350" test="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:PersonName and ram:SellerTradeParty/ram:DefinedTradeContact/ram:DepartmentName)">
[CII-SR-465]-Only one BT-41 element is allowed on an invoice.</assert>
<assert id="FX-SCH-A-000351" test="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:PersonName and ram:BuyerTradeParty/ram:DefinedTradeContact/ram:DepartmentName)">
[CII-SR-466]-Only one BT-56 element is allowed on an invoice.</assert>
<assert id="FX-SCH-A-000027" test="count(ram:SellerTradeParty)=1">
Element 'ram:SellerTradeParty' must occur exactly 1 times.</assert>
<assert id="FX-SCH-A-000028" test="count(ram:BuyerTradeParty)=1">
Element 'ram:BuyerTradeParty' must occur exactly 1 times.</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery">
<assert id="FX-SCH-A-000170" test="(ram:ShipToTradeParty/ram:PostalTradeAddress and ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID!='') or not (ram:ShipToTradeParty/ram:PostalTradeAddress)"> <assert id="FX-SCH-A-000170" test="(ram:ShipToTradeParty/ram:PostalTradeAddress and ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID!='') or not (ram:ShipToTradeParty/ram:PostalTradeAddress)">
@@ -511,12 +525,6 @@
<report test="@schemeID"> <report test="@schemeID">
Attribute @schemeID' marked as not used in the given context.</report> Attribute @schemeID' marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement">
<assert id="FX-SCH-A-000027" test="count(ram:SellerTradeParty)=1">
Element 'ram:SellerTradeParty' must occur exactly 1 times.</assert>
<assert id="FX-SCH-A-000028" test="count(ram:BuyerTradeParty)=1">
Element 'ram:BuyerTradeParty' must occur exactly 1 times.</assert>
</rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerOrderReferencedDocument"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerOrderReferencedDocument">
<assert id="FX-SCH-A-000029" test="count(ram:IssuerAssignedID)=1"> <assert id="FX-SCH-A-000029" test="count(ram:IssuerAssignedID)=1">
Element 'ram:IssuerAssignedID' must occur exactly 1 times.</assert> Element 'ram:IssuerAssignedID' must occur exactly 1 times.</assert>
@@ -1101,15 +1109,11 @@
Element variant 'ram:TaxTotalAmount[ not(@currencyID=../../ram:InvoiceCurrencyCode) and not(@currencyID=../../ram:TaxCurrencyCode)]' is marked as not used in the given context.</report> Element variant 'ram:TaxTotalAmount[ not(@currencyID=../../ram:InvoiceCurrencyCode) and not(@currencyID=../../ram:TaxCurrencyCode)]' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]">
<assert id="FX-SCH-A-000046" test="@currencyID">
Attribute '@currencyID' is required in this context.</assert>
<let name="codeValue19" value="@currencyID"/> <let name="codeValue19" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="string-length($codeValue19)=0 or document('FACTUR-X_BASIC-WL_codedb.xml')/codedb/cl[@id=19]/enumeration[@value=$codeValue19]"> <assert id="FX-SCH-A-000045" test="string-length($codeValue19)=0 or document('FACTUR-X_BASIC-WL_codedb.xml')/codedb/cl[@id=19]/enumeration[@value=$codeValue19]">
Value of '@currencyID' is not allowed.</assert> Value of '@currencyID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode]">
<assert id="FX-SCH-A-000046" test="@currencyID">
Attribute '@currencyID' is required in this context.</assert>
<let name="codeValue20" value="@currencyID"/> <let name="codeValue20" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="string-length($codeValue20)=0 or document('FACTUR-X_BASIC-WL_codedb.xml')/codedb/cl[@id=20]/enumeration[@value=$codeValue20]"> <assert id="FX-SCH-A-000045" test="string-length($codeValue20)=0 or document('FACTUR-X_BASIC-WL_codedb.xml')/codedb/cl[@id=20]/enumeration[@value=$codeValue20]">
Value of '@currencyID' is not allowed.</assert> Value of '@currencyID' is not allowed.</assert>

View File

@@ -46,6 +46,13 @@
<enumeration value="456"/> <enumeration value="456"/>
<enumeration value="457"/> <enumeration value="457"/>
<enumeration value="458"/> <enumeration value="458"/>
<enumeration value="471"/>
<enumeration value="472"/>
<enumeration value="473"/>
<enumeration value="500"/>
<enumeration value="501"/>
<enumeration value="502"/>
<enumeration value="503"/>
<enumeration value="527"/> <enumeration value="527"/>
<enumeration value="532"/> <enumeration value="532"/>
<enumeration value="553"/> <enumeration value="553"/>
@@ -703,6 +710,10 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="6"> <cl id="6">
<enumeration value="0002"/> <enumeration value="0002"/>
@@ -940,6 +951,10 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="7"> <cl id="7">
<enumeration value="AD"/> <enumeration value="AD"/>
@@ -1246,6 +1261,7 @@
<enumeration value="0230"/> <enumeration value="0230"/>
<enumeration value="0235"/> <enumeration value="0235"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0244"/>
<enumeration value="9910"/> <enumeration value="9910"/>
<enumeration value="9913"/> <enumeration value="9913"/>
<enumeration value="9914"/> <enumeration value="9914"/>
@@ -1333,6 +1349,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -1598,6 +1615,7 @@
<enumeration value="VATEX-EU-132-1O"/> <enumeration value="VATEX-EU-132-1O"/>
<enumeration value="VATEX-EU-132-1P"/> <enumeration value="VATEX-EU-132-1P"/>
<enumeration value="VATEX-EU-132-1Q"/> <enumeration value="VATEX-EU-132-1Q"/>
<enumeration value="VATEX-EU-135-1"/>
<enumeration value="VATEX-EU-143"/> <enumeration value="VATEX-EU-143"/>
<enumeration value="VATEX-EU-143-1A"/> <enumeration value="VATEX-EU-143-1A"/>
<enumeration value="VATEX-EU-143-1B"/> <enumeration value="VATEX-EU-143-1B"/>
@@ -1908,6 +1926,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -2088,6 +2107,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>

View File

@@ -1,9 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso">
<title>Schema for Factur-X; 1.07.3; EN16931-COMPLIANT-BASIC</title> <title>Schema for Factur-X; 1.08; EN16931-COMPLIANT-BASIC</title>
<ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/> <ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/>
<ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/> <ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/>
<ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/> <ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/>
<ns prefix="udt" uri="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"/> <ns prefix="udt" uri="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"/>
<pattern>
<rule context="//*[not(*) and not(normalize-space())]">
<assert flag="warning" id="FX-SCH-A-000372" test="false">
[PEPPOL-EN16931-R008]-Document MUST not contain empty elements. (still status warning)</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax"> <rule context="//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax">
<assert id="FX-SCH-A-000047" test="(ram:BasisAmount)"> <assert id="FX-SCH-A-000047" test="(ram:BasisAmount)">
@@ -198,8 +204,8 @@
</pattern> </pattern>
<pattern> <pattern>
<rule context="//ram:SpecifiedTradeAllowanceCharge"> <rule context="//ram:SpecifiedTradeAllowanceCharge">
<assert id="FX-SCH-A-000080" test="(ram:ChargeIndicator)"> <assert id="FX-SCH-A-000348" test="(ram:ChargeIndicator)">
[BR-66]-Each Specified Trade Allowance Charge (BG-20)(BG-21) shall contain a Charge Indicator.</assert> [CII-SR-463]-Each Specified Trade Allowance Charge (BG-20)(BG-21) shall contain a Charge Indicator.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern> <pattern>
@@ -402,6 +408,8 @@
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans"> <rule context="//ram:SpecifiedTradeSettlementPaymentMeans">
<assert id="FX-SCH-A-000131" test="(ram:TypeCode)"> <assert id="FX-SCH-A-000131" test="(ram:TypeCode)">
[BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).</assert> [BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).</assert>
<assert id="FX-SCH-A-000349" test="(ram:PayeeSpecifiedCreditorFinancialInstitution or ram:PayerSpecifiedDebtorFinancialInstitution) or (not(ram:PayeeSpecifiedCreditorFinancialInstitution) and not(ram:PayerSpecifiedDebtorFinancialInstitution))">
[CII-SR-464]-Only one BT-86 element is allowed on an invoice.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern> <pattern>
@@ -426,7 +434,7 @@
</pattern> </pattern>
<pattern> <pattern>
<rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'AE']"> <rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'AE']">
<assert id="FX-SCH-A-000227" test="(../ram:BasisAmount -1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/ram:ActualAmount)*10*10)div 100)) and (../ram:BasisAmount +1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/ram:ActualAmount)*10*10)div 100))"> <assert id="FX-SCH-A-000227" test="(../ram:BasisAmount -1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount))*10*10)div 100)) and (../ram:BasisAmount +1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount))*10*10)div 100))">
[BR-AE-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Reverse charge".</assert> [BR-AE-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Reverse charge".</assert>
<assert id="FX-SCH-A-000136" test="../ram:CalculatedAmount = 0"> <assert id="FX-SCH-A-000136" test="../ram:CalculatedAmount = 0">
[BR-AE-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" shall be 0 (zero).</assert> [BR-AE-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" shall be 0 (zero).</assert>
@@ -436,7 +444,7 @@
</pattern> </pattern>
<pattern> <pattern>
<rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'E']"> <rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'E']">
<assert id="FX-SCH-A-000228" test="(../ram:BasisAmount - 1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'E']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='E']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='E']/ram:ActualAmount)*10*10)div 100)) and (../ram:BasisAmount + 1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'E']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='E']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='E']/ram:ActualAmount)*10*10)div 100))"> <assert id="FX-SCH-A-000228" test="(../ram:BasisAmount - 1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'E']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='E']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='E']/xs:decimal(ram:ActualAmount))*10*10)div 100)) and (../ram:BasisAmount + 1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'E']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='E']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='E']/xs:decimal(ram:ActualAmount))*10*10)div 100))">
[BR-E-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Exempt from VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Exempt from VAT".</assert> [BR-E-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Exempt from VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Exempt from VAT".</assert>
<assert id="FX-SCH-A-000138" test="../ram:CalculatedAmount = 0"> <assert id="FX-SCH-A-000138" test="../ram:CalculatedAmount = 0">
[BR-E-09]-The VAT category tax amount (BT-117) In a VAT breakdown (BG-23) where the VAT category code (BT-118) equals "Exempt from VAT" shall equal 0 (zero).</assert> [BR-E-09]-The VAT category tax amount (BT-117) In a VAT breakdown (BG-23) where the VAT category code (BT-118) equals "Exempt from VAT" shall equal 0 (zero).</assert>
@@ -446,7 +454,7 @@
</pattern> </pattern>
<pattern> <pattern>
<rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'G']"> <rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'G']">
<assert id="FX-SCH-A-000229" test="(../ram:BasisAmount -1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'G']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='G']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='G']/ram:ActualAmount)*10*10)div 100)) and (../ram:BasisAmount +1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'G']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='G']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='G']/ram:ActualAmount)*10*10)div 100))"> <assert id="FX-SCH-A-000229" test="(../ram:BasisAmount -1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'G']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='G']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='G']/xs:decimal(ram:ActualAmount))*10*10)div 100)) and (../ram:BasisAmount +1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'G']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='G']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='G']/xs:decimal(ram:ActualAmount))*10*10)div 100))">
[BR-G-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Export outside the EU".</assert> [BR-G-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Export outside the EU".</assert>
<assert id="FX-SCH-A-000140" test="../ram:CalculatedAmount = 0"> <assert id="FX-SCH-A-000140" test="../ram:CalculatedAmount = 0">
[BR-G-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" shall be 0 (zero).</assert> [BR-G-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" shall be 0 (zero).</assert>
@@ -578,6 +586,12 @@
[BR-Z-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Zero rated" the Invoiced item VAT rate (BT-152) shall be 0 (zero).</assert> [BR-Z-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Zero rated" the Invoiced item VAT rate (BT-152) shall be 0 (zero).</assert>
</rule> </rule>
</pattern> </pattern>
<pattern>
<rule context="//udt:DateTimeString[@format = '102']">
<assert id="FX-SCH-A-000353" test="matches(.,'^\s*(\d{4})(1[0-2]|0[1-9]){1}(3[01]|[12][0-9]|0[1-9]){1}\s*$')">
[CII-DT-097] - Date time string with format attribute 102 shall be YYYYMMDD.</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="/rsm:CrossIndustryInvoice"> <rule context="/rsm:CrossIndustryInvoice">
<assert id="FX-SCH-A-000253" test="//ram:IncludedSupplyChainTradeLineItem"> <assert id="FX-SCH-A-000253" test="//ram:IncludedSupplyChainTradeLineItem">
@@ -634,6 +648,18 @@
[BR-B-02]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment" shall not contain an invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Standard rated”.</assert> [BR-B-02]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment" shall not contain an invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Standard rated”.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement">
<assert id="FX-SCH-A-000350" test="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:PersonName and ram:SellerTradeParty/ram:DefinedTradeContact/ram:DepartmentName)">
[CII-SR-465]-Only one BT-41 element is allowed on an invoice.</assert>
<assert id="FX-SCH-A-000351" test="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:PersonName and ram:BuyerTradeParty/ram:DefinedTradeContact/ram:DepartmentName)">
[CII-SR-466]-Only one BT-56 element is allowed on an invoice.</assert>
<assert id="FX-SCH-A-000027" test="count(ram:SellerTradeParty)=1">
Element 'ram:SellerTradeParty' must occur exactly 1 times.</assert>
<assert id="FX-SCH-A-000028" test="count(ram:BuyerTradeParty)=1">
Element 'ram:BuyerTradeParty' must occur exactly 1 times.</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery">
<assert id="FX-SCH-A-000170" test="(ram:ShipToTradeParty/ram:PostalTradeAddress and ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID!='') or not (ram:ShipToTradeParty/ram:PostalTradeAddress)"> <assert id="FX-SCH-A-000170" test="(ram:ShipToTradeParty/ram:PostalTradeAddress and ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID!='') or not (ram:ShipToTradeParty/ram:PostalTradeAddress)">
@@ -648,6 +674,12 @@
Element 'ram:IssuerAssignedID' must occur exactly 1 times.</assert> Element 'ram:IssuerAssignedID' must occur exactly 1 times.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice[&#13;&#10; rsm:ExchangedDocument/ram:TypeCode != '386'&#13;&#10;]/rsm:SupplyChainTradeTransaction[&#13;&#10; (&#13;&#10; ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; and&#13;&#10; ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; )&#13;&#10; or&#13;&#10; (&#13;&#10; ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; and&#13;&#10; ram:ApplicableHeaderTradeSettlement/ram:InvoiceeTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; )&#13;&#10; or&#13;&#10; (&#13;&#10; ram:ApplicableHeaderTradeSettlement/ram:InvoicerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; and&#13;&#10; ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; )&#13;&#10; or&#13;&#10; (&#13;&#10; ram:ApplicableHeaderTradeSettlement/ram:InvoicerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; and&#13;&#10; ram:ApplicableHeaderTradeSettlement/ram:InvoiceeTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; )&#13;&#10;]">
<assert id="FX-SCH-A-000354" test="(&#13;&#10; ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime&#13;&#10; or ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod&#13;&#10; or (every $line in ram:IncludedSupplyChainTradeLineItem&#13;&#10; satisfies $line/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod)&#13;&#10; )&#13;&#10; and&#13;&#10; (&#13;&#10; ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime&#13;&#10; or normalize-space(string-join(ram:ApplicableHeaderTradeDelivery//text(),'')) != ''&#13;&#10; )">
[BR-FX-EN-04]-An invoice that is not a down payment invoice (code 386) must contain either BT-72 "Actual delivery date", BG-14 "Invoicing period" or BG-26 "Invoice line period" in each invoice item to indicate the delivery/service date. If BT-72 is not used, at least the country of delivery (BT-80) must be specified for technical reasons.</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument"> <rule context="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument">
<assert id="FX-SCH-A-000019" test="count(ram:ID)=1"> <assert id="FX-SCH-A-000019" test="count(ram:ID)=1">
@@ -711,12 +743,6 @@
<assert id="FX-SCH-A-000265" test="count(ram:IncludedSupplyChainTradeLineItem)&gt;=1"> <assert id="FX-SCH-A-000265" test="count(ram:IncludedSupplyChainTradeLineItem)&gt;=1">
Element 'ram:IncludedSupplyChainTradeLineItem' must occur at least 1 times.</assert> Element 'ram:IncludedSupplyChainTradeLineItem' must occur at least 1 times.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement">
<assert id="FX-SCH-A-000027" test="count(ram:SellerTradeParty)=1">
Element 'ram:SellerTradeParty' must occur exactly 1 times.</assert>
<assert id="FX-SCH-A-000028" test="count(ram:BuyerTradeParty)=1">
Element 'ram:BuyerTradeParty' must occur exactly 1 times.</assert>
</rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerOrderReferencedDocument"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerOrderReferencedDocument">
<assert id="FX-SCH-A-000029" test="count(ram:IssuerAssignedID)=1"> <assert id="FX-SCH-A-000029" test="count(ram:IssuerAssignedID)=1">
Element 'ram:IssuerAssignedID' must occur exactly 1 times.</assert> Element 'ram:IssuerAssignedID' must occur exactly 1 times.</assert>
@@ -746,8 +772,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:GlobalID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:GlobalID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue11" value="@schemeID"/> <let name="codeValue12" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue11)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=11]/enumeration[@value=$codeValue11]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue12)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=12]/enumeration[@value=$codeValue12]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:ID">
@@ -761,13 +787,13 @@
Element 'ram:CountrySubDivisionName' may occur at maximum 1 times.</assert> Element 'ram:CountrySubDivisionName' may occur at maximum 1 times.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue13" value="."/> <let name="codeValue14" value="."/>
<assert id="FX-SCH-A-000036" test="string-length($codeValue13)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=13]/enumeration[@value=$codeValue13]"> <assert id="FX-SCH-A-000036" test="string-length($codeValue14)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=14]/enumeration[@value=$codeValue14]">
Value of 'ram:CountryID' is not allowed.</assert> Value of 'ram:CountryID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID">
<let name="codeValue12" value="@schemeID"/> <let name="codeValue13" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue12)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=12]/enumeration[@value=$codeValue12]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue13)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=13]/enumeration[@value=$codeValue13]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName">
@@ -781,8 +807,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue15" value="@schemeID"/> <let name="codeValue16" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue15)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue16)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=16]/enumeration[@value=$codeValue16]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication">
@@ -792,8 +818,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:URIID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:URIID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue14" value="@schemeID"/> <let name="codeValue15" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue14)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=14]/enumeration[@value=$codeValue14]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue15)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:ContractReferencedDocument"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:ContractReferencedDocument">
@@ -831,8 +857,8 @@
Element 'ram:CountrySubDivisionName' may occur at maximum 1 times.</assert> Element 'ram:CountrySubDivisionName' may occur at maximum 1 times.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CountryID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue13" value="."/> <let name="codeValue14" value="."/>
<assert id="FX-SCH-A-000036" test="string-length($codeValue13)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=13]/enumeration[@value=$codeValue13]"> <assert id="FX-SCH-A-000036" test="string-length($codeValue14)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=14]/enumeration[@value=$codeValue14]">
Value of 'ram:CountryID' is not allowed.</assert> Value of 'ram:CountryID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedLegalOrganization"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedLegalOrganization">
@@ -846,8 +872,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue16" value="@schemeID"/> <let name="codeValue17" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue16)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=16]/enumeration[@value=$codeValue16]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue17)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=17]/enumeration[@value=$codeValue17]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:URIUniversalCommunication"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:URIUniversalCommunication">
@@ -869,8 +895,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:GlobalID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:GlobalID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue11" value="@schemeID"/> <let name="codeValue12" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue11)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=11]/enumeration[@value=$codeValue11]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue12)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=12]/enumeration[@value=$codeValue12]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:ID">
@@ -884,13 +910,13 @@
Element 'ram:CountrySubDivisionName' may occur at maximum 1 times.</assert> Element 'ram:CountrySubDivisionName' may occur at maximum 1 times.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue13" value="."/> <let name="codeValue14" value="."/>
<assert id="FX-SCH-A-000036" test="string-length($codeValue13)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=13]/enumeration[@value=$codeValue13]"> <assert id="FX-SCH-A-000036" test="string-length($codeValue14)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=14]/enumeration[@value=$codeValue14]">
Value of 'ram:CountryID' is not allowed.</assert> Value of 'ram:CountryID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID">
<let name="codeValue12" value="@schemeID"/> <let name="codeValue13" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue12)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=12]/enumeration[@value=$codeValue12]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue13)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=13]/enumeration[@value=$codeValue13]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration[ not(ram:ID/@schemeID=&quot;VA&quot;) and not(ram:ID/@schemeID=&quot;FC&quot;)]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration[ not(ram:ID/@schemeID=&quot;VA&quot;) and not(ram:ID/@schemeID=&quot;FC&quot;)]">
@@ -920,8 +946,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication/ram:URIID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication/ram:URIID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue14" value="@schemeID"/> <let name="codeValue15" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue14)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=14]/enumeration[@value=$codeValue14]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue15)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent">
@@ -956,8 +982,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:GlobalID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:GlobalID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue11" value="@schemeID"/> <let name="codeValue12" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue11)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=11]/enumeration[@value=$codeValue11]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue12)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=12]/enumeration[@value=$codeValue12]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:ID">
@@ -971,8 +997,8 @@
Element 'ram:CountrySubDivisionName' may occur at maximum 1 times.</assert> Element 'ram:CountrySubDivisionName' may occur at maximum 1 times.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue13" value="."/> <let name="codeValue14" value="."/>
<assert id="FX-SCH-A-000036" test="string-length($codeValue13)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=13]/enumeration[@value=$codeValue13]"> <assert id="FX-SCH-A-000036" test="string-length($codeValue14)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=14]/enumeration[@value=$codeValue14]">
Value of 'ram:CountryID' is not allowed.</assert> Value of 'ram:CountryID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:SpecifiedLegalOrganization"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:SpecifiedLegalOrganization">
@@ -1025,13 +1051,13 @@
Value of 'ram:CategoryCode' is not allowed.</assert> Value of 'ram:CategoryCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:DueDateTypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:DueDateTypeCode">
<let name="codeValue20" value="."/> <let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000180" test="string-length($codeValue20)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=20]/enumeration[@value=$codeValue20]"> <assert id="FX-SCH-A-000180" test="string-length($codeValue9)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:DueDateTypeCode' is not allowed.</assert> Value of 'ram:DueDateTypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReasonCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReasonCode">
<let name="codeValue19" value="."/> <let name="codeValue20" value="."/>
<assert id="FX-SCH-A-000181" test="string-length($codeValue19)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=19]/enumeration[@value=$codeValue19]"> <assert id="FX-SCH-A-000181" test="string-length($codeValue20)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=20]/enumeration[@value=$codeValue20]">
Value of 'ram:ExemptionReasonCode' is not allowed.</assert> Value of 'ram:ExemptionReasonCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:TypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:TypeCode">
@@ -1058,8 +1084,8 @@
Attribute @schemeID' marked as not used in the given context.</report> Attribute @schemeID' marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode">
<let name="codeValue17" value="."/> <let name="codeValue18" value="."/>
<assert id="FX-SCH-A-000040" test="string-length($codeValue17)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=17]/enumeration[@value=$codeValue17]"> <assert id="FX-SCH-A-000040" test="string-length($codeValue18)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=18]/enumeration[@value=$codeValue18]">
Value of 'ram:InvoiceCurrencyCode' is not allowed.</assert> Value of 'ram:InvoiceCurrencyCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString">
@@ -1084,8 +1110,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:GlobalID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:GlobalID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue11" value="@schemeID"/> <let name="codeValue12" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue11)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=11]/enumeration[@value=$codeValue11]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue12)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=12]/enumeration[@value=$codeValue12]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:ID">
@@ -1097,8 +1123,8 @@
Element 'ram:PostalTradeAddress' is marked as not used in the given context.</report> Element 'ram:PostalTradeAddress' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:ID">
<let name="codeValue12" value="@schemeID"/> <let name="codeValue13" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue12)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=12]/enumeration[@value=$codeValue12]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue13)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=13]/enumeration[@value=$codeValue13]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName">
@@ -1301,15 +1327,11 @@
Element variant 'ram:TaxTotalAmount[ not(@currencyID=../../ram:InvoiceCurrencyCode) and not(@currencyID=../../ram:TaxCurrencyCode)]' is marked as not used in the given context.</report> Element variant 'ram:TaxTotalAmount[ not(@currencyID=../../ram:InvoiceCurrencyCode) and not(@currencyID=../../ram:TaxCurrencyCode)]' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]">
<assert id="FX-SCH-A-000046" test="@currencyID">
Attribute '@currencyID' is required in this context.</assert>
<let name="codeValue23" value="@currencyID"/> <let name="codeValue23" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="string-length($codeValue23)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=23]/enumeration[@value=$codeValue23]"> <assert id="FX-SCH-A-000045" test="string-length($codeValue23)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=23]/enumeration[@value=$codeValue23]">
Value of '@currencyID' is not allowed.</assert> Value of '@currencyID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode]">
<assert id="FX-SCH-A-000046" test="@currencyID">
Attribute '@currencyID' is required in this context.</assert>
<let name="codeValue24" value="@currencyID"/> <let name="codeValue24" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="string-length($codeValue24)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=24]/enumeration[@value=$codeValue24]"> <assert id="FX-SCH-A-000045" test="string-length($codeValue24)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=24]/enumeration[@value=$codeValue24]">
Value of '@currencyID' is not allowed.</assert> Value of '@currencyID' is not allowed.</assert>
@@ -1341,13 +1363,13 @@
Attribute @schemeID' marked as not used in the given context.</report> Attribute @schemeID' marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode">
<let name="codeValue18" value="."/> <let name="codeValue19" value="."/>
<assert id="FX-SCH-A-000023" test="string-length($codeValue18)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=18]/enumeration[@value=$codeValue18]"> <assert id="FX-SCH-A-000023" test="string-length($codeValue19)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=19]/enumeration[@value=$codeValue19]">
Value of 'ram:TypeCode' is not allowed.</assert> Value of 'ram:TypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode">
<let name="codeValue17" value="."/> <let name="codeValue18" value="."/>
<assert id="FX-SCH-A-000196" test="string-length($codeValue17)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=17]/enumeration[@value=$codeValue17]"> <assert id="FX-SCH-A-000196" test="string-length($codeValue18)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=18]/enumeration[@value=$codeValue18]">
Value of 'ram:TaxCurrencyCode' is not allowed.</assert> Value of 'ram:TaxCurrencyCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem">
@@ -1453,8 +1475,6 @@
Element 'ram:BilledQuantity' must occur exactly 1 times.</assert> Element 'ram:BilledQuantity' must occur exactly 1 times.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeDelivery/ram:BilledQuantity"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeDelivery/ram:BilledQuantity">
<assert id="FX-SCH-A-000277" test="@unitCode">
Attribute '@unitCode' is required in this context.</assert>
<let name="codeValue6" value="@unitCode"/> <let name="codeValue6" value="@unitCode"/>
<assert id="FX-SCH-A-000275" test="string-length($codeValue6)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=6]/enumeration[@value=$codeValue6]"> <assert id="FX-SCH-A-000275" test="string-length($codeValue6)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=6]/enumeration[@value=$codeValue6]">
Value of '@unitCode' is not allowed.</assert> Value of '@unitCode' is not allowed.</assert>
@@ -1485,8 +1505,9 @@
Value of 'ram:CategoryCode' is not allowed.</assert> Value of 'ram:CategoryCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:DueDateTypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:DueDateTypeCode">
<report test="true()"> <let name="codeValue9" value="."/>
Element 'ram:DueDateTypeCode' is marked as not used in the given context.</report> <assert id="FX-SCH-A-000180" test="string-length($codeValue9)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:DueDateTypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReason"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReason">
<report test="true()"> <report test="true()">
@@ -1542,8 +1563,8 @@
Element 'ram:CategoryTradeTax' is marked as not used in the given context.</report> Element 'ram:CategoryTradeTax' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;false&quot;]/ram:ReasonCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;false&quot;]/ram:ReasonCode">
<let name="codeValue9" value="."/> <let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000186" test="string-length($codeValue9)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=9]/enumeration[@value=$codeValue9]"> <assert id="FX-SCH-A-000186" test="string-length($codeValue10)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=10]/enumeration[@value=$codeValue10]">
Value of 'ram:ReasonCode' is not allowed.</assert> Value of 'ram:ReasonCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]">
@@ -1569,8 +1590,8 @@
Element 'ram:CategoryTradeTax' is marked as not used in the given context.</report> Element 'ram:CategoryTradeTax' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]/ram:ReasonCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]/ram:ReasonCode">
<let name="codeValue10" value="."/> <let name="codeValue11" value="."/>
<assert id="FX-SCH-A-000186" test="string-length($codeValue10)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=10]/enumeration[@value=$codeValue10]"> <assert id="FX-SCH-A-000186" test="string-length($codeValue11)=0 or document('FACTUR-X_BASIC_codedb.xml')/codedb/cl[@id=11]/enumeration[@value=$codeValue11]">
Value of 'ram:ReasonCode' is not allowed.</assert> Value of 'ram:ReasonCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation">

View File

@@ -46,6 +46,13 @@
<enumeration value="456"/> <enumeration value="456"/>
<enumeration value="457"/> <enumeration value="457"/>
<enumeration value="458"/> <enumeration value="458"/>
<enumeration value="471"/>
<enumeration value="472"/>
<enumeration value="473"/>
<enumeration value="500"/>
<enumeration value="501"/>
<enumeration value="502"/>
<enumeration value="503"/>
<enumeration value="527"/> <enumeration value="527"/>
<enumeration value="532"/> <enumeration value="532"/>
<enumeration value="553"/> <enumeration value="553"/>
@@ -703,6 +710,10 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="6"> <cl id="6">
<enumeration value="10"/> <enumeration value="10"/>
@@ -2883,6 +2894,11 @@
<enumeration value="Z"/> <enumeration value="Z"/>
</cl> </cl>
<cl id="9"> <cl id="9">
<enumeration value="5"/>
<enumeration value="29"/>
<enumeration value="72"/>
</cl>
<cl id="10">
<enumeration value="41"/> <enumeration value="41"/>
<enumeration value="42"/> <enumeration value="42"/>
<enumeration value="60"/> <enumeration value="60"/>
@@ -2903,7 +2919,7 @@
<enumeration value="104"/> <enumeration value="104"/>
<enumeration value="105"/> <enumeration value="105"/>
</cl> </cl>
<cl id="10"> <cl id="11">
<enumeration value="AA"/> <enumeration value="AA"/>
<enumeration value="AAA"/> <enumeration value="AAA"/>
<enumeration value="AAC"/> <enumeration value="AAC"/>
@@ -3083,243 +3099,6 @@
<enumeration value="YY"/> <enumeration value="YY"/>
<enumeration value="ZZZ"/> <enumeration value="ZZZ"/>
</cl> </cl>
<cl id="11">
<enumeration value="0002"/>
<enumeration value="0003"/>
<enumeration value="0004"/>
<enumeration value="0005"/>
<enumeration value="0006"/>
<enumeration value="0007"/>
<enumeration value="0008"/>
<enumeration value="0009"/>
<enumeration value="0010"/>
<enumeration value="0011"/>
<enumeration value="0012"/>
<enumeration value="0013"/>
<enumeration value="0014"/>
<enumeration value="0015"/>
<enumeration value="0016"/>
<enumeration value="0017"/>
<enumeration value="0018"/>
<enumeration value="0019"/>
<enumeration value="0020"/>
<enumeration value="0021"/>
<enumeration value="0022"/>
<enumeration value="0023"/>
<enumeration value="0024"/>
<enumeration value="0025"/>
<enumeration value="0026"/>
<enumeration value="0027"/>
<enumeration value="0028"/>
<enumeration value="0029"/>
<enumeration value="0030"/>
<enumeration value="0031"/>
<enumeration value="0032"/>
<enumeration value="0033"/>
<enumeration value="0034"/>
<enumeration value="0035"/>
<enumeration value="0036"/>
<enumeration value="0037"/>
<enumeration value="0038"/>
<enumeration value="0039"/>
<enumeration value="0040"/>
<enumeration value="0041"/>
<enumeration value="0042"/>
<enumeration value="0043"/>
<enumeration value="0044"/>
<enumeration value="0045"/>
<enumeration value="0046"/>
<enumeration value="0047"/>
<enumeration value="0048"/>
<enumeration value="0049"/>
<enumeration value="0050"/>
<enumeration value="0051"/>
<enumeration value="0052"/>
<enumeration value="0053"/>
<enumeration value="0054"/>
<enumeration value="0055"/>
<enumeration value="0056"/>
<enumeration value="0057"/>
<enumeration value="0058"/>
<enumeration value="0059"/>
<enumeration value="0060"/>
<enumeration value="0061"/>
<enumeration value="0062"/>
<enumeration value="0063"/>
<enumeration value="0064"/>
<enumeration value="0065"/>
<enumeration value="0066"/>
<enumeration value="0067"/>
<enumeration value="0068"/>
<enumeration value="0069"/>
<enumeration value="0070"/>
<enumeration value="0071"/>
<enumeration value="0072"/>
<enumeration value="0073"/>
<enumeration value="0074"/>
<enumeration value="0075"/>
<enumeration value="0076"/>
<enumeration value="0077"/>
<enumeration value="0078"/>
<enumeration value="0079"/>
<enumeration value="0080"/>
<enumeration value="0081"/>
<enumeration value="0082"/>
<enumeration value="0083"/>
<enumeration value="0084"/>
<enumeration value="0085"/>
<enumeration value="0086"/>
<enumeration value="0087"/>
<enumeration value="0088"/>
<enumeration value="0089"/>
<enumeration value="0090"/>
<enumeration value="0091"/>
<enumeration value="0093"/>
<enumeration value="0094"/>
<enumeration value="0095"/>
<enumeration value="0096"/>
<enumeration value="0097"/>
<enumeration value="0098"/>
<enumeration value="0099"/>
<enumeration value="0100"/>
<enumeration value="0101"/>
<enumeration value="0102"/>
<enumeration value="0104"/>
<enumeration value="0105"/>
<enumeration value="0106"/>
<enumeration value="0107"/>
<enumeration value="0108"/>
<enumeration value="0109"/>
<enumeration value="0110"/>
<enumeration value="0111"/>
<enumeration value="0112"/>
<enumeration value="0113"/>
<enumeration value="0114"/>
<enumeration value="0115"/>
<enumeration value="0116"/>
<enumeration value="0117"/>
<enumeration value="0118"/>
<enumeration value="0119"/>
<enumeration value="0120"/>
<enumeration value="0121"/>
<enumeration value="0122"/>
<enumeration value="0123"/>
<enumeration value="0124"/>
<enumeration value="0125"/>
<enumeration value="0126"/>
<enumeration value="0127"/>
<enumeration value="0128"/>
<enumeration value="0129"/>
<enumeration value="0130"/>
<enumeration value="0131"/>
<enumeration value="0132"/>
<enumeration value="0133"/>
<enumeration value="0134"/>
<enumeration value="0135"/>
<enumeration value="0136"/>
<enumeration value="0137"/>
<enumeration value="0138"/>
<enumeration value="0139"/>
<enumeration value="0140"/>
<enumeration value="0141"/>
<enumeration value="0142"/>
<enumeration value="0143"/>
<enumeration value="0144"/>
<enumeration value="0145"/>
<enumeration value="0146"/>
<enumeration value="0147"/>
<enumeration value="0148"/>
<enumeration value="0149"/>
<enumeration value="0150"/>
<enumeration value="0151"/>
<enumeration value="0152"/>
<enumeration value="0153"/>
<enumeration value="0154"/>
<enumeration value="0155"/>
<enumeration value="0156"/>
<enumeration value="0157"/>
<enumeration value="0158"/>
<enumeration value="0159"/>
<enumeration value="0160"/>
<enumeration value="0161"/>
<enumeration value="0162"/>
<enumeration value="0163"/>
<enumeration value="0164"/>
<enumeration value="0165"/>
<enumeration value="0166"/>
<enumeration value="0167"/>
<enumeration value="0168"/>
<enumeration value="0169"/>
<enumeration value="0170"/>
<enumeration value="0171"/>
<enumeration value="0172"/>
<enumeration value="0173"/>
<enumeration value="0174"/>
<enumeration value="0175"/>
<enumeration value="0176"/>
<enumeration value="0177"/>
<enumeration value="0178"/>
<enumeration value="0179"/>
<enumeration value="0180"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0185"/>
<enumeration value="0186"/>
<enumeration value="0187"/>
<enumeration value="0188"/>
<enumeration value="0189"/>
<enumeration value="0190"/>
<enumeration value="0191"/>
<enumeration value="0192"/>
<enumeration value="0193"/>
<enumeration value="0194"/>
<enumeration value="0195"/>
<enumeration value="0196"/>
<enumeration value="0197"/>
<enumeration value="0198"/>
<enumeration value="0199"/>
<enumeration value="0200"/>
<enumeration value="0201"/>
<enumeration value="0202"/>
<enumeration value="0203"/>
<enumeration value="0204"/>
<enumeration value="0205"/>
<enumeration value="0206"/>
<enumeration value="0207"/>
<enumeration value="0208"/>
<enumeration value="0209"/>
<enumeration value="0210"/>
<enumeration value="0211"/>
<enumeration value="0212"/>
<enumeration value="0213"/>
<enumeration value="0214"/>
<enumeration value="0215"/>
<enumeration value="0216"/>
<enumeration value="0217"/>
<enumeration value="0218"/>
<enumeration value="0219"/>
<enumeration value="0220"/>
<enumeration value="0221"/>
<enumeration value="0222"/>
<enumeration value="0223"/>
<enumeration value="0224"/>
<enumeration value="0225"/>
<enumeration value="0226"/>
<enumeration value="0227"/>
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
<enumeration value="0239"/>
<enumeration value="0240"/>
</cl>
<cl id="12"> <cl id="12">
<enumeration value="0002"/> <enumeration value="0002"/>
<enumeration value="0003"/> <enumeration value="0003"/>
@@ -3556,8 +3335,253 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="13"> <cl id="13">
<enumeration value="0002"/>
<enumeration value="0003"/>
<enumeration value="0004"/>
<enumeration value="0005"/>
<enumeration value="0006"/>
<enumeration value="0007"/>
<enumeration value="0008"/>
<enumeration value="0009"/>
<enumeration value="0010"/>
<enumeration value="0011"/>
<enumeration value="0012"/>
<enumeration value="0013"/>
<enumeration value="0014"/>
<enumeration value="0015"/>
<enumeration value="0016"/>
<enumeration value="0017"/>
<enumeration value="0018"/>
<enumeration value="0019"/>
<enumeration value="0020"/>
<enumeration value="0021"/>
<enumeration value="0022"/>
<enumeration value="0023"/>
<enumeration value="0024"/>
<enumeration value="0025"/>
<enumeration value="0026"/>
<enumeration value="0027"/>
<enumeration value="0028"/>
<enumeration value="0029"/>
<enumeration value="0030"/>
<enumeration value="0031"/>
<enumeration value="0032"/>
<enumeration value="0033"/>
<enumeration value="0034"/>
<enumeration value="0035"/>
<enumeration value="0036"/>
<enumeration value="0037"/>
<enumeration value="0038"/>
<enumeration value="0039"/>
<enumeration value="0040"/>
<enumeration value="0041"/>
<enumeration value="0042"/>
<enumeration value="0043"/>
<enumeration value="0044"/>
<enumeration value="0045"/>
<enumeration value="0046"/>
<enumeration value="0047"/>
<enumeration value="0048"/>
<enumeration value="0049"/>
<enumeration value="0050"/>
<enumeration value="0051"/>
<enumeration value="0052"/>
<enumeration value="0053"/>
<enumeration value="0054"/>
<enumeration value="0055"/>
<enumeration value="0056"/>
<enumeration value="0057"/>
<enumeration value="0058"/>
<enumeration value="0059"/>
<enumeration value="0060"/>
<enumeration value="0061"/>
<enumeration value="0062"/>
<enumeration value="0063"/>
<enumeration value="0064"/>
<enumeration value="0065"/>
<enumeration value="0066"/>
<enumeration value="0067"/>
<enumeration value="0068"/>
<enumeration value="0069"/>
<enumeration value="0070"/>
<enumeration value="0071"/>
<enumeration value="0072"/>
<enumeration value="0073"/>
<enumeration value="0074"/>
<enumeration value="0075"/>
<enumeration value="0076"/>
<enumeration value="0077"/>
<enumeration value="0078"/>
<enumeration value="0079"/>
<enumeration value="0080"/>
<enumeration value="0081"/>
<enumeration value="0082"/>
<enumeration value="0083"/>
<enumeration value="0084"/>
<enumeration value="0085"/>
<enumeration value="0086"/>
<enumeration value="0087"/>
<enumeration value="0088"/>
<enumeration value="0089"/>
<enumeration value="0090"/>
<enumeration value="0091"/>
<enumeration value="0093"/>
<enumeration value="0094"/>
<enumeration value="0095"/>
<enumeration value="0096"/>
<enumeration value="0097"/>
<enumeration value="0098"/>
<enumeration value="0099"/>
<enumeration value="0100"/>
<enumeration value="0101"/>
<enumeration value="0102"/>
<enumeration value="0104"/>
<enumeration value="0105"/>
<enumeration value="0106"/>
<enumeration value="0107"/>
<enumeration value="0108"/>
<enumeration value="0109"/>
<enumeration value="0110"/>
<enumeration value="0111"/>
<enumeration value="0112"/>
<enumeration value="0113"/>
<enumeration value="0114"/>
<enumeration value="0115"/>
<enumeration value="0116"/>
<enumeration value="0117"/>
<enumeration value="0118"/>
<enumeration value="0119"/>
<enumeration value="0120"/>
<enumeration value="0121"/>
<enumeration value="0122"/>
<enumeration value="0123"/>
<enumeration value="0124"/>
<enumeration value="0125"/>
<enumeration value="0126"/>
<enumeration value="0127"/>
<enumeration value="0128"/>
<enumeration value="0129"/>
<enumeration value="0130"/>
<enumeration value="0131"/>
<enumeration value="0132"/>
<enumeration value="0133"/>
<enumeration value="0134"/>
<enumeration value="0135"/>
<enumeration value="0136"/>
<enumeration value="0137"/>
<enumeration value="0138"/>
<enumeration value="0139"/>
<enumeration value="0140"/>
<enumeration value="0141"/>
<enumeration value="0142"/>
<enumeration value="0143"/>
<enumeration value="0144"/>
<enumeration value="0145"/>
<enumeration value="0146"/>
<enumeration value="0147"/>
<enumeration value="0148"/>
<enumeration value="0149"/>
<enumeration value="0150"/>
<enumeration value="0151"/>
<enumeration value="0152"/>
<enumeration value="0153"/>
<enumeration value="0154"/>
<enumeration value="0155"/>
<enumeration value="0156"/>
<enumeration value="0157"/>
<enumeration value="0158"/>
<enumeration value="0159"/>
<enumeration value="0160"/>
<enumeration value="0161"/>
<enumeration value="0162"/>
<enumeration value="0163"/>
<enumeration value="0164"/>
<enumeration value="0165"/>
<enumeration value="0166"/>
<enumeration value="0167"/>
<enumeration value="0168"/>
<enumeration value="0169"/>
<enumeration value="0170"/>
<enumeration value="0171"/>
<enumeration value="0172"/>
<enumeration value="0173"/>
<enumeration value="0174"/>
<enumeration value="0175"/>
<enumeration value="0176"/>
<enumeration value="0177"/>
<enumeration value="0178"/>
<enumeration value="0179"/>
<enumeration value="0180"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0185"/>
<enumeration value="0186"/>
<enumeration value="0187"/>
<enumeration value="0188"/>
<enumeration value="0189"/>
<enumeration value="0190"/>
<enumeration value="0191"/>
<enumeration value="0192"/>
<enumeration value="0193"/>
<enumeration value="0194"/>
<enumeration value="0195"/>
<enumeration value="0196"/>
<enumeration value="0197"/>
<enumeration value="0198"/>
<enumeration value="0199"/>
<enumeration value="0200"/>
<enumeration value="0201"/>
<enumeration value="0202"/>
<enumeration value="0203"/>
<enumeration value="0204"/>
<enumeration value="0205"/>
<enumeration value="0206"/>
<enumeration value="0207"/>
<enumeration value="0208"/>
<enumeration value="0209"/>
<enumeration value="0210"/>
<enumeration value="0211"/>
<enumeration value="0212"/>
<enumeration value="0213"/>
<enumeration value="0214"/>
<enumeration value="0215"/>
<enumeration value="0216"/>
<enumeration value="0217"/>
<enumeration value="0218"/>
<enumeration value="0219"/>
<enumeration value="0220"/>
<enumeration value="0221"/>
<enumeration value="0222"/>
<enumeration value="0223"/>
<enumeration value="0224"/>
<enumeration value="0225"/>
<enumeration value="0226"/>
<enumeration value="0227"/>
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
<enumeration value="0239"/>
<enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl>
<cl id="14">
<enumeration value="AD"/> <enumeration value="AD"/>
<enumeration value="AE"/> <enumeration value="AE"/>
<enumeration value="AF"/> <enumeration value="AF"/>
@@ -3810,7 +3834,7 @@
<enumeration value="1A"/> <enumeration value="1A"/>
<enumeration value="XI"/> <enumeration value="XI"/>
</cl> </cl>
<cl id="14"> <cl id="15">
<enumeration value="0002"/> <enumeration value="0002"/>
<enumeration value="0007"/> <enumeration value="0007"/>
<enumeration value="0009"/> <enumeration value="0009"/>
@@ -3862,6 +3886,7 @@
<enumeration value="0230"/> <enumeration value="0230"/>
<enumeration value="0235"/> <enumeration value="0235"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0244"/>
<enumeration value="9910"/> <enumeration value="9910"/>
<enumeration value="9913"/> <enumeration value="9913"/>
<enumeration value="9914"/> <enumeration value="9914"/>
@@ -3909,13 +3934,13 @@
<enumeration value="AU"/> <enumeration value="AU"/>
<enumeration value="EM"/> <enumeration value="EM"/>
</cl> </cl>
<cl id="15">
<enumeration value="VA"/>
</cl>
<cl id="16"> <cl id="16">
<enumeration value="VA"/> <enumeration value="VA"/>
</cl> </cl>
<cl id="17"> <cl id="17">
<enumeration value="VA"/>
</cl>
<cl id="18">
<enumeration value="AED"/> <enumeration value="AED"/>
<enumeration value="AFN"/> <enumeration value="AFN"/>
<enumeration value="ALL"/> <enumeration value="ALL"/>
@@ -3949,6 +3974,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -4095,7 +4121,7 @@
<enumeration value="ZMW"/> <enumeration value="ZMW"/>
<enumeration value="ZWG"/> <enumeration value="ZWG"/>
</cl> </cl>
<cl id="18"> <cl id="19">
<enumeration value="1"/> <enumeration value="1"/>
<enumeration value="2"/> <enumeration value="2"/>
<enumeration value="3"/> <enumeration value="3"/>
@@ -4181,7 +4207,7 @@
<enumeration value="98"/> <enumeration value="98"/>
<enumeration value="ZZZ"/> <enumeration value="ZZZ"/>
</cl> </cl>
<cl id="19"> <cl id="20">
<enumeration value="VATEX-EU-132"/> <enumeration value="VATEX-EU-132"/>
<enumeration value="VATEX-EU-132-1A"/> <enumeration value="VATEX-EU-132-1A"/>
<enumeration value="VATEX-EU-132-1B"/> <enumeration value="VATEX-EU-132-1B"/>
@@ -4200,6 +4226,7 @@
<enumeration value="VATEX-EU-132-1O"/> <enumeration value="VATEX-EU-132-1O"/>
<enumeration value="VATEX-EU-132-1P"/> <enumeration value="VATEX-EU-132-1P"/>
<enumeration value="VATEX-EU-132-1Q"/> <enumeration value="VATEX-EU-132-1Q"/>
<enumeration value="VATEX-EU-135-1"/>
<enumeration value="VATEX-EU-143"/> <enumeration value="VATEX-EU-143"/>
<enumeration value="VATEX-EU-143-1A"/> <enumeration value="VATEX-EU-143-1A"/>
<enumeration value="VATEX-EU-143-1B"/> <enumeration value="VATEX-EU-143-1B"/>
@@ -4270,11 +4297,6 @@
<enumeration value="VATEX-FR-CNWVAT"/> <enumeration value="VATEX-FR-CNWVAT"/>
<enumeration value="VATEX-FR-FRANCHISE"/> <enumeration value="VATEX-FR-FRANCHISE"/>
</cl> </cl>
<cl id="20">
<enumeration value="5"/>
<enumeration value="29"/>
<enumeration value="72"/>
</cl>
<cl id="21"> <cl id="21">
<enumeration value="41"/> <enumeration value="41"/>
<enumeration value="42"/> <enumeration value="42"/>
@@ -4510,6 +4532,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -4690,6 +4713,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>

View File

@@ -1,9 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso">
<title>Schema for Factur-X; 1.07.3; EN16931-COMPLIANT (FULLY)</title> <title>Schema for Factur-X; 1.08; EN16931-COMPLIANT (FULLY)</title>
<ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/> <ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/>
<ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/> <ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/>
<ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/> <ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/>
<ns prefix="udt" uri="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"/> <ns prefix="udt" uri="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"/>
<pattern>
<rule context="//*[not(*) and not(normalize-space())]">
<assert flag="warning" id="FX-SCH-A-000372" test="false">
[PEPPOL-EN16931-R008]-Document MUST not contain empty elements. (still status warning)</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="//ram:AdditionalReferencedDocument"> <rule context="//ram:AdditionalReferencedDocument">
<assert id="FX-SCH-A-000280" test="(ram:IssuerAssignedID!='')"> <assert id="FX-SCH-A-000280" test="(ram:IssuerAssignedID!='')">
@@ -210,8 +216,8 @@
</pattern> </pattern>
<pattern> <pattern>
<rule context="//ram:SpecifiedTradeAllowanceCharge"> <rule context="//ram:SpecifiedTradeAllowanceCharge">
<assert id="FX-SCH-A-000080" test="(ram:ChargeIndicator)"> <assert id="FX-SCH-A-000348" test="(ram:ChargeIndicator)">
[BR-66]-Each Specified Trade Allowance Charge (BG-20)(BG-21) shall contain a Charge Indicator.</assert> [CII-SR-463]-Each Specified Trade Allowance Charge (BG-20)(BG-21) shall contain a Charge Indicator.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern> <pattern>
@@ -414,6 +420,8 @@
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans"> <rule context="//ram:SpecifiedTradeSettlementPaymentMeans">
<assert id="FX-SCH-A-000131" test="(ram:TypeCode)"> <assert id="FX-SCH-A-000131" test="(ram:TypeCode)">
[BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).</assert> [BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).</assert>
<assert id="FX-SCH-A-000349" test="(ram:PayeeSpecifiedCreditorFinancialInstitution or ram:PayerSpecifiedDebtorFinancialInstitution) or (not(ram:PayeeSpecifiedCreditorFinancialInstitution) and not(ram:PayerSpecifiedDebtorFinancialInstitution))">
[CII-SR-464]-Only one BT-86 element is allowed on an invoice.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern> <pattern>
@@ -438,7 +446,7 @@
</pattern> </pattern>
<pattern> <pattern>
<rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'AE']"> <rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'AE']">
<assert id="FX-SCH-A-000227" test="(../ram:BasisAmount -1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/ram:ActualAmount)*10*10)div 100)) and (../ram:BasisAmount +1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/ram:ActualAmount)*10*10)div 100))"> <assert id="FX-SCH-A-000227" test="(../ram:BasisAmount -1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount))*10*10)div 100)) and (../ram:BasisAmount +1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount))*10*10)div 100))">
[BR-AE-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Reverse charge".</assert> [BR-AE-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Reverse charge".</assert>
<assert id="FX-SCH-A-000136" test="../ram:CalculatedAmount = 0"> <assert id="FX-SCH-A-000136" test="../ram:CalculatedAmount = 0">
[BR-AE-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" shall be 0 (zero).</assert> [BR-AE-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" shall be 0 (zero).</assert>
@@ -448,7 +456,7 @@
</pattern> </pattern>
<pattern> <pattern>
<rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'E']"> <rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'E']">
<assert id="FX-SCH-A-000228" test="(../ram:BasisAmount - 1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'E']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='E']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='E']/ram:ActualAmount)*10*10)div 100)) and (../ram:BasisAmount + 1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'E']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='E']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='E']/ram:ActualAmount)*10*10)div 100))"> <assert id="FX-SCH-A-000228" test="(../ram:BasisAmount - 1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'E']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='E']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='E']/xs:decimal(ram:ActualAmount))*10*10)div 100)) and (../ram:BasisAmount + 1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'E']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='E']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='E']/xs:decimal(ram:ActualAmount))*10*10)div 100))">
[BR-E-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Exempt from VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Exempt from VAT".</assert> [BR-E-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Exempt from VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Exempt from VAT".</assert>
<assert id="FX-SCH-A-000138" test="../ram:CalculatedAmount = 0"> <assert id="FX-SCH-A-000138" test="../ram:CalculatedAmount = 0">
[BR-E-09]-The VAT category tax amount (BT-117) In a VAT breakdown (BG-23) where the VAT category code (BT-118) equals "Exempt from VAT" shall equal 0 (zero).</assert> [BR-E-09]-The VAT category tax amount (BT-117) In a VAT breakdown (BG-23) where the VAT category code (BT-118) equals "Exempt from VAT" shall equal 0 (zero).</assert>
@@ -458,7 +466,7 @@
</pattern> </pattern>
<pattern> <pattern>
<rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'G']"> <rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'G']">
<assert id="FX-SCH-A-000229" test="(../ram:BasisAmount -1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'G']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='G']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='G']/ram:ActualAmount)*10*10)div 100)) and (../ram:BasisAmount +1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'G']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='G']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='G']/ram:ActualAmount)*10*10)div 100))"> <assert id="FX-SCH-A-000229" test="(../ram:BasisAmount -1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'G']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='G']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='G']/xs:decimal(ram:ActualAmount))*10*10)div 100)) and (../ram:BasisAmount +1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'G']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='G']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='G']/xs:decimal(ram:ActualAmount))*10*10)div 100))">
[BR-G-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Export outside the EU".</assert> [BR-G-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Export outside the EU".</assert>
<assert id="FX-SCH-A-000140" test="../ram:CalculatedAmount = 0"> <assert id="FX-SCH-A-000140" test="../ram:CalculatedAmount = 0">
[BR-G-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" shall be 0 (zero).</assert> [BR-G-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" shall be 0 (zero).</assert>
@@ -590,6 +598,12 @@
[BR-Z-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Zero rated" the Invoiced item VAT rate (BT-152) shall be 0 (zero).</assert> [BR-Z-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Zero rated" the Invoiced item VAT rate (BT-152) shall be 0 (zero).</assert>
</rule> </rule>
</pattern> </pattern>
<pattern>
<rule context="//udt:DateTimeString[@format = '102']">
<assert id="FX-SCH-A-000353" test="matches(.,'^\s*(\d{4})(1[0-2]|0[1-9]){1}(3[01]|[12][0-9]|0[1-9]){1}\s*$')">
[CII-DT-097] - Date time string with format attribute 102 shall be YYYYMMDD.</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="/rsm:CrossIndustryInvoice"> <rule context="/rsm:CrossIndustryInvoice">
<assert id="FX-SCH-A-000253" test="//ram:IncludedSupplyChainTradeLineItem"> <assert id="FX-SCH-A-000253" test="//ram:IncludedSupplyChainTradeLineItem">
@@ -646,6 +660,18 @@
[BR-B-02]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment" shall not contain an invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Standard rated”.</assert> [BR-B-02]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment" shall not contain an invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Standard rated”.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement">
<assert id="FX-SCH-A-000350" test="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:PersonName and ram:SellerTradeParty/ram:DefinedTradeContact/ram:DepartmentName)">
[CII-SR-465]-Only one BT-41 element is allowed on an invoice.</assert>
<assert id="FX-SCH-A-000351" test="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:PersonName and ram:BuyerTradeParty/ram:DefinedTradeContact/ram:DepartmentName)">
[CII-SR-466]-Only one BT-56 element is allowed on an invoice.</assert>
<assert id="FX-SCH-A-000027" test="count(ram:SellerTradeParty)=1">
Element 'ram:SellerTradeParty' must occur exactly 1 times.</assert>
<assert id="FX-SCH-A-000028" test="count(ram:BuyerTradeParty)=1">
Element 'ram:BuyerTradeParty' must occur exactly 1 times.</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery">
<assert id="FX-SCH-A-000170" test="(ram:ShipToTradeParty/ram:PostalTradeAddress and ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID!='') or not (ram:ShipToTradeParty/ram:PostalTradeAddress)"> <assert id="FX-SCH-A-000170" test="(ram:ShipToTradeParty/ram:PostalTradeAddress and ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID!='') or not (ram:ShipToTradeParty/ram:PostalTradeAddress)">
@@ -660,6 +686,12 @@
Element 'ram:IssuerAssignedID' must occur exactly 1 times.</assert> Element 'ram:IssuerAssignedID' must occur exactly 1 times.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice[&#13;&#10; rsm:ExchangedDocument/ram:TypeCode != '386'&#13;&#10;]/rsm:SupplyChainTradeTransaction[&#13;&#10; (&#13;&#10; ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; and&#13;&#10; ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; )&#13;&#10; or&#13;&#10; (&#13;&#10; ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; and&#13;&#10; ram:ApplicableHeaderTradeSettlement/ram:InvoiceeTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; )&#13;&#10; or&#13;&#10; (&#13;&#10; ram:ApplicableHeaderTradeSettlement/ram:InvoicerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; and&#13;&#10; ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; )&#13;&#10; or&#13;&#10; (&#13;&#10; ram:ApplicableHeaderTradeSettlement/ram:InvoicerTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; and&#13;&#10; ram:ApplicableHeaderTradeSettlement/ram:InvoiceeTradeParty/ram:PostalTradeAddress/ram:CountryID[upper-case(normalize-space(.))='DE']&#13;&#10; )&#13;&#10;]">
<assert id="FX-SCH-A-000354" test="(&#13;&#10; ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime&#13;&#10; or ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod&#13;&#10; or (every $line in ram:IncludedSupplyChainTradeLineItem&#13;&#10; satisfies $line/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod)&#13;&#10; )&#13;&#10; and&#13;&#10; (&#13;&#10; ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime&#13;&#10; or normalize-space(string-join(ram:ApplicableHeaderTradeDelivery//text(),'')) != ''&#13;&#10; )">
[BR-FX-EN-04]-An invoice that is not a down payment invoice (code 386) must contain either BT-72 "Actual delivery date", BG-14 "Invoicing period" or BG-26 "Invoice line period" in each invoice item to indicate the delivery/service date. If BT-72 is not used, at least the country of delivery (BT-80) must be specified for technical reasons.</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument"> <rule context="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument">
<assert id="FX-SCH-A-000019" test="count(ram:ID)=1"> <assert id="FX-SCH-A-000019" test="count(ram:ID)=1">
@@ -727,12 +759,6 @@
<assert id="FX-SCH-A-000265" test="count(ram:IncludedSupplyChainTradeLineItem)&gt;=1"> <assert id="FX-SCH-A-000265" test="count(ram:IncludedSupplyChainTradeLineItem)&gt;=1">
Element 'ram:IncludedSupplyChainTradeLineItem' must occur at least 1 times.</assert> Element 'ram:IncludedSupplyChainTradeLineItem' must occur at least 1 times.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement">
<assert id="FX-SCH-A-000027" test="count(ram:SellerTradeParty)=1">
Element 'ram:SellerTradeParty' must occur exactly 1 times.</assert>
<assert id="FX-SCH-A-000028" test="count(ram:BuyerTradeParty)=1">
Element 'ram:BuyerTradeParty' must occur exactly 1 times.</assert>
</rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ not(ram:TypeCode=&quot;916&quot;) and not(ram:TypeCode=&quot;50&quot;) and not(ram:TypeCode=&quot;130&quot;)]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ not(ram:TypeCode=&quot;916&quot;) and not(ram:TypeCode=&quot;50&quot;) and not(ram:TypeCode=&quot;130&quot;)]">
<report test="true()"> <report test="true()">
Element variant 'ram:AdditionalReferencedDocument[ not(ram:TypeCode="916") and not(ram:TypeCode="50") and not(ram:TypeCode="130")]' is marked as not used in the given context.</report> Element variant 'ram:AdditionalReferencedDocument[ not(ram:TypeCode="916") and not(ram:TypeCode="50") and not(ram:TypeCode="130")]' is marked as not used in the given context.</report>
@@ -764,13 +790,13 @@
Element 'ram:Name' is marked as not used in the given context.</report> Element 'ram:Name' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;130&quot;]/ram:ReferenceTypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;130&quot;]/ram:ReferenceTypeCode">
<let name="codeValue14" value="."/> <let name="codeValue15" value="."/>
<assert id="FX-SCH-A-000282" test="string-length($codeValue14)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=14]/enumeration[@value=$codeValue14]"> <assert id="FX-SCH-A-000282" test="string-length($codeValue15)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]">
Value of 'ram:ReferenceTypeCode' is not allowed.</assert> Value of 'ram:ReferenceTypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;130&quot;]/ram:TypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;130&quot;]/ram:TypeCode">
<let name="codeValue23" value="."/> <let name="codeValue24" value="."/>
<assert id="FX-SCH-A-000023" test="string-length($codeValue23)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=23]/enumeration[@value=$codeValue23]"> <assert id="FX-SCH-A-000023" test="string-length($codeValue24)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=24]/enumeration[@value=$codeValue24]">
Value of 'ram:TypeCode' is not allowed.</assert> Value of 'ram:TypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;130&quot;]/ram:URIID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;130&quot;]/ram:URIID">
@@ -808,8 +834,8 @@
Element 'ram:ReferenceTypeCode' is marked as not used in the given context.</report> Element 'ram:ReferenceTypeCode' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;50&quot;]/ram:TypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;50&quot;]/ram:TypeCode">
<let name="codeValue22" value="."/> <let name="codeValue23" value="."/>
<assert id="FX-SCH-A-000023" test="string-length($codeValue22)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=22]/enumeration[@value=$codeValue22]"> <assert id="FX-SCH-A-000023" test="string-length($codeValue23)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=23]/enumeration[@value=$codeValue23]">
Value of 'ram:TypeCode' is not allowed.</assert> Value of 'ram:TypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;50&quot;]/ram:URIID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;50&quot;]/ram:URIID">
@@ -829,8 +855,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;916&quot;]/ram:AttachmentBinaryObject"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;916&quot;]/ram:AttachmentBinaryObject">
<assert id="FX-SCH-A-000285" test="@mimeCode"> <assert id="FX-SCH-A-000285" test="@mimeCode">
Attribute '@mimeCode' is required in this context.</assert> Attribute '@mimeCode' is required in this context.</assert>
<let name="codeValue21" value="@mimeCode"/> <let name="codeValue22" value="@mimeCode"/>
<assert id="FX-SCH-A-000287" test="string-length($codeValue21)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=21]/enumeration[@value=$codeValue21]"> <assert id="FX-SCH-A-000287" test="string-length($codeValue22)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=22]/enumeration[@value=$codeValue22]">
Value of '@mimeCode' is not allowed.</assert> Value of '@mimeCode' is not allowed.</assert>
<assert id="FX-SCH-A-000286" test="@filename"> <assert id="FX-SCH-A-000286" test="@filename">
Attribute '@filename' is required in this context.</assert> Attribute '@filename' is required in this context.</assert>
@@ -852,8 +878,8 @@
Element 'ram:ReferenceTypeCode' is marked as not used in the given context.</report> Element 'ram:ReferenceTypeCode' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;916&quot;]/ram:TypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;916&quot;]/ram:TypeCode">
<let name="codeValue20" value="."/> <let name="codeValue21" value="."/>
<assert id="FX-SCH-A-000023" test="string-length($codeValue20)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=20]/enumeration[@value=$codeValue20]"> <assert id="FX-SCH-A-000023" test="string-length($codeValue21)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=21]/enumeration[@value=$codeValue21]">
Value of 'ram:TypeCode' is not allowed.</assert> Value of 'ram:TypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;916&quot;]/ram:URIID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[ram:TypeCode=&quot;916&quot;]/ram:URIID">
@@ -939,8 +965,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:GlobalID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:GlobalID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue15" value="@schemeID"/> <let name="codeValue16" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue15)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue16)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=16]/enumeration[@value=$codeValue16]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:ID">
@@ -965,8 +991,8 @@
Attribute @listVersionID' marked as not used in the given context.</report> Attribute @listVersionID' marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID">
<let name="codeValue16" value="@schemeID"/> <let name="codeValue17" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue16)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=16]/enumeration[@value=$codeValue16]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue17)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=17]/enumeration[@value=$codeValue17]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration">
@@ -976,8 +1002,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue18" value="@schemeID"/> <let name="codeValue19" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue18)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=18]/enumeration[@value=$codeValue18]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue19)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=19]/enumeration[@value=$codeValue19]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication">
@@ -991,8 +1017,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:URIID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:URIID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue17" value="@schemeID"/> <let name="codeValue18" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue17)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=17]/enumeration[@value=$codeValue17]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue18)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=18]/enumeration[@value=$codeValue18]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:ContractReferencedDocument"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:ContractReferencedDocument">
@@ -1119,8 +1145,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue19" value="@schemeID"/> <let name="codeValue20" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue19)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=19]/enumeration[@value=$codeValue19]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue20)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=20]/enumeration[@value=$codeValue20]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:URIUniversalCommunication"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:URIUniversalCommunication">
@@ -1166,8 +1192,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:GlobalID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:GlobalID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue15" value="@schemeID"/> <let name="codeValue16" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue15)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue16)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=16]/enumeration[@value=$codeValue16]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:ID">
@@ -1192,8 +1218,8 @@
Attribute @listVersionID' marked as not used in the given context.</report> Attribute @listVersionID' marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID">
<let name="codeValue16" value="@schemeID"/> <let name="codeValue17" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue16)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=16]/enumeration[@value=$codeValue16]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue17)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=17]/enumeration[@value=$codeValue17]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration[ not(ram:ID/@schemeID=&quot;VA&quot;) and not(ram:ID/@schemeID=&quot;FC&quot;)]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration[ not(ram:ID/@schemeID=&quot;VA&quot;) and not(ram:ID/@schemeID=&quot;FC&quot;)]">
@@ -1227,8 +1253,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication/ram:URIID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication/ram:URIID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue17" value="@schemeID"/> <let name="codeValue18" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue17)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=17]/enumeration[@value=$codeValue17]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue18)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=18]/enumeration[@value=$codeValue18]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SpecifiedProcuringProject/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SpecifiedProcuringProject/ram:ID">
@@ -1335,8 +1361,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:GlobalID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:GlobalID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue15" value="@schemeID"/> <let name="codeValue16" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue15)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue16)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=16]/enumeration[@value=$codeValue16]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:ID">
@@ -1410,13 +1436,13 @@
Value of 'ram:CategoryCode' is not allowed.</assert> Value of 'ram:CategoryCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:DueDateTypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:DueDateTypeCode">
<let name="codeValue28" value="."/> <let name="codeValue11" value="."/>
<assert id="FX-SCH-A-000180" test="string-length($codeValue28)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=28]/enumeration[@value=$codeValue28]"> <assert id="FX-SCH-A-000180" test="string-length($codeValue11)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=11]/enumeration[@value=$codeValue11]">
Value of 'ram:DueDateTypeCode' is not allowed.</assert> Value of 'ram:DueDateTypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReasonCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReasonCode">
<let name="codeValue26" value="."/> <let name="codeValue27" value="."/>
<assert id="FX-SCH-A-000181" test="string-length($codeValue26)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=26]/enumeration[@value=$codeValue26]"> <assert id="FX-SCH-A-000181" test="string-length($codeValue27)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=27]/enumeration[@value=$codeValue27]">
Value of 'ram:ExemptionReasonCode' is not allowed.</assert> Value of 'ram:ExemptionReasonCode' is not allowed.</assert>
<report test="@listID"> <report test="@listID">
Attribute @listID' marked as not used in the given context.</report> Attribute @listID' marked as not used in the given context.</report>
@@ -1426,8 +1452,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:TaxPointDate/udt:DateString"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:TaxPointDate/udt:DateString">
<assert id="FX-SCH-A-000021" test="@format"> <assert id="FX-SCH-A-000021" test="@format">
Attribute '@format' is required in this context.</assert> Attribute '@format' is required in this context.</assert>
<let name="codeValue27" value="@format"/> <let name="codeValue28" value="@format"/>
<assert id="FX-SCH-A-000022" test="string-length($codeValue27)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=27]/enumeration[@value=$codeValue27]"> <assert id="FX-SCH-A-000022" test="string-length($codeValue28)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=28]/enumeration[@value=$codeValue28]">
Value of '@format' is not allowed.</assert> Value of '@format' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:TypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:TypeCode">
@@ -1454,8 +1480,8 @@
Attribute @schemeID' marked as not used in the given context.</report> Attribute @schemeID' marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode">
<let name="codeValue24" value="."/> <let name="codeValue25" value="."/>
<assert id="FX-SCH-A-000040" test="string-length($codeValue24)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=24]/enumeration[@value=$codeValue24]"> <assert id="FX-SCH-A-000040" test="string-length($codeValue25)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=25]/enumeration[@value=$codeValue25]">
Value of 'ram:InvoiceCurrencyCode' is not allowed.</assert> Value of 'ram:InvoiceCurrencyCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceReferencedDocument/ram:AttachmentBinaryObject"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceReferencedDocument/ram:AttachmentBinaryObject">
@@ -1512,8 +1538,8 @@
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:GlobalID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:GlobalID">
<assert id="FX-SCH-A-000037" test="@schemeID"> <assert id="FX-SCH-A-000037" test="@schemeID">
Attribute '@schemeID' is required in this context.</assert> Attribute '@schemeID' is required in this context.</assert>
<let name="codeValue15" value="@schemeID"/> <let name="codeValue16" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue15)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue16)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=16]/enumeration[@value=$codeValue16]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:ID">
@@ -1525,8 +1551,8 @@
Element 'ram:PostalTradeAddress' is marked as not used in the given context.</report> Element 'ram:PostalTradeAddress' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:ID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:ID">
<let name="codeValue16" value="@schemeID"/> <let name="codeValue17" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="string-length($codeValue16)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=16]/enumeration[@value=$codeValue16]"> <assert id="FX-SCH-A-000031" test="string-length($codeValue17)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=17]/enumeration[@value=$codeValue17]">
Value of '@schemeID' is not allowed.</assert> Value of '@schemeID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName">
@@ -1743,15 +1769,11 @@
Element variant 'ram:TaxTotalAmount[ not(@currencyID=../../ram:InvoiceCurrencyCode) and not(@currencyID=../../ram:TaxCurrencyCode)]' is marked as not used in the given context.</report> Element variant 'ram:TaxTotalAmount[ not(@currencyID=../../ram:InvoiceCurrencyCode) and not(@currencyID=../../ram:TaxCurrencyCode)]' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]">
<assert id="FX-SCH-A-000046" test="@currencyID">
Attribute '@currencyID' is required in this context.</assert>
<let name="codeValue31" value="@currencyID"/> <let name="codeValue31" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="string-length($codeValue31)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=31]/enumeration[@value=$codeValue31]"> <assert id="FX-SCH-A-000045" test="string-length($codeValue31)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=31]/enumeration[@value=$codeValue31]">
Value of '@currencyID' is not allowed.</assert> Value of '@currencyID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode]">
<assert id="FX-SCH-A-000046" test="@currencyID">
Attribute '@currencyID' is required in this context.</assert>
<let name="codeValue32" value="@currencyID"/> <let name="codeValue32" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="string-length($codeValue32)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=32]/enumeration[@value=$codeValue32]"> <assert id="FX-SCH-A-000045" test="string-length($codeValue32)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=32]/enumeration[@value=$codeValue32]">
Value of '@currencyID' is not allowed.</assert> Value of '@currencyID' is not allowed.</assert>
@@ -1801,13 +1823,13 @@
Attribute @schemeID' marked as not used in the given context.</report> Attribute @schemeID' marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode">
<let name="codeValue25" value="."/> <let name="codeValue26" value="."/>
<assert id="FX-SCH-A-000023" test="string-length($codeValue25)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=25]/enumeration[@value=$codeValue25]"> <assert id="FX-SCH-A-000023" test="string-length($codeValue26)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=26]/enumeration[@value=$codeValue26]">
Value of 'ram:TypeCode' is not allowed.</assert> Value of 'ram:TypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode">
<let name="codeValue24" value="."/> <let name="codeValue25" value="."/>
<assert id="FX-SCH-A-000196" test="string-length($codeValue24)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=24]/enumeration[@value=$codeValue24]"> <assert id="FX-SCH-A-000196" test="string-length($codeValue25)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=25]/enumeration[@value=$codeValue25]">
Value of 'ram:TaxCurrencyCode' is not allowed.</assert> Value of 'ram:TaxCurrencyCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem">
@@ -1945,8 +1967,6 @@
Element 'ram:BilledQuantity' must occur exactly 1 times.</assert> Element 'ram:BilledQuantity' must occur exactly 1 times.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeDelivery/ram:BilledQuantity"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeDelivery/ram:BilledQuantity">
<assert id="FX-SCH-A-000277" test="@unitCode">
Attribute '@unitCode' is required in this context.</assert>
<let name="codeValue8" value="@unitCode"/> <let name="codeValue8" value="@unitCode"/>
<assert id="FX-SCH-A-000275" test="string-length($codeValue8)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=8]/enumeration[@value=$codeValue8]"> <assert id="FX-SCH-A-000275" test="string-length($codeValue8)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=8]/enumeration[@value=$codeValue8]">
Value of '@unitCode' is not allowed.</assert> Value of '@unitCode' is not allowed.</assert>
@@ -1988,13 +2008,13 @@
Element 'ram:Name' is marked as not used in the given context.</report> Element 'ram:Name' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:ReferenceTypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:ReferenceTypeCode">
<let name="codeValue14" value="."/> <let name="codeValue15" value="."/>
<assert id="FX-SCH-A-000282" test="string-length($codeValue14)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=14]/enumeration[@value=$codeValue14]"> <assert id="FX-SCH-A-000282" test="string-length($codeValue15)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]">
Value of 'ram:ReferenceTypeCode' is not allowed.</assert> Value of 'ram:ReferenceTypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:TypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:TypeCode">
<let name="codeValue13" value="."/> <let name="codeValue14" value="."/>
<assert id="FX-SCH-A-000023" test="string-length($codeValue13)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=13]/enumeration[@value=$codeValue13]"> <assert id="FX-SCH-A-000023" test="string-length($codeValue14)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=14]/enumeration[@value=$codeValue14]">
Value of 'ram:TypeCode' is not allowed.</assert> Value of 'ram:TypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:URIID"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:URIID">
@@ -2021,8 +2041,9 @@
Value of 'ram:CategoryCode' is not allowed.</assert> Value of 'ram:CategoryCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:DueDateTypeCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:DueDateTypeCode">
<report test="true()"> <let name="codeValue11" value="."/>
Element 'ram:DueDateTypeCode' is marked as not used in the given context.</report> <assert id="FX-SCH-A-000180" test="string-length($codeValue11)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=11]/enumeration[@value=$codeValue11]">
Value of 'ram:DueDateTypeCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReason"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReason">
<report test="true()"> <report test="true()">
@@ -2082,8 +2103,8 @@
Element 'ram:CategoryTradeTax' is marked as not used in the given context.</report> Element 'ram:CategoryTradeTax' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;false&quot;]/ram:ReasonCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;false&quot;]/ram:ReasonCode">
<let name="codeValue11" value="."/> <let name="codeValue12" value="."/>
<assert id="FX-SCH-A-000186" test="string-length($codeValue11)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=11]/enumeration[@value=$codeValue11]"> <assert id="FX-SCH-A-000186" test="string-length($codeValue12)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=12]/enumeration[@value=$codeValue12]">
Value of 'ram:ReasonCode' is not allowed.</assert> Value of 'ram:ReasonCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]">
@@ -2105,8 +2126,8 @@
Element 'ram:CategoryTradeTax' is marked as not used in the given context.</report> Element 'ram:CategoryTradeTax' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]/ram:ReasonCode"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]/ram:ReasonCode">
<let name="codeValue12" value="."/> <let name="codeValue13" value="."/>
<assert id="FX-SCH-A-000186" test="string-length($codeValue12)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=12]/enumeration[@value=$codeValue12]"> <assert id="FX-SCH-A-000186" test="string-length($codeValue13)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=13]/enumeration[@value=$codeValue13]">
Value of 'ram:ReasonCode' is not allowed.</assert> Value of 'ram:ReasonCode' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation">

View File

@@ -45,6 +45,13 @@
<enumeration value="456"/> <enumeration value="456"/>
<enumeration value="457"/> <enumeration value="457"/>
<enumeration value="458"/> <enumeration value="458"/>
<enumeration value="471"/>
<enumeration value="472"/>
<enumeration value="473"/>
<enumeration value="500"/>
<enumeration value="501"/>
<enumeration value="502"/>
<enumeration value="503"/>
<enumeration value="527"/> <enumeration value="527"/>
<enumeration value="532"/> <enumeration value="532"/>
<enumeration value="553"/> <enumeration value="553"/>
@@ -702,6 +709,10 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="6"> <cl id="6">
<enumeration value="AA"/> <enumeration value="AA"/>
@@ -3322,6 +3333,11 @@
<enumeration value="Z"/> <enumeration value="Z"/>
</cl> </cl>
<cl id="11"> <cl id="11">
<enumeration value="5"/>
<enumeration value="29"/>
<enumeration value="72"/>
</cl>
<cl id="12">
<enumeration value="41"/> <enumeration value="41"/>
<enumeration value="42"/> <enumeration value="42"/>
<enumeration value="60"/> <enumeration value="60"/>
@@ -3342,7 +3358,7 @@
<enumeration value="104"/> <enumeration value="104"/>
<enumeration value="105"/> <enumeration value="105"/>
</cl> </cl>
<cl id="12"> <cl id="13">
<enumeration value="AA"/> <enumeration value="AA"/>
<enumeration value="AAA"/> <enumeration value="AAA"/>
<enumeration value="AAC"/> <enumeration value="AAC"/>
@@ -3522,12 +3538,12 @@
<enumeration value="YY"/> <enumeration value="YY"/>
<enumeration value="ZZZ"/> <enumeration value="ZZZ"/>
</cl> </cl>
<cl id="13"> <cl id="14">
<enumeration value="50"/> <enumeration value="50"/>
<enumeration value="130"/> <enumeration value="130"/>
<enumeration value="916"/> <enumeration value="916"/>
</cl> </cl>
<cl id="14"> <cl id="15">
<enumeration value="AAA"/> <enumeration value="AAA"/>
<enumeration value="AAB"/> <enumeration value="AAB"/>
<enumeration value="AAC"/> <enumeration value="AAC"/>
@@ -4142,6 +4158,7 @@
<enumeration value="AXQ"/> <enumeration value="AXQ"/>
<enumeration value="AXR"/> <enumeration value="AXR"/>
<enumeration value="AXS"/> <enumeration value="AXS"/>
<enumeration value="AXU"/>
<enumeration value="BA"/> <enumeration value="BA"/>
<enumeration value="BC"/> <enumeration value="BC"/>
<enumeration value="BD"/> <enumeration value="BD"/>
@@ -4346,243 +4363,6 @@
<enumeration value="XP"/> <enumeration value="XP"/>
<enumeration value="ZZZ"/> <enumeration value="ZZZ"/>
</cl> </cl>
<cl id="15">
<enumeration value="0002"/>
<enumeration value="0003"/>
<enumeration value="0004"/>
<enumeration value="0005"/>
<enumeration value="0006"/>
<enumeration value="0007"/>
<enumeration value="0008"/>
<enumeration value="0009"/>
<enumeration value="0010"/>
<enumeration value="0011"/>
<enumeration value="0012"/>
<enumeration value="0013"/>
<enumeration value="0014"/>
<enumeration value="0015"/>
<enumeration value="0016"/>
<enumeration value="0017"/>
<enumeration value="0018"/>
<enumeration value="0019"/>
<enumeration value="0020"/>
<enumeration value="0021"/>
<enumeration value="0022"/>
<enumeration value="0023"/>
<enumeration value="0024"/>
<enumeration value="0025"/>
<enumeration value="0026"/>
<enumeration value="0027"/>
<enumeration value="0028"/>
<enumeration value="0029"/>
<enumeration value="0030"/>
<enumeration value="0031"/>
<enumeration value="0032"/>
<enumeration value="0033"/>
<enumeration value="0034"/>
<enumeration value="0035"/>
<enumeration value="0036"/>
<enumeration value="0037"/>
<enumeration value="0038"/>
<enumeration value="0039"/>
<enumeration value="0040"/>
<enumeration value="0041"/>
<enumeration value="0042"/>
<enumeration value="0043"/>
<enumeration value="0044"/>
<enumeration value="0045"/>
<enumeration value="0046"/>
<enumeration value="0047"/>
<enumeration value="0048"/>
<enumeration value="0049"/>
<enumeration value="0050"/>
<enumeration value="0051"/>
<enumeration value="0052"/>
<enumeration value="0053"/>
<enumeration value="0054"/>
<enumeration value="0055"/>
<enumeration value="0056"/>
<enumeration value="0057"/>
<enumeration value="0058"/>
<enumeration value="0059"/>
<enumeration value="0060"/>
<enumeration value="0061"/>
<enumeration value="0062"/>
<enumeration value="0063"/>
<enumeration value="0064"/>
<enumeration value="0065"/>
<enumeration value="0066"/>
<enumeration value="0067"/>
<enumeration value="0068"/>
<enumeration value="0069"/>
<enumeration value="0070"/>
<enumeration value="0071"/>
<enumeration value="0072"/>
<enumeration value="0073"/>
<enumeration value="0074"/>
<enumeration value="0075"/>
<enumeration value="0076"/>
<enumeration value="0077"/>
<enumeration value="0078"/>
<enumeration value="0079"/>
<enumeration value="0080"/>
<enumeration value="0081"/>
<enumeration value="0082"/>
<enumeration value="0083"/>
<enumeration value="0084"/>
<enumeration value="0085"/>
<enumeration value="0086"/>
<enumeration value="0087"/>
<enumeration value="0088"/>
<enumeration value="0089"/>
<enumeration value="0090"/>
<enumeration value="0091"/>
<enumeration value="0093"/>
<enumeration value="0094"/>
<enumeration value="0095"/>
<enumeration value="0096"/>
<enumeration value="0097"/>
<enumeration value="0098"/>
<enumeration value="0099"/>
<enumeration value="0100"/>
<enumeration value="0101"/>
<enumeration value="0102"/>
<enumeration value="0104"/>
<enumeration value="0105"/>
<enumeration value="0106"/>
<enumeration value="0107"/>
<enumeration value="0108"/>
<enumeration value="0109"/>
<enumeration value="0110"/>
<enumeration value="0111"/>
<enumeration value="0112"/>
<enumeration value="0113"/>
<enumeration value="0114"/>
<enumeration value="0115"/>
<enumeration value="0116"/>
<enumeration value="0117"/>
<enumeration value="0118"/>
<enumeration value="0119"/>
<enumeration value="0120"/>
<enumeration value="0121"/>
<enumeration value="0122"/>
<enumeration value="0123"/>
<enumeration value="0124"/>
<enumeration value="0125"/>
<enumeration value="0126"/>
<enumeration value="0127"/>
<enumeration value="0128"/>
<enumeration value="0129"/>
<enumeration value="0130"/>
<enumeration value="0131"/>
<enumeration value="0132"/>
<enumeration value="0133"/>
<enumeration value="0134"/>
<enumeration value="0135"/>
<enumeration value="0136"/>
<enumeration value="0137"/>
<enumeration value="0138"/>
<enumeration value="0139"/>
<enumeration value="0140"/>
<enumeration value="0141"/>
<enumeration value="0142"/>
<enumeration value="0143"/>
<enumeration value="0144"/>
<enumeration value="0145"/>
<enumeration value="0146"/>
<enumeration value="0147"/>
<enumeration value="0148"/>
<enumeration value="0149"/>
<enumeration value="0150"/>
<enumeration value="0151"/>
<enumeration value="0152"/>
<enumeration value="0153"/>
<enumeration value="0154"/>
<enumeration value="0155"/>
<enumeration value="0156"/>
<enumeration value="0157"/>
<enumeration value="0158"/>
<enumeration value="0159"/>
<enumeration value="0160"/>
<enumeration value="0161"/>
<enumeration value="0162"/>
<enumeration value="0163"/>
<enumeration value="0164"/>
<enumeration value="0165"/>
<enumeration value="0166"/>
<enumeration value="0167"/>
<enumeration value="0168"/>
<enumeration value="0169"/>
<enumeration value="0170"/>
<enumeration value="0171"/>
<enumeration value="0172"/>
<enumeration value="0173"/>
<enumeration value="0174"/>
<enumeration value="0175"/>
<enumeration value="0176"/>
<enumeration value="0177"/>
<enumeration value="0178"/>
<enumeration value="0179"/>
<enumeration value="0180"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0185"/>
<enumeration value="0186"/>
<enumeration value="0187"/>
<enumeration value="0188"/>
<enumeration value="0189"/>
<enumeration value="0190"/>
<enumeration value="0191"/>
<enumeration value="0192"/>
<enumeration value="0193"/>
<enumeration value="0194"/>
<enumeration value="0195"/>
<enumeration value="0196"/>
<enumeration value="0197"/>
<enumeration value="0198"/>
<enumeration value="0199"/>
<enumeration value="0200"/>
<enumeration value="0201"/>
<enumeration value="0202"/>
<enumeration value="0203"/>
<enumeration value="0204"/>
<enumeration value="0205"/>
<enumeration value="0206"/>
<enumeration value="0207"/>
<enumeration value="0208"/>
<enumeration value="0209"/>
<enumeration value="0210"/>
<enumeration value="0211"/>
<enumeration value="0212"/>
<enumeration value="0213"/>
<enumeration value="0214"/>
<enumeration value="0215"/>
<enumeration value="0216"/>
<enumeration value="0217"/>
<enumeration value="0218"/>
<enumeration value="0219"/>
<enumeration value="0220"/>
<enumeration value="0221"/>
<enumeration value="0222"/>
<enumeration value="0223"/>
<enumeration value="0224"/>
<enumeration value="0225"/>
<enumeration value="0226"/>
<enumeration value="0227"/>
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
<enumeration value="0239"/>
<enumeration value="0240"/>
</cl>
<cl id="16"> <cl id="16">
<enumeration value="0002"/> <enumeration value="0002"/>
<enumeration value="0003"/> <enumeration value="0003"/>
@@ -4819,8 +4599,253 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="17"> <cl id="17">
<enumeration value="0002"/>
<enumeration value="0003"/>
<enumeration value="0004"/>
<enumeration value="0005"/>
<enumeration value="0006"/>
<enumeration value="0007"/>
<enumeration value="0008"/>
<enumeration value="0009"/>
<enumeration value="0010"/>
<enumeration value="0011"/>
<enumeration value="0012"/>
<enumeration value="0013"/>
<enumeration value="0014"/>
<enumeration value="0015"/>
<enumeration value="0016"/>
<enumeration value="0017"/>
<enumeration value="0018"/>
<enumeration value="0019"/>
<enumeration value="0020"/>
<enumeration value="0021"/>
<enumeration value="0022"/>
<enumeration value="0023"/>
<enumeration value="0024"/>
<enumeration value="0025"/>
<enumeration value="0026"/>
<enumeration value="0027"/>
<enumeration value="0028"/>
<enumeration value="0029"/>
<enumeration value="0030"/>
<enumeration value="0031"/>
<enumeration value="0032"/>
<enumeration value="0033"/>
<enumeration value="0034"/>
<enumeration value="0035"/>
<enumeration value="0036"/>
<enumeration value="0037"/>
<enumeration value="0038"/>
<enumeration value="0039"/>
<enumeration value="0040"/>
<enumeration value="0041"/>
<enumeration value="0042"/>
<enumeration value="0043"/>
<enumeration value="0044"/>
<enumeration value="0045"/>
<enumeration value="0046"/>
<enumeration value="0047"/>
<enumeration value="0048"/>
<enumeration value="0049"/>
<enumeration value="0050"/>
<enumeration value="0051"/>
<enumeration value="0052"/>
<enumeration value="0053"/>
<enumeration value="0054"/>
<enumeration value="0055"/>
<enumeration value="0056"/>
<enumeration value="0057"/>
<enumeration value="0058"/>
<enumeration value="0059"/>
<enumeration value="0060"/>
<enumeration value="0061"/>
<enumeration value="0062"/>
<enumeration value="0063"/>
<enumeration value="0064"/>
<enumeration value="0065"/>
<enumeration value="0066"/>
<enumeration value="0067"/>
<enumeration value="0068"/>
<enumeration value="0069"/>
<enumeration value="0070"/>
<enumeration value="0071"/>
<enumeration value="0072"/>
<enumeration value="0073"/>
<enumeration value="0074"/>
<enumeration value="0075"/>
<enumeration value="0076"/>
<enumeration value="0077"/>
<enumeration value="0078"/>
<enumeration value="0079"/>
<enumeration value="0080"/>
<enumeration value="0081"/>
<enumeration value="0082"/>
<enumeration value="0083"/>
<enumeration value="0084"/>
<enumeration value="0085"/>
<enumeration value="0086"/>
<enumeration value="0087"/>
<enumeration value="0088"/>
<enumeration value="0089"/>
<enumeration value="0090"/>
<enumeration value="0091"/>
<enumeration value="0093"/>
<enumeration value="0094"/>
<enumeration value="0095"/>
<enumeration value="0096"/>
<enumeration value="0097"/>
<enumeration value="0098"/>
<enumeration value="0099"/>
<enumeration value="0100"/>
<enumeration value="0101"/>
<enumeration value="0102"/>
<enumeration value="0104"/>
<enumeration value="0105"/>
<enumeration value="0106"/>
<enumeration value="0107"/>
<enumeration value="0108"/>
<enumeration value="0109"/>
<enumeration value="0110"/>
<enumeration value="0111"/>
<enumeration value="0112"/>
<enumeration value="0113"/>
<enumeration value="0114"/>
<enumeration value="0115"/>
<enumeration value="0116"/>
<enumeration value="0117"/>
<enumeration value="0118"/>
<enumeration value="0119"/>
<enumeration value="0120"/>
<enumeration value="0121"/>
<enumeration value="0122"/>
<enumeration value="0123"/>
<enumeration value="0124"/>
<enumeration value="0125"/>
<enumeration value="0126"/>
<enumeration value="0127"/>
<enumeration value="0128"/>
<enumeration value="0129"/>
<enumeration value="0130"/>
<enumeration value="0131"/>
<enumeration value="0132"/>
<enumeration value="0133"/>
<enumeration value="0134"/>
<enumeration value="0135"/>
<enumeration value="0136"/>
<enumeration value="0137"/>
<enumeration value="0138"/>
<enumeration value="0139"/>
<enumeration value="0140"/>
<enumeration value="0141"/>
<enumeration value="0142"/>
<enumeration value="0143"/>
<enumeration value="0144"/>
<enumeration value="0145"/>
<enumeration value="0146"/>
<enumeration value="0147"/>
<enumeration value="0148"/>
<enumeration value="0149"/>
<enumeration value="0150"/>
<enumeration value="0151"/>
<enumeration value="0152"/>
<enumeration value="0153"/>
<enumeration value="0154"/>
<enumeration value="0155"/>
<enumeration value="0156"/>
<enumeration value="0157"/>
<enumeration value="0158"/>
<enumeration value="0159"/>
<enumeration value="0160"/>
<enumeration value="0161"/>
<enumeration value="0162"/>
<enumeration value="0163"/>
<enumeration value="0164"/>
<enumeration value="0165"/>
<enumeration value="0166"/>
<enumeration value="0167"/>
<enumeration value="0168"/>
<enumeration value="0169"/>
<enumeration value="0170"/>
<enumeration value="0171"/>
<enumeration value="0172"/>
<enumeration value="0173"/>
<enumeration value="0174"/>
<enumeration value="0175"/>
<enumeration value="0176"/>
<enumeration value="0177"/>
<enumeration value="0178"/>
<enumeration value="0179"/>
<enumeration value="0180"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0185"/>
<enumeration value="0186"/>
<enumeration value="0187"/>
<enumeration value="0188"/>
<enumeration value="0189"/>
<enumeration value="0190"/>
<enumeration value="0191"/>
<enumeration value="0192"/>
<enumeration value="0193"/>
<enumeration value="0194"/>
<enumeration value="0195"/>
<enumeration value="0196"/>
<enumeration value="0197"/>
<enumeration value="0198"/>
<enumeration value="0199"/>
<enumeration value="0200"/>
<enumeration value="0201"/>
<enumeration value="0202"/>
<enumeration value="0203"/>
<enumeration value="0204"/>
<enumeration value="0205"/>
<enumeration value="0206"/>
<enumeration value="0207"/>
<enumeration value="0208"/>
<enumeration value="0209"/>
<enumeration value="0210"/>
<enumeration value="0211"/>
<enumeration value="0212"/>
<enumeration value="0213"/>
<enumeration value="0214"/>
<enumeration value="0215"/>
<enumeration value="0216"/>
<enumeration value="0217"/>
<enumeration value="0218"/>
<enumeration value="0219"/>
<enumeration value="0220"/>
<enumeration value="0221"/>
<enumeration value="0222"/>
<enumeration value="0223"/>
<enumeration value="0224"/>
<enumeration value="0225"/>
<enumeration value="0226"/>
<enumeration value="0227"/>
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
<enumeration value="0239"/>
<enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl>
<cl id="18">
<enumeration value="0002"/> <enumeration value="0002"/>
<enumeration value="0007"/> <enumeration value="0007"/>
<enumeration value="0009"/> <enumeration value="0009"/>
@@ -4872,6 +4897,7 @@
<enumeration value="0230"/> <enumeration value="0230"/>
<enumeration value="0235"/> <enumeration value="0235"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0244"/>
<enumeration value="9910"/> <enumeration value="9910"/>
<enumeration value="9913"/> <enumeration value="9913"/>
<enumeration value="9914"/> <enumeration value="9914"/>
@@ -4919,16 +4945,16 @@
<enumeration value="AU"/> <enumeration value="AU"/>
<enumeration value="EM"/> <enumeration value="EM"/>
</cl> </cl>
<cl id="18">
<enumeration value="VA"/>
</cl>
<cl id="19"> <cl id="19">
<enumeration value="VA"/> <enumeration value="VA"/>
</cl> </cl>
<cl id="20"> <cl id="20">
<enumeration value="916"/> <enumeration value="VA"/>
</cl> </cl>
<cl id="21"> <cl id="21">
<enumeration value="916"/>
</cl>
<cl id="22">
<enumeration value="application/pdf"/> <enumeration value="application/pdf"/>
<enumeration value="application/vnd.oasis.opendocument.spreadsheet"/> <enumeration value="application/vnd.oasis.opendocument.spreadsheet"/>
<enumeration value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/> <enumeration value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
@@ -4936,13 +4962,13 @@
<enumeration value="image/png"/> <enumeration value="image/png"/>
<enumeration value="text/csv"/> <enumeration value="text/csv"/>
</cl> </cl>
<cl id="22"> <cl id="23">
<enumeration value="50"/> <enumeration value="50"/>
</cl> </cl>
<cl id="23"> <cl id="24">
<enumeration value="130"/> <enumeration value="130"/>
</cl> </cl>
<cl id="24"> <cl id="25">
<enumeration value="AED"/> <enumeration value="AED"/>
<enumeration value="AFN"/> <enumeration value="AFN"/>
<enumeration value="ALL"/> <enumeration value="ALL"/>
@@ -4976,6 +5002,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -5122,7 +5149,7 @@
<enumeration value="ZMW"/> <enumeration value="ZMW"/>
<enumeration value="ZWG"/> <enumeration value="ZWG"/>
</cl> </cl>
<cl id="25"> <cl id="26">
<enumeration value="1"/> <enumeration value="1"/>
<enumeration value="2"/> <enumeration value="2"/>
<enumeration value="3"/> <enumeration value="3"/>
@@ -5208,7 +5235,7 @@
<enumeration value="98"/> <enumeration value="98"/>
<enumeration value="ZZZ"/> <enumeration value="ZZZ"/>
</cl> </cl>
<cl id="26"> <cl id="27">
<enumeration value="VATEX-EU-132"/> <enumeration value="VATEX-EU-132"/>
<enumeration value="VATEX-EU-132-1A"/> <enumeration value="VATEX-EU-132-1A"/>
<enumeration value="VATEX-EU-132-1B"/> <enumeration value="VATEX-EU-132-1B"/>
@@ -5227,6 +5254,7 @@
<enumeration value="VATEX-EU-132-1O"/> <enumeration value="VATEX-EU-132-1O"/>
<enumeration value="VATEX-EU-132-1P"/> <enumeration value="VATEX-EU-132-1P"/>
<enumeration value="VATEX-EU-132-1Q"/> <enumeration value="VATEX-EU-132-1Q"/>
<enumeration value="VATEX-EU-135-1"/>
<enumeration value="VATEX-EU-143"/> <enumeration value="VATEX-EU-143"/>
<enumeration value="VATEX-EU-143-1A"/> <enumeration value="VATEX-EU-143-1A"/>
<enumeration value="VATEX-EU-143-1B"/> <enumeration value="VATEX-EU-143-1B"/>
@@ -5297,13 +5325,8 @@
<enumeration value="VATEX-FR-CNWVAT"/> <enumeration value="VATEX-FR-CNWVAT"/>
<enumeration value="VATEX-FR-FRANCHISE"/> <enumeration value="VATEX-FR-FRANCHISE"/>
</cl> </cl>
<cl id="27">
<enumeration value="102"/>
</cl>
<cl id="28"> <cl id="28">
<enumeration value="5"/> <enumeration value="102"/>
<enumeration value="29"/>
<enumeration value="72"/>
</cl> </cl>
<cl id="29"> <cl id="29">
<enumeration value="41"/> <enumeration value="41"/>
@@ -5540,6 +5563,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -5720,6 +5744,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso">
<title>Schema for Factur-X; 1.07.3; Accounting, MINIMUM</title> <title>Schema for Factur-X; 1.08; Accounting, MINIMUM</title>
<ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/> <ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/>
<ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/> <ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/>
<ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/> <ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/>
@@ -16,6 +16,42 @@
[BR-CO-09]-The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix EL.</assert> [BR-CO-09]-The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix EL.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern>
<rule context="//ram:SpecifiedTradeAllowanceCharge">
<assert id="FX-SCH-A-000346" test="(ram:ChargeIndicator)">
</assert>
</rule>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ram:CategoryTradeTax[ram:CategoryCode = 'K']">
<assert id="FX-SCH-A-000087" test="(//ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and //ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']">
[BR-IC-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).</assert>
<assert id="FX-SCH-A-000088" test="ram:RateApplicablePercent = 0">
[BR-IC-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Intra-community supply" the Document level allowance VAT rate (BT-96) shall be 0 (zero).</assert>
</rule>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ram:CategoryTradeTax[ram:CategoryCode = 'O']">
<assert id="FX-SCH-A-000093" test=" not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and not (/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and not (//ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'])">
[BR-O-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).</assert>
<assert id="FX-SCH-A-000094" test="not(ram:RateApplicablePercent)">
[BR-O-06]-A Document level allowance (BG-20) where VAT category code (BT-95) is "Not subject to VAT" shall not contain a Document level allowance VAT rate (BT-96).</assert>
</rule>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ram:CategoryTradeTax[ram:CategoryCode = 'K']">
<assert id="FX-SCH-A-000105" test="(//ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and //ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']">
[BR-IC-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).</assert>
<assert id="FX-SCH-A-000106" test="ram:RateApplicablePercent = 0">
[BR-IC-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Intra-community supply" the Document level charge VAT rate (BT-103) shall be 0 (zero).</assert>
</rule>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ram:CategoryTradeTax[ram:CategoryCode = 'O']">
<assert id="FX-SCH-A-000111" test=" not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and not (/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and not (//ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'])">
[BR-O-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="//ram:SpecifiedTradeSettlementHeaderMonetarySummation"> <rule context="//ram:SpecifiedTradeSettlementHeaderMonetarySummation">
<assert id="FX-SCH-A-000003" test="(ram:TaxBasisTotalAmount)"> <assert id="FX-SCH-A-000003" test="(ram:TaxBasisTotalAmount)">
@@ -34,6 +70,46 @@
[BR-DEC-18]-The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2.</assert> [BR-DEC-18]-The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2.</assert>
</rule> </rule>
</pattern> </pattern>
<pattern>
<rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[.= 'K']">
<assert id="FX-SCH-A-000230" test="(../ram:BasisAmount - 1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'K']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='K']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='K']/ram:ActualAmount)*10*10)div 100)) and (../ram:BasisAmount + 1 &gt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'K']/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='K']/ram:ActualAmount)*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='K']/ram:ActualAmount)*10*10)div 100))">
[BR-IC-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Intra-community supply".</assert>
<assert id="FX-SCH-A-000142" test="../ram:CalculatedAmount = 0">
[BR-IC-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" shall be 0 (zero).</assert>
<assert id="FX-SCH-A-000143" test="(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)">
[BR-IC-10]-A VAT Breakdown (BG-23) with the VAT Category code (BT-118) "Intra-community supply" shall have a VAT exemption reason code (BT-121), meaning "Intra-community supply" or the VAT exemption reason text (BT-120) "Intra-community supply" (or the equivalent standard text in another language).</assert>
<assert id="FX-SCH-A-000144" test="(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString) or (../../ram:BillingSpecifiedPeriod/ram:StartDateTime) or (../../ram:BillingSpecifiedPeriod/ram:EndDateTime)">
[BR-IC-11]-In an Invoice with a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" the Actual delivery date (BT-72) or the Invoicing period (BG-14) shall not be blank.</assert>
<assert id="FX-SCH-A-000145" test="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID">
[BR-IC-12]-In an Invoice with a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" the Deliver to country code (BT-80) shall not be blank.</assert>
</rule>
</pattern>
<pattern>
<rule context="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'O']">
<assert id="FX-SCH-A-000233" test="ram:BasisAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'O']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[(ram:ChargeIndicator/udt:Indicator cast as xs:boolean)=true() and ram:CategoryTradeTax/ram:CategoryCode='O']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[(ram:ChargeIndicator/udt:Indicator cast as xs:boolean)=false() and ram:CategoryTradeTax/ram:CategoryCode='O']/xs:decimal(ram:ActualAmount))*10*10)div 100)">
[BR-O-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is " Not subject to VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Not subject to VAT".</assert>
<assert id="FX-SCH-A-000150" test="ram:CalculatedAmount = 0">
[BR-O-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Not subject to VAT" shall be 0 (zero).</assert>
<assert id="FX-SCH-A-000151" test="(ram:ExemptionReason) or (ram:ExemptionReasonCode)">
[BR-O-10]-A VAT Breakdown (BG-23) with VAT Category code (BT-118) " Not subject to VAT" shall have a VAT exemption reason code (BT-121), meaning " Not subject to VAT" or a VAT exemption reason text (BT-120) " Not subject to VAT" (or the equivalent standard text in another language).</assert>
<assert id="FX-SCH-A-000152" test="not(//ram:ApplicableTradeTax[ram:CategoryCode != 'O'])">
[BR-O-11]-An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain other VAT breakdown groups (BG-23).</assert>
<assert id="FX-SCH-A-000234" test="not(//ram:ApplicableTradeTax[ram:CategoryCode != 'O'])">
[BR-O-12]-An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is not "Not subject to VAT".</assert>
<assert id="FX-SCH-A-000153" test="not(//ram:CategoryTradeTax[ram:CategoryCode != 'O'])">
[BR-O-13]-An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain Document level allowances (BG-20) where Document level allowance VAT category code (BT-95) is not "Not subject to VAT".</assert>
<assert id="FX-SCH-A-000154" test="not(//ram:CategoryTradeTax[ram:CategoryCode != 'O'])">
[BR-O-14]-An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain Document level charges (BG-21) where Document level charge VAT category code (BT-102) is not "Not subject to VAT".</assert>
</rule>
</pattern>
<pattern>
<rule context="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'K']">
<assert id="FX-SCH-A-000241" test="(//ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and //ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']">
[BR-IC-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).</assert>
<assert id="FX-SCH-A-000242" test="ram:RateApplicablePercent = 0">
[BR-IC-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Intracommunity supply" the Invoiced item VAT rate (BT-152) shall be 0 (zero).</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="/rsm:CrossIndustryInvoice"> <rule context="/rsm:CrossIndustryInvoice">
<assert id="FX-SCH-A-000010" test="(rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID != '')"> <assert id="FX-SCH-A-000010" test="(rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID != '')">
@@ -56,6 +132,18 @@
[BR-09]-The Seller postal address (BG-5) shall contain a Seller country code (BT-40).</assert> [BR-09]-The Seller postal address (BG-5) shall contain a Seller country code (BT-40).</assert>
</rule> </rule>
</pattern> </pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement">
<assert id="FX-SCH-A-000346" test="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:PersonName and ram:SellerTradeParty/ram:DefinedTradeContact/ram:DepartmentName)">
</assert>
<assert id="FX-SCH-A-000346" test="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:PersonName and ram:BuyerTradeParty/ram:DefinedTradeContact/ram:DepartmentName)">
</assert>
<assert id="FX-SCH-A-000027" test="count(ram:SellerTradeParty)=1">
Element 'ram:SellerTradeParty' must occur exactly 1 times.</assert>
<assert id="FX-SCH-A-000028" test="count(ram:BuyerTradeParty)=1">
Element 'ram:BuyerTradeParty' must occur exactly 1 times.</assert>
</rule>
</pattern>
<pattern> <pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument"> <rule context="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument">
<assert id="FX-SCH-A-000019" test="count(ram:ID)=1"> <assert id="FX-SCH-A-000019" test="count(ram:ID)=1">
@@ -104,12 +192,6 @@
<report test="@schemeID"> <report test="@schemeID">
Attribute @schemeID' marked as not used in the given context.</report> Attribute @schemeID' marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement">
<assert id="FX-SCH-A-000027" test="count(ram:SellerTradeParty)=1">
Element 'ram:SellerTradeParty' must occur exactly 1 times.</assert>
<assert id="FX-SCH-A-000028" test="count(ram:BuyerTradeParty)=1">
Element 'ram:BuyerTradeParty' must occur exactly 1 times.</assert>
</rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerOrderReferencedDocument"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerOrderReferencedDocument">
<assert id="FX-SCH-A-000029" test="count(ram:IssuerAssignedID)=1"> <assert id="FX-SCH-A-000029" test="count(ram:IssuerAssignedID)=1">
Element 'ram:IssuerAssignedID' must occur exactly 1 times.</assert> Element 'ram:IssuerAssignedID' must occur exactly 1 times.</assert>
@@ -199,6 +281,8 @@
Element 'ram:TaxBasisTotalAmount' must occur exactly 1 times.</assert> Element 'ram:TaxBasisTotalAmount' must occur exactly 1 times.</assert>
<assert id="FX-SCH-A-000042" test="count(ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode])&lt;=1"> <assert id="FX-SCH-A-000042" test="count(ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode])&lt;=1">
Element variant 'ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]' may occur at maximum 1 times.</assert> Element variant 'ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]' may occur at maximum 1 times.</assert>
<assert id="FX-SCH-A-000192" test="count(ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode])&lt;=1">
Element variant 'ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode]' may occur at maximum 1 times.</assert>
<assert id="FX-SCH-A-000043" test="count(ram:GrandTotalAmount)=1"> <assert id="FX-SCH-A-000043" test="count(ram:GrandTotalAmount)=1">
Element 'ram:GrandTotalAmount' must occur exactly 1 times.</assert> Element 'ram:GrandTotalAmount' must occur exactly 1 times.</assert>
<assert id="FX-SCH-A-000044" test="count(ram:DuePayableAmount)=1"> <assert id="FX-SCH-A-000044" test="count(ram:DuePayableAmount)=1">
@@ -221,11 +305,14 @@
Element variant 'ram:TaxTotalAmount[ not(@currencyID=../../ram:InvoiceCurrencyCode) and not(@currencyID=../../ram:TaxCurrencyCode)]' is marked as not used in the given context.</report> Element variant 'ram:TaxTotalAmount[ not(@currencyID=../../ram:InvoiceCurrencyCode) and not(@currencyID=../../ram:TaxCurrencyCode)]' is marked as not used in the given context.</report>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]"> <rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]">
<assert id="FX-SCH-A-000046" test="@currencyID">
Attribute '@currencyID' is required in this context.</assert>
<let name="codeValue7" value="@currencyID"/> <let name="codeValue7" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="string-length($codeValue7)=0 or document('FACTUR-X_MINIMUM_codedb.xml')/codedb/cl[@id=7]/enumeration[@value=$codeValue7]"> <assert id="FX-SCH-A-000045" test="string-length($codeValue7)=0 or document('FACTUR-X_MINIMUM_codedb.xml')/codedb/cl[@id=7]/enumeration[@value=$codeValue7]">
Value of '@currencyID' is not allowed.</assert> Value of '@currencyID' is not allowed.</assert>
</rule> </rule>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode]">
<let name="codeValue8" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="string-length($codeValue8)=0 or document('FACTUR-X_MINIMUM_codedb.xml')/codedb/cl[@id=8]/enumeration[@value=$codeValue8]">
Value of '@currencyID' is not allowed.</assert>
</rule>
</pattern> </pattern>
</schema> </schema>

View File

@@ -46,6 +46,13 @@
<enumeration value="456"/> <enumeration value="456"/>
<enumeration value="457"/> <enumeration value="457"/>
<enumeration value="458"/> <enumeration value="458"/>
<enumeration value="471"/>
<enumeration value="472"/>
<enumeration value="473"/>
<enumeration value="500"/>
<enumeration value="501"/>
<enumeration value="502"/>
<enumeration value="503"/>
<enumeration value="527"/> <enumeration value="527"/>
<enumeration value="532"/> <enumeration value="532"/>
<enumeration value="553"/> <enumeration value="553"/>
@@ -300,6 +307,10 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="5"> <cl id="5">
<enumeration value="AD"/> <enumeration value="AD"/>
@@ -588,6 +599,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -768,6 +780,188 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/>
<enumeration value="COP"/>
<enumeration value="COU"/>
<enumeration value="CRC"/>
<enumeration value="CUP"/>
<enumeration value="CVE"/>
<enumeration value="CZK"/>
<enumeration value="DJF"/>
<enumeration value="DKK"/>
<enumeration value="DOP"/>
<enumeration value="DZD"/>
<enumeration value="EGP"/>
<enumeration value="ERN"/>
<enumeration value="ETB"/>
<enumeration value="EUR"/>
<enumeration value="FJD"/>
<enumeration value="FKP"/>
<enumeration value="GBP"/>
<enumeration value="GEL"/>
<enumeration value="GHS"/>
<enumeration value="GIP"/>
<enumeration value="GMD"/>
<enumeration value="GNF"/>
<enumeration value="GTQ"/>
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
<enumeration value="ILS"/>
<enumeration value="INR"/>
<enumeration value="IQD"/>
<enumeration value="IRR"/>
<enumeration value="ISK"/>
<enumeration value="JMD"/>
<enumeration value="JOD"/>
<enumeration value="JPY"/>
<enumeration value="KES"/>
<enumeration value="KGS"/>
<enumeration value="KHR"/>
<enumeration value="KMF"/>
<enumeration value="KPW"/>
<enumeration value="KRW"/>
<enumeration value="KWD"/>
<enumeration value="KYD"/>
<enumeration value="KZT"/>
<enumeration value="LAK"/>
<enumeration value="LBP"/>
<enumeration value="LKR"/>
<enumeration value="LRD"/>
<enumeration value="LSL"/>
<enumeration value="LYD"/>
<enumeration value="MAD"/>
<enumeration value="MDL"/>
<enumeration value="MGA"/>
<enumeration value="MKD"/>
<enumeration value="MMK"/>
<enumeration value="MNT"/>
<enumeration value="MOP"/>
<enumeration value="MRU"/>
<enumeration value="MUR"/>
<enumeration value="MVR"/>
<enumeration value="MWK"/>
<enumeration value="MXN"/>
<enumeration value="MXV"/>
<enumeration value="MYR"/>
<enumeration value="MZN"/>
<enumeration value="NAD"/>
<enumeration value="NGN"/>
<enumeration value="NIO"/>
<enumeration value="NOK"/>
<enumeration value="NPR"/>
<enumeration value="NZD"/>
<enumeration value="OMR"/>
<enumeration value="PAB"/>
<enumeration value="PEN"/>
<enumeration value="PGK"/>
<enumeration value="PHP"/>
<enumeration value="PKR"/>
<enumeration value="PLN"/>
<enumeration value="PYG"/>
<enumeration value="QAR"/>
<enumeration value="RON"/>
<enumeration value="RSD"/>
<enumeration value="RUB"/>
<enumeration value="RWF"/>
<enumeration value="SAR"/>
<enumeration value="SBD"/>
<enumeration value="SCR"/>
<enumeration value="SDG"/>
<enumeration value="SEK"/>
<enumeration value="SGD"/>
<enumeration value="SHP"/>
<enumeration value="SLE"/>
<enumeration value="SOS"/>
<enumeration value="SRD"/>
<enumeration value="SSP"/>
<enumeration value="STN"/>
<enumeration value="SVC"/>
<enumeration value="SYP"/>
<enumeration value="SZL"/>
<enumeration value="THB"/>
<enumeration value="TJS"/>
<enumeration value="TMT"/>
<enumeration value="TND"/>
<enumeration value="TOP"/>
<enumeration value="TRY"/>
<enumeration value="TTD"/>
<enumeration value="TWD"/>
<enumeration value="TZS"/>
<enumeration value="UAH"/>
<enumeration value="UGX"/>
<enumeration value="USD"/>
<enumeration value="USN"/>
<enumeration value="UYI"/>
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
<enumeration value="WST"/>
<enumeration value="XAF"/>
<enumeration value="XAG"/>
<enumeration value="XAU"/>
<enumeration value="XBA"/>
<enumeration value="XBB"/>
<enumeration value="XBC"/>
<enumeration value="XBD"/>
<enumeration value="XCD"/>
<enumeration value="XDR"/>
<enumeration value="XOF"/>
<enumeration value="XPD"/>
<enumeration value="XPF"/>
<enumeration value="XPT"/>
<enumeration value="XSU"/>
<enumeration value="XTS"/>
<enumeration value="XUA"/>
<enumeration value="XXX"/>
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
</cl>
<cl id="8">
<enumeration value="AED"/>
<enumeration value="AFN"/>
<enumeration value="ALL"/>
<enumeration value="AMD"/>
<enumeration value="ANG"/>
<enumeration value="AOA"/>
<enumeration value="ARS"/>
<enumeration value="AUD"/>
<enumeration value="AWG"/>
<enumeration value="AZN"/>
<enumeration value="BAM"/>
<enumeration value="BBD"/>
<enumeration value="BDT"/>
<enumeration value="BGN"/>
<enumeration value="BHD"/>
<enumeration value="BIF"/>
<enumeration value="BMD"/>
<enumeration value="BND"/>
<enumeration value="BOB"/>
<enumeration value="BOV"/>
<enumeration value="BRL"/>
<enumeration value="BSD"/>
<enumeration value="BTN"/>
<enumeration value="BWP"/>
<enumeration value="BYN"/>
<enumeration value="BZD"/>
<enumeration value="CAD"/>
<enumeration value="CDF"/>
<enumeration value="CHE"/>
<enumeration value="CHF"/>
<enumeration value="CHW"/>
<enumeration value="CLF"/>
<enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>

View File

@@ -46,6 +46,13 @@
<enumeration value="456"/> <enumeration value="456"/>
<enumeration value="457"/> <enumeration value="457"/>
<enumeration value="458"/> <enumeration value="458"/>
<enumeration value="471"/>
<enumeration value="472"/>
<enumeration value="473"/>
<enumeration value="500"/>
<enumeration value="501"/>
<enumeration value="502"/>
<enumeration value="503"/>
<enumeration value="527"/> <enumeration value="527"/>
<enumeration value="532"/> <enumeration value="532"/>
<enumeration value="553"/> <enumeration value="553"/>
@@ -703,6 +710,10 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="6"> <cl id="6">
<enumeration value="0002"/> <enumeration value="0002"/>
@@ -940,6 +951,10 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="7"> <cl id="7">
<enumeration value="AD"/> <enumeration value="AD"/>
@@ -1246,6 +1261,7 @@
<enumeration value="0230"/> <enumeration value="0230"/>
<enumeration value="0235"/> <enumeration value="0235"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0244"/>
<enumeration value="9910"/> <enumeration value="9910"/>
<enumeration value="9913"/> <enumeration value="9913"/>
<enumeration value="9914"/> <enumeration value="9914"/>
@@ -1333,6 +1349,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -1598,6 +1615,7 @@
<enumeration value="VATEX-EU-132-1O"/> <enumeration value="VATEX-EU-132-1O"/>
<enumeration value="VATEX-EU-132-1P"/> <enumeration value="VATEX-EU-132-1P"/>
<enumeration value="VATEX-EU-132-1Q"/> <enumeration value="VATEX-EU-132-1Q"/>
<enumeration value="VATEX-EU-135-1"/>
<enumeration value="VATEX-EU-143"/> <enumeration value="VATEX-EU-143"/>
<enumeration value="VATEX-EU-143-1A"/> <enumeration value="VATEX-EU-143-1A"/>
<enumeration value="VATEX-EU-143-1B"/> <enumeration value="VATEX-EU-143-1B"/>
@@ -1908,6 +1926,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -2088,6 +2107,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>

File diff suppressed because it is too large Load Diff

View File

@@ -46,6 +46,13 @@
<enumeration value="456"/> <enumeration value="456"/>
<enumeration value="457"/> <enumeration value="457"/>
<enumeration value="458"/> <enumeration value="458"/>
<enumeration value="471"/>
<enumeration value="472"/>
<enumeration value="473"/>
<enumeration value="500"/>
<enumeration value="501"/>
<enumeration value="502"/>
<enumeration value="503"/>
<enumeration value="527"/> <enumeration value="527"/>
<enumeration value="532"/> <enumeration value="532"/>
<enumeration value="553"/> <enumeration value="553"/>
@@ -703,6 +710,10 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="6"> <cl id="6">
<enumeration value="10"/> <enumeration value="10"/>
@@ -2883,6 +2894,11 @@
<enumeration value="Z"/> <enumeration value="Z"/>
</cl> </cl>
<cl id="9"> <cl id="9">
<enumeration value="5"/>
<enumeration value="29"/>
<enumeration value="72"/>
</cl>
<cl id="10">
<enumeration value="41"/> <enumeration value="41"/>
<enumeration value="42"/> <enumeration value="42"/>
<enumeration value="60"/> <enumeration value="60"/>
@@ -2903,7 +2919,7 @@
<enumeration value="104"/> <enumeration value="104"/>
<enumeration value="105"/> <enumeration value="105"/>
</cl> </cl>
<cl id="10"> <cl id="11">
<enumeration value="AA"/> <enumeration value="AA"/>
<enumeration value="AAA"/> <enumeration value="AAA"/>
<enumeration value="AAC"/> <enumeration value="AAC"/>
@@ -3083,243 +3099,6 @@
<enumeration value="YY"/> <enumeration value="YY"/>
<enumeration value="ZZZ"/> <enumeration value="ZZZ"/>
</cl> </cl>
<cl id="11">
<enumeration value="0002"/>
<enumeration value="0003"/>
<enumeration value="0004"/>
<enumeration value="0005"/>
<enumeration value="0006"/>
<enumeration value="0007"/>
<enumeration value="0008"/>
<enumeration value="0009"/>
<enumeration value="0010"/>
<enumeration value="0011"/>
<enumeration value="0012"/>
<enumeration value="0013"/>
<enumeration value="0014"/>
<enumeration value="0015"/>
<enumeration value="0016"/>
<enumeration value="0017"/>
<enumeration value="0018"/>
<enumeration value="0019"/>
<enumeration value="0020"/>
<enumeration value="0021"/>
<enumeration value="0022"/>
<enumeration value="0023"/>
<enumeration value="0024"/>
<enumeration value="0025"/>
<enumeration value="0026"/>
<enumeration value="0027"/>
<enumeration value="0028"/>
<enumeration value="0029"/>
<enumeration value="0030"/>
<enumeration value="0031"/>
<enumeration value="0032"/>
<enumeration value="0033"/>
<enumeration value="0034"/>
<enumeration value="0035"/>
<enumeration value="0036"/>
<enumeration value="0037"/>
<enumeration value="0038"/>
<enumeration value="0039"/>
<enumeration value="0040"/>
<enumeration value="0041"/>
<enumeration value="0042"/>
<enumeration value="0043"/>
<enumeration value="0044"/>
<enumeration value="0045"/>
<enumeration value="0046"/>
<enumeration value="0047"/>
<enumeration value="0048"/>
<enumeration value="0049"/>
<enumeration value="0050"/>
<enumeration value="0051"/>
<enumeration value="0052"/>
<enumeration value="0053"/>
<enumeration value="0054"/>
<enumeration value="0055"/>
<enumeration value="0056"/>
<enumeration value="0057"/>
<enumeration value="0058"/>
<enumeration value="0059"/>
<enumeration value="0060"/>
<enumeration value="0061"/>
<enumeration value="0062"/>
<enumeration value="0063"/>
<enumeration value="0064"/>
<enumeration value="0065"/>
<enumeration value="0066"/>
<enumeration value="0067"/>
<enumeration value="0068"/>
<enumeration value="0069"/>
<enumeration value="0070"/>
<enumeration value="0071"/>
<enumeration value="0072"/>
<enumeration value="0073"/>
<enumeration value="0074"/>
<enumeration value="0075"/>
<enumeration value="0076"/>
<enumeration value="0077"/>
<enumeration value="0078"/>
<enumeration value="0079"/>
<enumeration value="0080"/>
<enumeration value="0081"/>
<enumeration value="0082"/>
<enumeration value="0083"/>
<enumeration value="0084"/>
<enumeration value="0085"/>
<enumeration value="0086"/>
<enumeration value="0087"/>
<enumeration value="0088"/>
<enumeration value="0089"/>
<enumeration value="0090"/>
<enumeration value="0091"/>
<enumeration value="0093"/>
<enumeration value="0094"/>
<enumeration value="0095"/>
<enumeration value="0096"/>
<enumeration value="0097"/>
<enumeration value="0098"/>
<enumeration value="0099"/>
<enumeration value="0100"/>
<enumeration value="0101"/>
<enumeration value="0102"/>
<enumeration value="0104"/>
<enumeration value="0105"/>
<enumeration value="0106"/>
<enumeration value="0107"/>
<enumeration value="0108"/>
<enumeration value="0109"/>
<enumeration value="0110"/>
<enumeration value="0111"/>
<enumeration value="0112"/>
<enumeration value="0113"/>
<enumeration value="0114"/>
<enumeration value="0115"/>
<enumeration value="0116"/>
<enumeration value="0117"/>
<enumeration value="0118"/>
<enumeration value="0119"/>
<enumeration value="0120"/>
<enumeration value="0121"/>
<enumeration value="0122"/>
<enumeration value="0123"/>
<enumeration value="0124"/>
<enumeration value="0125"/>
<enumeration value="0126"/>
<enumeration value="0127"/>
<enumeration value="0128"/>
<enumeration value="0129"/>
<enumeration value="0130"/>
<enumeration value="0131"/>
<enumeration value="0132"/>
<enumeration value="0133"/>
<enumeration value="0134"/>
<enumeration value="0135"/>
<enumeration value="0136"/>
<enumeration value="0137"/>
<enumeration value="0138"/>
<enumeration value="0139"/>
<enumeration value="0140"/>
<enumeration value="0141"/>
<enumeration value="0142"/>
<enumeration value="0143"/>
<enumeration value="0144"/>
<enumeration value="0145"/>
<enumeration value="0146"/>
<enumeration value="0147"/>
<enumeration value="0148"/>
<enumeration value="0149"/>
<enumeration value="0150"/>
<enumeration value="0151"/>
<enumeration value="0152"/>
<enumeration value="0153"/>
<enumeration value="0154"/>
<enumeration value="0155"/>
<enumeration value="0156"/>
<enumeration value="0157"/>
<enumeration value="0158"/>
<enumeration value="0159"/>
<enumeration value="0160"/>
<enumeration value="0161"/>
<enumeration value="0162"/>
<enumeration value="0163"/>
<enumeration value="0164"/>
<enumeration value="0165"/>
<enumeration value="0166"/>
<enumeration value="0167"/>
<enumeration value="0168"/>
<enumeration value="0169"/>
<enumeration value="0170"/>
<enumeration value="0171"/>
<enumeration value="0172"/>
<enumeration value="0173"/>
<enumeration value="0174"/>
<enumeration value="0175"/>
<enumeration value="0176"/>
<enumeration value="0177"/>
<enumeration value="0178"/>
<enumeration value="0179"/>
<enumeration value="0180"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0185"/>
<enumeration value="0186"/>
<enumeration value="0187"/>
<enumeration value="0188"/>
<enumeration value="0189"/>
<enumeration value="0190"/>
<enumeration value="0191"/>
<enumeration value="0192"/>
<enumeration value="0193"/>
<enumeration value="0194"/>
<enumeration value="0195"/>
<enumeration value="0196"/>
<enumeration value="0197"/>
<enumeration value="0198"/>
<enumeration value="0199"/>
<enumeration value="0200"/>
<enumeration value="0201"/>
<enumeration value="0202"/>
<enumeration value="0203"/>
<enumeration value="0204"/>
<enumeration value="0205"/>
<enumeration value="0206"/>
<enumeration value="0207"/>
<enumeration value="0208"/>
<enumeration value="0209"/>
<enumeration value="0210"/>
<enumeration value="0211"/>
<enumeration value="0212"/>
<enumeration value="0213"/>
<enumeration value="0214"/>
<enumeration value="0215"/>
<enumeration value="0216"/>
<enumeration value="0217"/>
<enumeration value="0218"/>
<enumeration value="0219"/>
<enumeration value="0220"/>
<enumeration value="0221"/>
<enumeration value="0222"/>
<enumeration value="0223"/>
<enumeration value="0224"/>
<enumeration value="0225"/>
<enumeration value="0226"/>
<enumeration value="0227"/>
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
<enumeration value="0239"/>
<enumeration value="0240"/>
</cl>
<cl id="12"> <cl id="12">
<enumeration value="0002"/> <enumeration value="0002"/>
<enumeration value="0003"/> <enumeration value="0003"/>
@@ -3556,8 +3335,253 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="13"> <cl id="13">
<enumeration value="0002"/>
<enumeration value="0003"/>
<enumeration value="0004"/>
<enumeration value="0005"/>
<enumeration value="0006"/>
<enumeration value="0007"/>
<enumeration value="0008"/>
<enumeration value="0009"/>
<enumeration value="0010"/>
<enumeration value="0011"/>
<enumeration value="0012"/>
<enumeration value="0013"/>
<enumeration value="0014"/>
<enumeration value="0015"/>
<enumeration value="0016"/>
<enumeration value="0017"/>
<enumeration value="0018"/>
<enumeration value="0019"/>
<enumeration value="0020"/>
<enumeration value="0021"/>
<enumeration value="0022"/>
<enumeration value="0023"/>
<enumeration value="0024"/>
<enumeration value="0025"/>
<enumeration value="0026"/>
<enumeration value="0027"/>
<enumeration value="0028"/>
<enumeration value="0029"/>
<enumeration value="0030"/>
<enumeration value="0031"/>
<enumeration value="0032"/>
<enumeration value="0033"/>
<enumeration value="0034"/>
<enumeration value="0035"/>
<enumeration value="0036"/>
<enumeration value="0037"/>
<enumeration value="0038"/>
<enumeration value="0039"/>
<enumeration value="0040"/>
<enumeration value="0041"/>
<enumeration value="0042"/>
<enumeration value="0043"/>
<enumeration value="0044"/>
<enumeration value="0045"/>
<enumeration value="0046"/>
<enumeration value="0047"/>
<enumeration value="0048"/>
<enumeration value="0049"/>
<enumeration value="0050"/>
<enumeration value="0051"/>
<enumeration value="0052"/>
<enumeration value="0053"/>
<enumeration value="0054"/>
<enumeration value="0055"/>
<enumeration value="0056"/>
<enumeration value="0057"/>
<enumeration value="0058"/>
<enumeration value="0059"/>
<enumeration value="0060"/>
<enumeration value="0061"/>
<enumeration value="0062"/>
<enumeration value="0063"/>
<enumeration value="0064"/>
<enumeration value="0065"/>
<enumeration value="0066"/>
<enumeration value="0067"/>
<enumeration value="0068"/>
<enumeration value="0069"/>
<enumeration value="0070"/>
<enumeration value="0071"/>
<enumeration value="0072"/>
<enumeration value="0073"/>
<enumeration value="0074"/>
<enumeration value="0075"/>
<enumeration value="0076"/>
<enumeration value="0077"/>
<enumeration value="0078"/>
<enumeration value="0079"/>
<enumeration value="0080"/>
<enumeration value="0081"/>
<enumeration value="0082"/>
<enumeration value="0083"/>
<enumeration value="0084"/>
<enumeration value="0085"/>
<enumeration value="0086"/>
<enumeration value="0087"/>
<enumeration value="0088"/>
<enumeration value="0089"/>
<enumeration value="0090"/>
<enumeration value="0091"/>
<enumeration value="0093"/>
<enumeration value="0094"/>
<enumeration value="0095"/>
<enumeration value="0096"/>
<enumeration value="0097"/>
<enumeration value="0098"/>
<enumeration value="0099"/>
<enumeration value="0100"/>
<enumeration value="0101"/>
<enumeration value="0102"/>
<enumeration value="0104"/>
<enumeration value="0105"/>
<enumeration value="0106"/>
<enumeration value="0107"/>
<enumeration value="0108"/>
<enumeration value="0109"/>
<enumeration value="0110"/>
<enumeration value="0111"/>
<enumeration value="0112"/>
<enumeration value="0113"/>
<enumeration value="0114"/>
<enumeration value="0115"/>
<enumeration value="0116"/>
<enumeration value="0117"/>
<enumeration value="0118"/>
<enumeration value="0119"/>
<enumeration value="0120"/>
<enumeration value="0121"/>
<enumeration value="0122"/>
<enumeration value="0123"/>
<enumeration value="0124"/>
<enumeration value="0125"/>
<enumeration value="0126"/>
<enumeration value="0127"/>
<enumeration value="0128"/>
<enumeration value="0129"/>
<enumeration value="0130"/>
<enumeration value="0131"/>
<enumeration value="0132"/>
<enumeration value="0133"/>
<enumeration value="0134"/>
<enumeration value="0135"/>
<enumeration value="0136"/>
<enumeration value="0137"/>
<enumeration value="0138"/>
<enumeration value="0139"/>
<enumeration value="0140"/>
<enumeration value="0141"/>
<enumeration value="0142"/>
<enumeration value="0143"/>
<enumeration value="0144"/>
<enumeration value="0145"/>
<enumeration value="0146"/>
<enumeration value="0147"/>
<enumeration value="0148"/>
<enumeration value="0149"/>
<enumeration value="0150"/>
<enumeration value="0151"/>
<enumeration value="0152"/>
<enumeration value="0153"/>
<enumeration value="0154"/>
<enumeration value="0155"/>
<enumeration value="0156"/>
<enumeration value="0157"/>
<enumeration value="0158"/>
<enumeration value="0159"/>
<enumeration value="0160"/>
<enumeration value="0161"/>
<enumeration value="0162"/>
<enumeration value="0163"/>
<enumeration value="0164"/>
<enumeration value="0165"/>
<enumeration value="0166"/>
<enumeration value="0167"/>
<enumeration value="0168"/>
<enumeration value="0169"/>
<enumeration value="0170"/>
<enumeration value="0171"/>
<enumeration value="0172"/>
<enumeration value="0173"/>
<enumeration value="0174"/>
<enumeration value="0175"/>
<enumeration value="0176"/>
<enumeration value="0177"/>
<enumeration value="0178"/>
<enumeration value="0179"/>
<enumeration value="0180"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0185"/>
<enumeration value="0186"/>
<enumeration value="0187"/>
<enumeration value="0188"/>
<enumeration value="0189"/>
<enumeration value="0190"/>
<enumeration value="0191"/>
<enumeration value="0192"/>
<enumeration value="0193"/>
<enumeration value="0194"/>
<enumeration value="0195"/>
<enumeration value="0196"/>
<enumeration value="0197"/>
<enumeration value="0198"/>
<enumeration value="0199"/>
<enumeration value="0200"/>
<enumeration value="0201"/>
<enumeration value="0202"/>
<enumeration value="0203"/>
<enumeration value="0204"/>
<enumeration value="0205"/>
<enumeration value="0206"/>
<enumeration value="0207"/>
<enumeration value="0208"/>
<enumeration value="0209"/>
<enumeration value="0210"/>
<enumeration value="0211"/>
<enumeration value="0212"/>
<enumeration value="0213"/>
<enumeration value="0214"/>
<enumeration value="0215"/>
<enumeration value="0216"/>
<enumeration value="0217"/>
<enumeration value="0218"/>
<enumeration value="0219"/>
<enumeration value="0220"/>
<enumeration value="0221"/>
<enumeration value="0222"/>
<enumeration value="0223"/>
<enumeration value="0224"/>
<enumeration value="0225"/>
<enumeration value="0226"/>
<enumeration value="0227"/>
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
<enumeration value="0239"/>
<enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl>
<cl id="14">
<enumeration value="AD"/> <enumeration value="AD"/>
<enumeration value="AE"/> <enumeration value="AE"/>
<enumeration value="AF"/> <enumeration value="AF"/>
@@ -3810,7 +3834,7 @@
<enumeration value="1A"/> <enumeration value="1A"/>
<enumeration value="XI"/> <enumeration value="XI"/>
</cl> </cl>
<cl id="14"> <cl id="15">
<enumeration value="0002"/> <enumeration value="0002"/>
<enumeration value="0007"/> <enumeration value="0007"/>
<enumeration value="0009"/> <enumeration value="0009"/>
@@ -3862,6 +3886,7 @@
<enumeration value="0230"/> <enumeration value="0230"/>
<enumeration value="0235"/> <enumeration value="0235"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0244"/>
<enumeration value="9910"/> <enumeration value="9910"/>
<enumeration value="9913"/> <enumeration value="9913"/>
<enumeration value="9914"/> <enumeration value="9914"/>
@@ -3909,13 +3934,13 @@
<enumeration value="AU"/> <enumeration value="AU"/>
<enumeration value="EM"/> <enumeration value="EM"/>
</cl> </cl>
<cl id="15">
<enumeration value="VA"/>
</cl>
<cl id="16"> <cl id="16">
<enumeration value="VA"/> <enumeration value="VA"/>
</cl> </cl>
<cl id="17"> <cl id="17">
<enumeration value="VA"/>
</cl>
<cl id="18">
<enumeration value="AED"/> <enumeration value="AED"/>
<enumeration value="AFN"/> <enumeration value="AFN"/>
<enumeration value="ALL"/> <enumeration value="ALL"/>
@@ -3949,6 +3974,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -4095,7 +4121,7 @@
<enumeration value="ZMW"/> <enumeration value="ZMW"/>
<enumeration value="ZWG"/> <enumeration value="ZWG"/>
</cl> </cl>
<cl id="18"> <cl id="19">
<enumeration value="1"/> <enumeration value="1"/>
<enumeration value="2"/> <enumeration value="2"/>
<enumeration value="3"/> <enumeration value="3"/>
@@ -4181,7 +4207,7 @@
<enumeration value="98"/> <enumeration value="98"/>
<enumeration value="ZZZ"/> <enumeration value="ZZZ"/>
</cl> </cl>
<cl id="19"> <cl id="20">
<enumeration value="VATEX-EU-132"/> <enumeration value="VATEX-EU-132"/>
<enumeration value="VATEX-EU-132-1A"/> <enumeration value="VATEX-EU-132-1A"/>
<enumeration value="VATEX-EU-132-1B"/> <enumeration value="VATEX-EU-132-1B"/>
@@ -4200,6 +4226,7 @@
<enumeration value="VATEX-EU-132-1O"/> <enumeration value="VATEX-EU-132-1O"/>
<enumeration value="VATEX-EU-132-1P"/> <enumeration value="VATEX-EU-132-1P"/>
<enumeration value="VATEX-EU-132-1Q"/> <enumeration value="VATEX-EU-132-1Q"/>
<enumeration value="VATEX-EU-135-1"/>
<enumeration value="VATEX-EU-143"/> <enumeration value="VATEX-EU-143"/>
<enumeration value="VATEX-EU-143-1A"/> <enumeration value="VATEX-EU-143-1A"/>
<enumeration value="VATEX-EU-143-1B"/> <enumeration value="VATEX-EU-143-1B"/>
@@ -4270,11 +4297,6 @@
<enumeration value="VATEX-FR-CNWVAT"/> <enumeration value="VATEX-FR-CNWVAT"/>
<enumeration value="VATEX-FR-FRANCHISE"/> <enumeration value="VATEX-FR-FRANCHISE"/>
</cl> </cl>
<cl id="20">
<enumeration value="5"/>
<enumeration value="29"/>
<enumeration value="72"/>
</cl>
<cl id="21"> <cl id="21">
<enumeration value="41"/> <enumeration value="41"/>
<enumeration value="42"/> <enumeration value="42"/>
@@ -4510,6 +4532,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -4690,6 +4713,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>

File diff suppressed because it is too large Load Diff

View File

@@ -45,6 +45,13 @@
<enumeration value="456"/> <enumeration value="456"/>
<enumeration value="457"/> <enumeration value="457"/>
<enumeration value="458"/> <enumeration value="458"/>
<enumeration value="471"/>
<enumeration value="472"/>
<enumeration value="473"/>
<enumeration value="500"/>
<enumeration value="501"/>
<enumeration value="502"/>
<enumeration value="503"/>
<enumeration value="527"/> <enumeration value="527"/>
<enumeration value="532"/> <enumeration value="532"/>
<enumeration value="553"/> <enumeration value="553"/>
@@ -702,6 +709,10 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="6"> <cl id="6">
<enumeration value="AA"/> <enumeration value="AA"/>
@@ -3322,6 +3333,11 @@
<enumeration value="Z"/> <enumeration value="Z"/>
</cl> </cl>
<cl id="11"> <cl id="11">
<enumeration value="5"/>
<enumeration value="29"/>
<enumeration value="72"/>
</cl>
<cl id="12">
<enumeration value="41"/> <enumeration value="41"/>
<enumeration value="42"/> <enumeration value="42"/>
<enumeration value="60"/> <enumeration value="60"/>
@@ -3342,7 +3358,7 @@
<enumeration value="104"/> <enumeration value="104"/>
<enumeration value="105"/> <enumeration value="105"/>
</cl> </cl>
<cl id="12"> <cl id="13">
<enumeration value="AA"/> <enumeration value="AA"/>
<enumeration value="AAA"/> <enumeration value="AAA"/>
<enumeration value="AAC"/> <enumeration value="AAC"/>
@@ -3522,12 +3538,12 @@
<enumeration value="YY"/> <enumeration value="YY"/>
<enumeration value="ZZZ"/> <enumeration value="ZZZ"/>
</cl> </cl>
<cl id="13"> <cl id="14">
<enumeration value="50"/> <enumeration value="50"/>
<enumeration value="130"/> <enumeration value="130"/>
<enumeration value="916"/> <enumeration value="916"/>
</cl> </cl>
<cl id="14"> <cl id="15">
<enumeration value="AAA"/> <enumeration value="AAA"/>
<enumeration value="AAB"/> <enumeration value="AAB"/>
<enumeration value="AAC"/> <enumeration value="AAC"/>
@@ -4142,6 +4158,7 @@
<enumeration value="AXQ"/> <enumeration value="AXQ"/>
<enumeration value="AXR"/> <enumeration value="AXR"/>
<enumeration value="AXS"/> <enumeration value="AXS"/>
<enumeration value="AXU"/>
<enumeration value="BA"/> <enumeration value="BA"/>
<enumeration value="BC"/> <enumeration value="BC"/>
<enumeration value="BD"/> <enumeration value="BD"/>
@@ -4346,243 +4363,6 @@
<enumeration value="XP"/> <enumeration value="XP"/>
<enumeration value="ZZZ"/> <enumeration value="ZZZ"/>
</cl> </cl>
<cl id="15">
<enumeration value="0002"/>
<enumeration value="0003"/>
<enumeration value="0004"/>
<enumeration value="0005"/>
<enumeration value="0006"/>
<enumeration value="0007"/>
<enumeration value="0008"/>
<enumeration value="0009"/>
<enumeration value="0010"/>
<enumeration value="0011"/>
<enumeration value="0012"/>
<enumeration value="0013"/>
<enumeration value="0014"/>
<enumeration value="0015"/>
<enumeration value="0016"/>
<enumeration value="0017"/>
<enumeration value="0018"/>
<enumeration value="0019"/>
<enumeration value="0020"/>
<enumeration value="0021"/>
<enumeration value="0022"/>
<enumeration value="0023"/>
<enumeration value="0024"/>
<enumeration value="0025"/>
<enumeration value="0026"/>
<enumeration value="0027"/>
<enumeration value="0028"/>
<enumeration value="0029"/>
<enumeration value="0030"/>
<enumeration value="0031"/>
<enumeration value="0032"/>
<enumeration value="0033"/>
<enumeration value="0034"/>
<enumeration value="0035"/>
<enumeration value="0036"/>
<enumeration value="0037"/>
<enumeration value="0038"/>
<enumeration value="0039"/>
<enumeration value="0040"/>
<enumeration value="0041"/>
<enumeration value="0042"/>
<enumeration value="0043"/>
<enumeration value="0044"/>
<enumeration value="0045"/>
<enumeration value="0046"/>
<enumeration value="0047"/>
<enumeration value="0048"/>
<enumeration value="0049"/>
<enumeration value="0050"/>
<enumeration value="0051"/>
<enumeration value="0052"/>
<enumeration value="0053"/>
<enumeration value="0054"/>
<enumeration value="0055"/>
<enumeration value="0056"/>
<enumeration value="0057"/>
<enumeration value="0058"/>
<enumeration value="0059"/>
<enumeration value="0060"/>
<enumeration value="0061"/>
<enumeration value="0062"/>
<enumeration value="0063"/>
<enumeration value="0064"/>
<enumeration value="0065"/>
<enumeration value="0066"/>
<enumeration value="0067"/>
<enumeration value="0068"/>
<enumeration value="0069"/>
<enumeration value="0070"/>
<enumeration value="0071"/>
<enumeration value="0072"/>
<enumeration value="0073"/>
<enumeration value="0074"/>
<enumeration value="0075"/>
<enumeration value="0076"/>
<enumeration value="0077"/>
<enumeration value="0078"/>
<enumeration value="0079"/>
<enumeration value="0080"/>
<enumeration value="0081"/>
<enumeration value="0082"/>
<enumeration value="0083"/>
<enumeration value="0084"/>
<enumeration value="0085"/>
<enumeration value="0086"/>
<enumeration value="0087"/>
<enumeration value="0088"/>
<enumeration value="0089"/>
<enumeration value="0090"/>
<enumeration value="0091"/>
<enumeration value="0093"/>
<enumeration value="0094"/>
<enumeration value="0095"/>
<enumeration value="0096"/>
<enumeration value="0097"/>
<enumeration value="0098"/>
<enumeration value="0099"/>
<enumeration value="0100"/>
<enumeration value="0101"/>
<enumeration value="0102"/>
<enumeration value="0104"/>
<enumeration value="0105"/>
<enumeration value="0106"/>
<enumeration value="0107"/>
<enumeration value="0108"/>
<enumeration value="0109"/>
<enumeration value="0110"/>
<enumeration value="0111"/>
<enumeration value="0112"/>
<enumeration value="0113"/>
<enumeration value="0114"/>
<enumeration value="0115"/>
<enumeration value="0116"/>
<enumeration value="0117"/>
<enumeration value="0118"/>
<enumeration value="0119"/>
<enumeration value="0120"/>
<enumeration value="0121"/>
<enumeration value="0122"/>
<enumeration value="0123"/>
<enumeration value="0124"/>
<enumeration value="0125"/>
<enumeration value="0126"/>
<enumeration value="0127"/>
<enumeration value="0128"/>
<enumeration value="0129"/>
<enumeration value="0130"/>
<enumeration value="0131"/>
<enumeration value="0132"/>
<enumeration value="0133"/>
<enumeration value="0134"/>
<enumeration value="0135"/>
<enumeration value="0136"/>
<enumeration value="0137"/>
<enumeration value="0138"/>
<enumeration value="0139"/>
<enumeration value="0140"/>
<enumeration value="0141"/>
<enumeration value="0142"/>
<enumeration value="0143"/>
<enumeration value="0144"/>
<enumeration value="0145"/>
<enumeration value="0146"/>
<enumeration value="0147"/>
<enumeration value="0148"/>
<enumeration value="0149"/>
<enumeration value="0150"/>
<enumeration value="0151"/>
<enumeration value="0152"/>
<enumeration value="0153"/>
<enumeration value="0154"/>
<enumeration value="0155"/>
<enumeration value="0156"/>
<enumeration value="0157"/>
<enumeration value="0158"/>
<enumeration value="0159"/>
<enumeration value="0160"/>
<enumeration value="0161"/>
<enumeration value="0162"/>
<enumeration value="0163"/>
<enumeration value="0164"/>
<enumeration value="0165"/>
<enumeration value="0166"/>
<enumeration value="0167"/>
<enumeration value="0168"/>
<enumeration value="0169"/>
<enumeration value="0170"/>
<enumeration value="0171"/>
<enumeration value="0172"/>
<enumeration value="0173"/>
<enumeration value="0174"/>
<enumeration value="0175"/>
<enumeration value="0176"/>
<enumeration value="0177"/>
<enumeration value="0178"/>
<enumeration value="0179"/>
<enumeration value="0180"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0185"/>
<enumeration value="0186"/>
<enumeration value="0187"/>
<enumeration value="0188"/>
<enumeration value="0189"/>
<enumeration value="0190"/>
<enumeration value="0191"/>
<enumeration value="0192"/>
<enumeration value="0193"/>
<enumeration value="0194"/>
<enumeration value="0195"/>
<enumeration value="0196"/>
<enumeration value="0197"/>
<enumeration value="0198"/>
<enumeration value="0199"/>
<enumeration value="0200"/>
<enumeration value="0201"/>
<enumeration value="0202"/>
<enumeration value="0203"/>
<enumeration value="0204"/>
<enumeration value="0205"/>
<enumeration value="0206"/>
<enumeration value="0207"/>
<enumeration value="0208"/>
<enumeration value="0209"/>
<enumeration value="0210"/>
<enumeration value="0211"/>
<enumeration value="0212"/>
<enumeration value="0213"/>
<enumeration value="0214"/>
<enumeration value="0215"/>
<enumeration value="0216"/>
<enumeration value="0217"/>
<enumeration value="0218"/>
<enumeration value="0219"/>
<enumeration value="0220"/>
<enumeration value="0221"/>
<enumeration value="0222"/>
<enumeration value="0223"/>
<enumeration value="0224"/>
<enumeration value="0225"/>
<enumeration value="0226"/>
<enumeration value="0227"/>
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
<enumeration value="0239"/>
<enumeration value="0240"/>
</cl>
<cl id="16"> <cl id="16">
<enumeration value="0002"/> <enumeration value="0002"/>
<enumeration value="0003"/> <enumeration value="0003"/>
@@ -4819,8 +4599,253 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="17"> <cl id="17">
<enumeration value="0002"/>
<enumeration value="0003"/>
<enumeration value="0004"/>
<enumeration value="0005"/>
<enumeration value="0006"/>
<enumeration value="0007"/>
<enumeration value="0008"/>
<enumeration value="0009"/>
<enumeration value="0010"/>
<enumeration value="0011"/>
<enumeration value="0012"/>
<enumeration value="0013"/>
<enumeration value="0014"/>
<enumeration value="0015"/>
<enumeration value="0016"/>
<enumeration value="0017"/>
<enumeration value="0018"/>
<enumeration value="0019"/>
<enumeration value="0020"/>
<enumeration value="0021"/>
<enumeration value="0022"/>
<enumeration value="0023"/>
<enumeration value="0024"/>
<enumeration value="0025"/>
<enumeration value="0026"/>
<enumeration value="0027"/>
<enumeration value="0028"/>
<enumeration value="0029"/>
<enumeration value="0030"/>
<enumeration value="0031"/>
<enumeration value="0032"/>
<enumeration value="0033"/>
<enumeration value="0034"/>
<enumeration value="0035"/>
<enumeration value="0036"/>
<enumeration value="0037"/>
<enumeration value="0038"/>
<enumeration value="0039"/>
<enumeration value="0040"/>
<enumeration value="0041"/>
<enumeration value="0042"/>
<enumeration value="0043"/>
<enumeration value="0044"/>
<enumeration value="0045"/>
<enumeration value="0046"/>
<enumeration value="0047"/>
<enumeration value="0048"/>
<enumeration value="0049"/>
<enumeration value="0050"/>
<enumeration value="0051"/>
<enumeration value="0052"/>
<enumeration value="0053"/>
<enumeration value="0054"/>
<enumeration value="0055"/>
<enumeration value="0056"/>
<enumeration value="0057"/>
<enumeration value="0058"/>
<enumeration value="0059"/>
<enumeration value="0060"/>
<enumeration value="0061"/>
<enumeration value="0062"/>
<enumeration value="0063"/>
<enumeration value="0064"/>
<enumeration value="0065"/>
<enumeration value="0066"/>
<enumeration value="0067"/>
<enumeration value="0068"/>
<enumeration value="0069"/>
<enumeration value="0070"/>
<enumeration value="0071"/>
<enumeration value="0072"/>
<enumeration value="0073"/>
<enumeration value="0074"/>
<enumeration value="0075"/>
<enumeration value="0076"/>
<enumeration value="0077"/>
<enumeration value="0078"/>
<enumeration value="0079"/>
<enumeration value="0080"/>
<enumeration value="0081"/>
<enumeration value="0082"/>
<enumeration value="0083"/>
<enumeration value="0084"/>
<enumeration value="0085"/>
<enumeration value="0086"/>
<enumeration value="0087"/>
<enumeration value="0088"/>
<enumeration value="0089"/>
<enumeration value="0090"/>
<enumeration value="0091"/>
<enumeration value="0093"/>
<enumeration value="0094"/>
<enumeration value="0095"/>
<enumeration value="0096"/>
<enumeration value="0097"/>
<enumeration value="0098"/>
<enumeration value="0099"/>
<enumeration value="0100"/>
<enumeration value="0101"/>
<enumeration value="0102"/>
<enumeration value="0104"/>
<enumeration value="0105"/>
<enumeration value="0106"/>
<enumeration value="0107"/>
<enumeration value="0108"/>
<enumeration value="0109"/>
<enumeration value="0110"/>
<enumeration value="0111"/>
<enumeration value="0112"/>
<enumeration value="0113"/>
<enumeration value="0114"/>
<enumeration value="0115"/>
<enumeration value="0116"/>
<enumeration value="0117"/>
<enumeration value="0118"/>
<enumeration value="0119"/>
<enumeration value="0120"/>
<enumeration value="0121"/>
<enumeration value="0122"/>
<enumeration value="0123"/>
<enumeration value="0124"/>
<enumeration value="0125"/>
<enumeration value="0126"/>
<enumeration value="0127"/>
<enumeration value="0128"/>
<enumeration value="0129"/>
<enumeration value="0130"/>
<enumeration value="0131"/>
<enumeration value="0132"/>
<enumeration value="0133"/>
<enumeration value="0134"/>
<enumeration value="0135"/>
<enumeration value="0136"/>
<enumeration value="0137"/>
<enumeration value="0138"/>
<enumeration value="0139"/>
<enumeration value="0140"/>
<enumeration value="0141"/>
<enumeration value="0142"/>
<enumeration value="0143"/>
<enumeration value="0144"/>
<enumeration value="0145"/>
<enumeration value="0146"/>
<enumeration value="0147"/>
<enumeration value="0148"/>
<enumeration value="0149"/>
<enumeration value="0150"/>
<enumeration value="0151"/>
<enumeration value="0152"/>
<enumeration value="0153"/>
<enumeration value="0154"/>
<enumeration value="0155"/>
<enumeration value="0156"/>
<enumeration value="0157"/>
<enumeration value="0158"/>
<enumeration value="0159"/>
<enumeration value="0160"/>
<enumeration value="0161"/>
<enumeration value="0162"/>
<enumeration value="0163"/>
<enumeration value="0164"/>
<enumeration value="0165"/>
<enumeration value="0166"/>
<enumeration value="0167"/>
<enumeration value="0168"/>
<enumeration value="0169"/>
<enumeration value="0170"/>
<enumeration value="0171"/>
<enumeration value="0172"/>
<enumeration value="0173"/>
<enumeration value="0174"/>
<enumeration value="0175"/>
<enumeration value="0176"/>
<enumeration value="0177"/>
<enumeration value="0178"/>
<enumeration value="0179"/>
<enumeration value="0180"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0185"/>
<enumeration value="0186"/>
<enumeration value="0187"/>
<enumeration value="0188"/>
<enumeration value="0189"/>
<enumeration value="0190"/>
<enumeration value="0191"/>
<enumeration value="0192"/>
<enumeration value="0193"/>
<enumeration value="0194"/>
<enumeration value="0195"/>
<enumeration value="0196"/>
<enumeration value="0197"/>
<enumeration value="0198"/>
<enumeration value="0199"/>
<enumeration value="0200"/>
<enumeration value="0201"/>
<enumeration value="0202"/>
<enumeration value="0203"/>
<enumeration value="0204"/>
<enumeration value="0205"/>
<enumeration value="0206"/>
<enumeration value="0207"/>
<enumeration value="0208"/>
<enumeration value="0209"/>
<enumeration value="0210"/>
<enumeration value="0211"/>
<enumeration value="0212"/>
<enumeration value="0213"/>
<enumeration value="0214"/>
<enumeration value="0215"/>
<enumeration value="0216"/>
<enumeration value="0217"/>
<enumeration value="0218"/>
<enumeration value="0219"/>
<enumeration value="0220"/>
<enumeration value="0221"/>
<enumeration value="0222"/>
<enumeration value="0223"/>
<enumeration value="0224"/>
<enumeration value="0225"/>
<enumeration value="0226"/>
<enumeration value="0227"/>
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
<enumeration value="0239"/>
<enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl>
<cl id="18">
<enumeration value="0002"/> <enumeration value="0002"/>
<enumeration value="0007"/> <enumeration value="0007"/>
<enumeration value="0009"/> <enumeration value="0009"/>
@@ -4872,6 +4897,7 @@
<enumeration value="0230"/> <enumeration value="0230"/>
<enumeration value="0235"/> <enumeration value="0235"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0244"/>
<enumeration value="9910"/> <enumeration value="9910"/>
<enumeration value="9913"/> <enumeration value="9913"/>
<enumeration value="9914"/> <enumeration value="9914"/>
@@ -4919,16 +4945,16 @@
<enumeration value="AU"/> <enumeration value="AU"/>
<enumeration value="EM"/> <enumeration value="EM"/>
</cl> </cl>
<cl id="18">
<enumeration value="VA"/>
</cl>
<cl id="19"> <cl id="19">
<enumeration value="VA"/> <enumeration value="VA"/>
</cl> </cl>
<cl id="20"> <cl id="20">
<enumeration value="916"/> <enumeration value="VA"/>
</cl> </cl>
<cl id="21"> <cl id="21">
<enumeration value="916"/>
</cl>
<cl id="22">
<enumeration value="application/pdf"/> <enumeration value="application/pdf"/>
<enumeration value="application/vnd.oasis.opendocument.spreadsheet"/> <enumeration value="application/vnd.oasis.opendocument.spreadsheet"/>
<enumeration value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/> <enumeration value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
@@ -4936,13 +4962,13 @@
<enumeration value="image/png"/> <enumeration value="image/png"/>
<enumeration value="text/csv"/> <enumeration value="text/csv"/>
</cl> </cl>
<cl id="22"> <cl id="23">
<enumeration value="50"/> <enumeration value="50"/>
</cl> </cl>
<cl id="23"> <cl id="24">
<enumeration value="130"/> <enumeration value="130"/>
</cl> </cl>
<cl id="24"> <cl id="25">
<enumeration value="AED"/> <enumeration value="AED"/>
<enumeration value="AFN"/> <enumeration value="AFN"/>
<enumeration value="ALL"/> <enumeration value="ALL"/>
@@ -4976,6 +5002,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -5122,7 +5149,7 @@
<enumeration value="ZMW"/> <enumeration value="ZMW"/>
<enumeration value="ZWG"/> <enumeration value="ZWG"/>
</cl> </cl>
<cl id="25"> <cl id="26">
<enumeration value="1"/> <enumeration value="1"/>
<enumeration value="2"/> <enumeration value="2"/>
<enumeration value="3"/> <enumeration value="3"/>
@@ -5208,7 +5235,7 @@
<enumeration value="98"/> <enumeration value="98"/>
<enumeration value="ZZZ"/> <enumeration value="ZZZ"/>
</cl> </cl>
<cl id="26"> <cl id="27">
<enumeration value="VATEX-EU-132"/> <enumeration value="VATEX-EU-132"/>
<enumeration value="VATEX-EU-132-1A"/> <enumeration value="VATEX-EU-132-1A"/>
<enumeration value="VATEX-EU-132-1B"/> <enumeration value="VATEX-EU-132-1B"/>
@@ -5227,6 +5254,7 @@
<enumeration value="VATEX-EU-132-1O"/> <enumeration value="VATEX-EU-132-1O"/>
<enumeration value="VATEX-EU-132-1P"/> <enumeration value="VATEX-EU-132-1P"/>
<enumeration value="VATEX-EU-132-1Q"/> <enumeration value="VATEX-EU-132-1Q"/>
<enumeration value="VATEX-EU-135-1"/>
<enumeration value="VATEX-EU-143"/> <enumeration value="VATEX-EU-143"/>
<enumeration value="VATEX-EU-143-1A"/> <enumeration value="VATEX-EU-143-1A"/>
<enumeration value="VATEX-EU-143-1B"/> <enumeration value="VATEX-EU-143-1B"/>
@@ -5297,13 +5325,8 @@
<enumeration value="VATEX-FR-CNWVAT"/> <enumeration value="VATEX-FR-CNWVAT"/>
<enumeration value="VATEX-FR-FRANCHISE"/> <enumeration value="VATEX-FR-FRANCHISE"/>
</cl> </cl>
<cl id="27">
<enumeration value="102"/>
</cl>
<cl id="28"> <cl id="28">
<enumeration value="5"/> <enumeration value="102"/>
<enumeration value="29"/>
<enumeration value="72"/>
</cl> </cl>
<cl id="29"> <cl id="29">
<enumeration value="41"/> <enumeration value="41"/>
@@ -5540,6 +5563,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -5720,6 +5744,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>

File diff suppressed because it is too large Load Diff

View File

@@ -46,6 +46,13 @@
<enumeration value="456"/> <enumeration value="456"/>
<enumeration value="457"/> <enumeration value="457"/>
<enumeration value="458"/> <enumeration value="458"/>
<enumeration value="471"/>
<enumeration value="472"/>
<enumeration value="473"/>
<enumeration value="500"/>
<enumeration value="501"/>
<enumeration value="502"/>
<enumeration value="503"/>
<enumeration value="527"/> <enumeration value="527"/>
<enumeration value="532"/> <enumeration value="532"/>
<enumeration value="553"/> <enumeration value="553"/>
@@ -300,6 +307,10 @@
<enumeration value="0238"/> <enumeration value="0238"/>
<enumeration value="0239"/> <enumeration value="0239"/>
<enumeration value="0240"/> <enumeration value="0240"/>
<enumeration value="0241"/>
<enumeration value="0242"/>
<enumeration value="0243"/>
<enumeration value="0244"/>
</cl> </cl>
<cl id="5"> <cl id="5">
<enumeration value="AD"/> <enumeration value="AD"/>
@@ -588,6 +599,7 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>
@@ -768,6 +780,188 @@
<enumeration value="CHW"/> <enumeration value="CHW"/>
<enumeration value="CLF"/> <enumeration value="CLF"/>
<enumeration value="CLP"/> <enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/>
<enumeration value="COP"/>
<enumeration value="COU"/>
<enumeration value="CRC"/>
<enumeration value="CUP"/>
<enumeration value="CVE"/>
<enumeration value="CZK"/>
<enumeration value="DJF"/>
<enumeration value="DKK"/>
<enumeration value="DOP"/>
<enumeration value="DZD"/>
<enumeration value="EGP"/>
<enumeration value="ERN"/>
<enumeration value="ETB"/>
<enumeration value="EUR"/>
<enumeration value="FJD"/>
<enumeration value="FKP"/>
<enumeration value="GBP"/>
<enumeration value="GEL"/>
<enumeration value="GHS"/>
<enumeration value="GIP"/>
<enumeration value="GMD"/>
<enumeration value="GNF"/>
<enumeration value="GTQ"/>
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
<enumeration value="ILS"/>
<enumeration value="INR"/>
<enumeration value="IQD"/>
<enumeration value="IRR"/>
<enumeration value="ISK"/>
<enumeration value="JMD"/>
<enumeration value="JOD"/>
<enumeration value="JPY"/>
<enumeration value="KES"/>
<enumeration value="KGS"/>
<enumeration value="KHR"/>
<enumeration value="KMF"/>
<enumeration value="KPW"/>
<enumeration value="KRW"/>
<enumeration value="KWD"/>
<enumeration value="KYD"/>
<enumeration value="KZT"/>
<enumeration value="LAK"/>
<enumeration value="LBP"/>
<enumeration value="LKR"/>
<enumeration value="LRD"/>
<enumeration value="LSL"/>
<enumeration value="LYD"/>
<enumeration value="MAD"/>
<enumeration value="MDL"/>
<enumeration value="MGA"/>
<enumeration value="MKD"/>
<enumeration value="MMK"/>
<enumeration value="MNT"/>
<enumeration value="MOP"/>
<enumeration value="MRU"/>
<enumeration value="MUR"/>
<enumeration value="MVR"/>
<enumeration value="MWK"/>
<enumeration value="MXN"/>
<enumeration value="MXV"/>
<enumeration value="MYR"/>
<enumeration value="MZN"/>
<enumeration value="NAD"/>
<enumeration value="NGN"/>
<enumeration value="NIO"/>
<enumeration value="NOK"/>
<enumeration value="NPR"/>
<enumeration value="NZD"/>
<enumeration value="OMR"/>
<enumeration value="PAB"/>
<enumeration value="PEN"/>
<enumeration value="PGK"/>
<enumeration value="PHP"/>
<enumeration value="PKR"/>
<enumeration value="PLN"/>
<enumeration value="PYG"/>
<enumeration value="QAR"/>
<enumeration value="RON"/>
<enumeration value="RSD"/>
<enumeration value="RUB"/>
<enumeration value="RWF"/>
<enumeration value="SAR"/>
<enumeration value="SBD"/>
<enumeration value="SCR"/>
<enumeration value="SDG"/>
<enumeration value="SEK"/>
<enumeration value="SGD"/>
<enumeration value="SHP"/>
<enumeration value="SLE"/>
<enumeration value="SOS"/>
<enumeration value="SRD"/>
<enumeration value="SSP"/>
<enumeration value="STN"/>
<enumeration value="SVC"/>
<enumeration value="SYP"/>
<enumeration value="SZL"/>
<enumeration value="THB"/>
<enumeration value="TJS"/>
<enumeration value="TMT"/>
<enumeration value="TND"/>
<enumeration value="TOP"/>
<enumeration value="TRY"/>
<enumeration value="TTD"/>
<enumeration value="TWD"/>
<enumeration value="TZS"/>
<enumeration value="UAH"/>
<enumeration value="UGX"/>
<enumeration value="USD"/>
<enumeration value="USN"/>
<enumeration value="UYI"/>
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
<enumeration value="WST"/>
<enumeration value="XAF"/>
<enumeration value="XAG"/>
<enumeration value="XAU"/>
<enumeration value="XBA"/>
<enumeration value="XBB"/>
<enumeration value="XBC"/>
<enumeration value="XBD"/>
<enumeration value="XCD"/>
<enumeration value="XDR"/>
<enumeration value="XOF"/>
<enumeration value="XPD"/>
<enumeration value="XPF"/>
<enumeration value="XPT"/>
<enumeration value="XSU"/>
<enumeration value="XTS"/>
<enumeration value="XUA"/>
<enumeration value="XXX"/>
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
</cl>
<cl id="8">
<enumeration value="AED"/>
<enumeration value="AFN"/>
<enumeration value="ALL"/>
<enumeration value="AMD"/>
<enumeration value="ANG"/>
<enumeration value="AOA"/>
<enumeration value="ARS"/>
<enumeration value="AUD"/>
<enumeration value="AWG"/>
<enumeration value="AZN"/>
<enumeration value="BAM"/>
<enumeration value="BBD"/>
<enumeration value="BDT"/>
<enumeration value="BGN"/>
<enumeration value="BHD"/>
<enumeration value="BIF"/>
<enumeration value="BMD"/>
<enumeration value="BND"/>
<enumeration value="BOB"/>
<enumeration value="BOV"/>
<enumeration value="BRL"/>
<enumeration value="BSD"/>
<enumeration value="BTN"/>
<enumeration value="BWP"/>
<enumeration value="BYN"/>
<enumeration value="BZD"/>
<enumeration value="CAD"/>
<enumeration value="CDF"/>
<enumeration value="CHE"/>
<enumeration value="CHF"/>
<enumeration value="CHW"/>
<enumeration value="CLF"/>
<enumeration value="CLP"/>
<enumeration value="CNH"/>
<enumeration value="CNY"/> <enumeration value="CNY"/>
<enumeration value="COP"/> <enumeration value="COP"/>
<enumeration value="COU"/> <enumeration value="COU"/>