This commit is contained in:
2025-03-17 17:15:14 +00:00
parent a53f6b26ef
commit 8ceef306d0
594 changed files with 0 additions and 0 deletions

View File

@ -0,0 +1,320 @@
<!--
Licensed under European Union Public Licence (EUPL) version 1.2.
-->
<!-- Schematron binding rules generated by Oriol Bausà -->
<!-- Data binding to CII syntax for EN16931 -->
<pattern xmlns="http://purl.oclc.org/dsdl/schematron" is-a="EN16931" id="EN16931-CII-Model">
<param name="BR-01" value="normalize-space(rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID) != ''"/>
<param name="BR-02" value="normalize-space(rsm:ExchangedDocument/ram:ID) != ''"/>
<param name="BR-03" value="normalize-space(rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString[@format='102']) != ''"/>
<param name="BR-04" value="normalize-space(rsm:ExchangedDocument/ram:TypeCode) != ''"/>
<param name="BR-05" value="normalize-space(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode) != ''"/>
<param name="BR-06" value="normalize-space(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:Name) != ''"/>
<param name="BR-07" value="normalize-space(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:Name) != ''"/>
<param name="BR-08" value="rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress"/>
<param name="BR-09" value="normalize-space(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID) != ''"/>
<param name="BR-10" value="rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress"/>
<param name="BR-11" value="normalize-space(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID) != ''"/>
<param name="BR-12" value="(ram:LineTotalAmount)"/>
<param name="BR-13" value="(ram:TaxBasisTotalAmount)"/>
<param name="BR-14" value="(ram:GrandTotalAmount)"/>
<param name="BR-15" value="(ram:DuePayableAmount)"/>
<param name="BR-16" value="//ram:IncludedSupplyChainTradeLineItem"/>
<param name="BR-17" value="(ram:Name) and (not(ram:Name = ../../ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:Name) and not(ram:ID = ../../ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:ID) and not(ram:SpecifiedLegalOrganization/ram:ID = ../../ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID))"/>
<param name="BR-18" value="(ram:Name)"/>
<param name="BR-19" value="(ram:PostalTradeAddress)"/>
<param name="BR-20" value="(ram:PostalTradeAddress/ram:CountryID)"/>
<param name="BR-21" value="normalize-space(ram:AssociatedDocumentLineDocument/ram:LineID) != ''"/>
<param name="BR-22" value="(ram:SpecifiedLineTradeDelivery/ram:BilledQuantity)"/>
<param name="BR-23" value="(ram:SpecifiedLineTradeDelivery/ram:BilledQuantity/@unitCode)"/>
<param name="BR-24" value="(ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)"/>
<param name="BR-25" value="normalize-space(ram:SpecifiedTradeProduct/ram:Name) != ''"/>
<param name="BR-26" value="(ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:ChargeAmount)"/>
<param name="BR-27" value="(ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:ChargeAmount) &gt;= 0"/>
<param name="BR-28" value="(ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount &gt;= 0) or not(ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:ChargeAmount)"/>
<param name="BR-29" value="(ram:EndDateTime/udt:DateTimeString[@format = '102']) &gt;= (ram:StartDateTime/udt:DateTimeString[@format = '102']) or not (ram:EndDateTime) or not (ram:StartDateTime)"/>
<param name="BR-30" value="(ram:EndDateTime/udt:DateTimeString[@format = '102']) &gt;= (ram:StartDateTime/udt:DateTimeString[@format = '102']) or not (ram:EndDateTime) or not (ram:StartDateTime)"/>
<param name="BR-31" value="(../ram:ActualAmount)"/>
<param name="BR-32" value="(../ram:CategoryTradeTax[upper-case(ram:TypeCode) = 'VAT']/ram:CategoryCode)"/>
<param name="BR-33" value="(../ram:Reason) or (../ram:ReasonCode)"/>
<param name="BR-36" value="(../ram:ActualAmount)"/>
<param name="BR-37" value="(../ram:CategoryTradeTax[upper-case(ram:TypeCode) = 'VAT']/ram:CategoryCode)"/>
<param name="BR-38" value="(../ram:Reason) or (../ram:ReasonCode)"/>
<param name="BR-41" value="(../ram:ActualAmount)"/>
<param name="BR-42" value="(../ram:Reason) or (../ram:ReasonCode)"/>
<param name="BR-43" value="(../ram:ActualAmount)"/>
<param name="BR-44" value="(../ram:Reason) or (../ram:ReasonCode)"/>
<param name="BR-45" value="(ram:BasisAmount)"/>
<param name="BR-46" value="(ram:CalculatedAmount)"/>
<param name="BR-47" value="(.[upper-case(ram:TypeCode) = 'VAT']/ram:CategoryCode)"/>
<param name="BR-48" value="(.[upper-case(ram:TypeCode) = 'VAT']/ram:RateApplicablePercent) or (.[upper-case(ram:TypeCode) = 'VAT']/ram:CategoryCode = 'O')"/>
<param name="BR-49" value="(ram:TypeCode)"/>
<param name="BR-50" value="(ram:IBANID) or (ram:ProprietaryID)"/>
<param name="BR-51" value="string-length(ram:ID)&lt;=10"/>
<param name="BR-52" value="normalize-space(ram:IssuerAssignedID) != ''"/>
<param name="BR-53" value="not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode) or (/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode and (ram:TaxTotalAmount/@currencyID = /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode) and not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode = /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode))"/>
<param name="BR-54" value="(ram:Description) and (ram:Value)"/>
<param name="BR-55" value="normalize-space(ram:IssuerAssignedID) != ''"/>
<param name="BR-56" value="normalize-space(ram:SpecifiedTaxRegistration/ram:ID[@schemeID='VA']) != ''"/>
<param name="BR-57" value="(ram:ShipToTradeParty/ram:PostalTradeAddress and normalize-space(ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID) != '') or not (ram:ShipToTradeParty/ram:PostalTradeAddress)"/>
<param name="BR-61" value="(ram:IBANID) or (ram:ProprietaryID)"/>
<param name="BR-62" value="normalize-space(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication[1]/ram:URIID/@schemeID) != '' or not (rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication)"/>
<param name="BR-63" value="normalize-space(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication[1]/ram:URIID/@schemeID) != '' or not (rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication)"/>
<param name="BR-64" value="normalize-space(ram:SpecifiedTradeProduct/ram:GlobalID/@schemeID) != '' or not (ram:SpecifiedTradeProduct/ram:GlobalID)"/>
<param name="BR-65" value="normalize-space(ram:ClassCode/@listID) != '' or not (ram:ClassCode)"/>
<param name="BR-66" value="(ram:ChargeIndicator)"/>
<!--param name="BR-CO-02" value="((ram:TypeCode = ('30','57')) and (ram:PayeePartyCreditorFinancialAccount/ram:IBANID or ram:PayeePartyCreditorFinancialAccount/ram:ProprietaryID)) or not(ram:TypeCode = ('30','57'))"/-->
<param name="BR-CO-03" value="((//ram:TaxPointDate) and not(//ram:DueDateTypeCode)) or (not (//ram:TaxPointDate) and (//ram:DueDateTypeCode)) or (not (//ram:TaxPointDate) and not (//ram:DueDateTypeCode))"/>
<param name="BR-CO-04" value="(ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[upper-case(ram:TypeCode) = 'VAT']/ram:CategoryCode)"/>
<param name="BR-CO-05" value="true()"/>
<param name="BR-CO-06" value="true()"/>
<param name="BR-CO-07" value="true()"/>
<param name="BR-CO-08" value="true()"/>
<param name="BR-CO-09" value="contains(' 1A AD AE AF AG AI AL AM AN AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BL BJ BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH EL ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS XI YE YT ZA ZM ZW ', concat(' ', substring(.,1,2), ' '))"/>
<param name="BR-CO-10" value="xs:decimal(ram:LineTotalAmount) = round(xs:decimal(sum(../../ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)) * xs:decimal(100)) div xs:decimal(100)"/>
<param name="BR-CO-11" value="(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()])and not (ram:AllowanceTotalAmount)) or ram:AllowanceTotalAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:ActualAmount)* 10 * 10 ) div 100)"/>
<param name="BR-CO-12" value="(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()])and not (ram:ChargeTotalAmount)) or ram:ChargeTotalAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:ActualAmount)* 10 * 10 ) div 100) "/>
<param name="BR-CO-13" value="(xs:decimal(ram:TaxBasisTotalAmount) = round((xs:decimal(ram:LineTotalAmount) - xs:decimal(ram:AllowanceTotalAmount) + xs:decimal(ram:ChargeTotalAmount)) *10 * 10) div 100) or
((xs:decimal(ram:TaxBasisTotalAmount) = round((xs:decimal(ram:LineTotalAmount) - xs:decimal(ram:AllowanceTotalAmount)) *10 * 10) div 100) and not (ram:ChargeTotalAmount)) or
((xs:decimal(ram:TaxBasisTotalAmount) = round((xs:decimal(ram:LineTotalAmount) + xs:decimal(ram:ChargeTotalAmount)) *10 * 10) div 100) and not (ram:AllowanceTotalAmount)) or
((xs:decimal(ram:TaxBasisTotalAmount) = round((xs:decimal(ram:LineTotalAmount)) *10 * 10) div 100) and not (ram:ChargeTotalAmount) and not (ram:AllowanceTotalAmount))"/>
<param name="BR-CO-14" value=". = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CalculatedAmount)*10*10)div 100) "/>
<!-- Old:
(exists(//ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount) and
(//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount)
=
round( (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount) +
(//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxTotalAmount))) * 10 * 10) div 100)) or
(//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount)))
-->
<param name="BR-CO-15" value="every $Currency
in rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode
satisfies (
count ( rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=$Currency] ) eq 1 and
(//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = round(
(//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount) +
(//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxTotalAmount[@currencyID=$Currency]))) * 10 * 10) div 100)) or
(//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount)))"/>
<param name="BR-CO-16" value="(xs:decimal(ram:DuePayableAmount) = xs:decimal(ram:GrandTotalAmount) - xs:decimal(ram:TotalPrepaidAmount) + xs:decimal(ram:RoundingAmount)) or
((xs:decimal(ram:DuePayableAmount) = xs:decimal(ram:GrandTotalAmount) + xs:decimal(ram:RoundingAmount)) and not (xs:decimal(ram:TotalPrepaidAmount))) or
((xs:decimal(ram:DuePayableAmount) = xs:decimal(ram:GrandTotalAmount) - xs:decimal(ram:TotalPrepaidAmount)) and not (xs:decimal(ram:RoundingAmount))) or
((xs:decimal(ram:DuePayableAmount) = xs:decimal(ram:GrandTotalAmount)) and not (xs:decimal(ram:TotalPrepaidAmount)) and not (xs:decimal(ram:RoundingAmount)))"/>
<param name="BR-CO-17" value="(round(.[normalize-space(upper-case(ram:TypeCode)) = 'VAT']/xs:decimal(ram:RateApplicablePercent)) = 0 and (round(xs:decimal(ram:CalculatedAmount)) = 0)) or (round(.[normalize-space(upper-case(ram:TypeCode)) = 'VAT']/xs:decimal(ram:RateApplicablePercent)) != 0 and ((abs(xs:decimal(ram:CalculatedAmount)) - 1 &lt;= round(abs(xs:decimal(ram:BasisAmount)) * (.[normalize-space(upper-case(ram:TypeCode)) = 'VAT']/xs:decimal(ram:RateApplicablePercent) div 100) * 10 * 10) div 100 ) and (abs(xs:decimal(ram:CalculatedAmount)) + 1 &gt;= round(abs(xs:decimal(ram:BasisAmount)) * (.[normalize-space(upper-case(ram:TypeCode)) = 'VAT']/xs:decimal(ram:RateApplicablePercent) div 100) * 10 * 10) div 100 ))) or (not(exists(.[normalize-space(upper-case(ram:TypeCode))='VAT']/xs:decimal(ram:RateApplicablePercent))) and (round(xs:decimal(ram:CalculatedAmount)) = 0))"/>
<param name="BR-CO-18" value="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax"/>
<param name="BR-CO-19" value="(ram:StartDateTime) or (ram:EndDateTime)"/>
<param name="BR-CO-20" value="(ram:StartDateTime) or (ram:EndDateTime)"/>
<param name="BR-CO-21" value="(../ram:Reason) or (../ram:ReasonCode)"/>
<param name="BR-CO-22" value="(../ram:Reason) or (../ram:ReasonCode)"/>
<param name="BR-CO-23" value="(../ram:Reason) or (../ram:ReasonCode)"/>
<param name="BR-CO-24" value="(../ram:Reason) or (../ram:ReasonCode)"/>
<param name="BR-CO-25" value="(number(//ram:DuePayableAmount) &gt; 0 and ((//ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime) or (//ram:SpecifiedTradePaymentTerms/ram:Description))) or not(number(//ram:DuePayableAmount)&gt;0)"/>
<param name="BR-CO-26" value="(ram:ID) or (ram:GlobalID) or (ram:SpecifiedLegalOrganization/ram:ID) or (ram:SpecifiedTaxRegistration/ram:ID[@schemeID='VA'])"/>
<param name="BR-CO-27" value="(ram:PayeePartyCreditorFinancialAccount/ram:IBANID) or (ram:PayeePartyCreditorFinancialAccount/ram:ProprietaryID) or (not(ram:PayeePartyCreditorFinancialAccount/ram:IBANID) and not(ram:PayeePartyCreditorFinancialAccount/ram:ProprietaryID))"/>
<param name="BR-S-01" value="((count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='S']) + count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='S'])) &gt;=2 or not (//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='S'])) and
((count(//ram:CategoryTradeTax[ram:CategoryCode='S']) + count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='S'])) &gt;=2 or not (//ram:CategoryTradeTax[ram:CategoryCode='S']))"/>
<param name="BR-S-02" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-S-03" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-S-04" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-S-05" value="ram:RateApplicablePercent &gt; 0"/>
<param name="BR-S-06" value="ram:RateApplicablePercent &gt; 0"/>
<param name="BR-S-07" value="ram:RateApplicablePercent &gt; 0"/>
<param name="BR-S-08" value="every $rate in ../ram:RateApplicablePercent/xs:decimal(.) satisfies (../ram:BasisAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'S' and ram:ApplicableTradeTax/xs:decimal(ram:RateApplicablePercent) =$rate]/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='S' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate]/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='S' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate]/xs:decimal(ram:ActualAmount)) * 10 * 10) div 100))"/>
<param name="BR-S-09" value="(abs(xs:decimal(../ram:CalculatedAmount)) - 1 &lt; round(abs(xs:decimal(../ram:BasisAmount)) * ../ram:RateApplicablePercent) div 100 ) and (abs(xs:decimal(../ram:CalculatedAmount)) + 1 &gt; round(abs(xs:decimal(../ram:BasisAmount)) * ../ram:RateApplicablePercent) div 100 )"/>
<param name="BR-S-10" value="not(../ram:ExemptionReason) and not (../ram:ExemptionReasonCode)"/>
<param name="BR-AF-01" value="((count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='L']) + count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='L'])) &gt;=2 or not (//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='L'])) and
((count(//ram:CategoryTradeTax[ram:CategoryCode='L']) + count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='L'])) &gt;=2 or not (//ram:CategoryTradeTax[ram:CategoryCode='L']))"/>
<param name="BR-AF-02" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-AF-03" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-AF-04" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-AF-05" value="ram:RateApplicablePercent &gt; 0"/>
<param name="BR-AF-06" value="ram:RateApplicablePercent &gt; 0"/>
<param name="BR-AF-07" value="ram:RateApplicablePercent &gt; 0"/>
<param name="BR-AF-08" value="every $rate in ../ram:RateApplicablePercent/xs:decimal(.) satisfies (../ram:BasisAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'L' and ram:ApplicableTradeTax/xs:decimal(ram:RateApplicablePercent) =$rate]/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='L' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate]/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='L' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate]/xs:decimal(ram:ActualAmount)) * 10 * 10) div 100))"/>
<param name="BR-AF-09" value="true()"/> <!-- duplicate of BR-CO-17 -->
<param name="BR-AF-10" value="not(ram:ExemptionReason) and not (ram:ExemptionReasonCode)"/>
<param name="BR-AG-01" value="((count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M']) + count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M'])) &gt;=2 or not (//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M'])) and
((count(//ram:CategoryTradeTax[ram:CategoryCode='M']) + count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M'])) &gt;=2 or not (//ram:CategoryTradeTax[ram:CategoryCode='M']))"/>
<param name="BR-AG-02" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-AG-03" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-AG-04" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-AG-05" value="ram:RateApplicablePercent &gt;= 0"/>
<param name="BR-AG-06" value="ram:RateApplicablePercent &gt; 0"/>
<param name="BR-AG-07" value="ram:RateApplicablePercent &gt; 0"/>
<param name="BR-AG-08" value="every $rate in ../ram:RateApplicablePercent/xs:decimal(.) satisfies (../ram:BasisAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'M' and ram:ApplicableTradeTax/xs:decimal(ram:RateApplicablePercent) =$rate]/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='M' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate]/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='M' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate]/xs:decimal(ram:ActualAmount)) * 10 * 10) div 100))"/>
<param name="BR-AG-09" value="true()"/> <!-- duplicate of BR-CO-17 -->
<param name="BR-AG-10" value="not(ram:ExemptionReason) and not (ram:ExemptionReasonCode)"/>
<param name="BR-Z-01" value="(count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='Z'])=0 and count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='Z'])=0 and count(//ram:CategoryTradeTax[ram:CategoryCode='Z'])=0) or ( count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='Z'])=1 and (exists(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='Z']) or exists(//ram:CategoryTradeTax[ram:CategoryCode='Z'])))"/>
<param name="BR-Z-02" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-Z-03" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-Z-04" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-Z-05" value="ram:RateApplicablePercent = 0"/>
<param name="BR-Z-06" value="ram:RateApplicablePercent = 0"/>
<param name="BR-Z-07" value="ram:RateApplicablePercent = 0"/>
<param name="BR-Z-08" value="(../ram:BasisAmount -1 &lt; (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'Z']/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='Z']/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='Z']/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 = 'Z']/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='Z']/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='Z']/xs:decimal(ram:ActualAmount))*10*10)div 100))"/>
<param name="BR-Z-09" value="../ram:CalculatedAmount = 0"/>
<param name="BR-Z-10" value="not(../ram:ExemptionReason) and not (../ram:ExemptionReasonCode)"/>
<param name="BR-E-01" value="(count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='E'])=0 and count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='E'])=0 and count(//ram:CategoryTradeTax[ram:CategoryCode='E'])=0) or ( count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='E'])=1 and (exists(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='E']) or exists(//ram:CategoryTradeTax[ram:CategoryCode='E'])))"/>
<param name="BR-E-02" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-E-03" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-E-04" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']"/>
<param name="BR-E-05" value="ram:RateApplicablePercent = 0"/>
<param name="BR-E-06" value="ram:RateApplicablePercent = 0"/>
<param name="BR-E-07" value="ram:RateApplicablePercent = 0"/>
<param name="BR-E-08" value="(../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))"/>
<param name="BR-E-09" value="../ram:CalculatedAmount = 0"/>
<param name="BR-E-10" value="(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)"/>
<param name="BR-AE-01" value="(count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='AE'])=0 and count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='AE'])=0 and count(//ram:CategoryTradeTax[ram:CategoryCode='AE'])=0) or ( count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='AE'])=1 and (exists(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='AE']) or exists(//ram:CategoryTradeTax[ram:CategoryCode='AE'])))"/>
<param name="BR-AE-02" value="(//ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and (//ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID)"/>
<param name="BR-AE-03" value="(//ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and (//ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID)"/>
<param name="BR-AE-04" value="(//ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and (//ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID)"/>
<param name="BR-AE-05" value="ram:RateApplicablePercent = 0"/>
<param name="BR-AE-06" value="ram:RateApplicablePercent = 0"/>
<param name="BR-AE-07" value="ram:RateApplicablePercent = 0"/>
<param name="BR-AE-08" value="(../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))"/>
<param name="BR-AE-09" value="../ram:CalculatedAmount = 0"/>
<param name="BR-AE-10" value="(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)"/>
<param name="BR-IC-01" value="(count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='K'])=0 and count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='K'])=0 and count(//ram:CategoryTradeTax[ram:CategoryCode='K'])=0) or ( count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='K'])=1 and (exists(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='K']) or exists(//ram:CategoryTradeTax[ram:CategoryCode='K'])))"/>
<param name="BR-IC-02" value="(//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']"/>
<param name="BR-IC-03" value="(//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']"/>
<param name="BR-IC-04" value="(//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']"/>
<param name="BR-IC-05" value="ram:RateApplicablePercent = 0"/>
<param name="BR-IC-06" value="ram:RateApplicablePercent = 0"/>
<param name="BR-IC-07" value="ram:RateApplicablePercent = 0"/>
<param name="BR-IC-08" value="(../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))"/>
<param name="BR-IC-09" value="../ram:CalculatedAmount = 0"/>
<!-- as currently no code to check is available only a check on existance is possible -->
<param name="BR-IC-10" value="(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)"/>
<param name="BR-IC-11" value="(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString) or (../../ram:BillingSpecifiedPeriod/ram:StartDateTime) or (../../ram:BillingSpecifiedPeriod/ram:EndDateTime)"/>
<param name="BR-IC-12" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID"/>
<param name="BR-G-01" value="(count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='G'])=0 and count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='G'])=0 and count(//ram:CategoryTradeTax[ram:CategoryCode='G'])=0) or ( count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='G'])=1 and (exists(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='G']) or exists(//ram:CategoryTradeTax[ram:CategoryCode='G'])))"/>
<param name="BR-G-02" value="(//ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'])"/>
<param name="BR-G-03" value="(//ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'])"/>
<param name="BR-G-04" value="(//ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'])"/>
<param name="BR-G-05" value="ram:RateApplicablePercent = 0"/>
<param name="BR-G-06" value="ram:RateApplicablePercent = 0"/>
<param name="BR-G-07" value="ram:RateApplicablePercent = 0"/>
<param name="BR-G-08" value="(../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))"/>
<param name="BR-G-09" value="../ram:CalculatedAmount = 0"/>
<!-- as currently no code to check is available only a check on existance is possible -->
<param name="BR-G-10" value="(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)"/>
<param name="BR-O-01" value="not(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='O']) or (
count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='O'])=1 and
(exists(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='O']) or
exists(//ram:CategoryTradeTax[ram:CategoryCode='O'])))"/>
<param name="BR-O-02" value="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'])"/>
<param name="BR-O-03" value="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'])"/>
<param name="BR-O-04" value="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'])"/>
<param name="BR-O-05" value="not(ram:RateApplicablePercent)"/>
<param name="BR-O-06" value="not(ram:RateApplicablePercent)"/>
<param name="BR-O-07" value="not(ram:RateApplicablePercent)"/>
<param name="BR-O-08" value="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)"/>
<param name="BR-O-09" value="ram:CalculatedAmount = 0"/>
<!-- as currently no code to check is available only a check on existance is possible -->
<param name="BR-O-10" value="(ram:ExemptionReason) or (ram:ExemptionReasonCode)"/>
<param name="BR-O-11" value="not(//ram:ApplicableTradeTax[ram:CategoryCode != 'O'])"/>
<param name="BR-O-12" value="not(//ram:ApplicableTradeTax[ram:CategoryCode != 'O'])"/>
<param name="BR-O-13" value="not(//ram:CategoryTradeTax[ram:CategoryCode != 'O'])"/>
<param name="BR-O-14" value="not(//ram:CategoryTradeTax[ram:CategoryCode != 'O'])"/>
<param name="BR-DEC-01" value="string-length(substring-after(../ram:ActualAmount,'.'))&lt;=2"/>
<param name="BR-DEC-02" value="string-length(substring-after(../ram:BasisAmount,'.'))&lt;=2"/>
<param name="BR-DEC-05" value="string-length(substring-after(../ram:ActualAmount,'.'))&lt;=2"/>
<param name="BR-DEC-06" value="string-length(substring-after(../ram:BasisAmount,'.'))&lt;=2"/>
<param name="BR-DEC-09" value="string-length(substring-after(ram:LineTotalAmount,'.'))&lt;=2"/>
<param name="BR-DEC-10" value="string-length(substring-after(ram:AllowanceTotalAmount,'.'))&lt;=2"/>
<param name="BR-DEC-11" value="string-length(substring-after(ram:ChargeTotalAmount,'.'))&lt;=2"/>
<param name="BR-DEC-12" value="string-length(substring-after(ram:TaxBasisTotalAmount,'.'))&lt;=2"/>
<param name="BR-DEC-13" value="not(ram:TaxTotalAmount) or ram:TaxTotalAmount[(@currencyID =/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode and . = round(. * 100) div 100) or not (@currencyID =/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode)]"/>
<param name="BR-DEC-14" value="string-length(substring-after(ram:GrandTotalAmount,'.'))&lt;=2"/>
<param name="BR-DEC-15" value="not(ram:TaxTotalAmount) or ram:TaxTotalAmount[(@currencyID =/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode and . = round(. * 100) div 100) or not (/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode)]"/>
<param name="BR-DEC-16" value="string-length(substring-after(ram:TotalPrepaidAmount,'.'))&lt;=2"/>
<param name="BR-DEC-17" value="string-length(substring-after(ram:RoundingAmount,'.'))&lt;=2"/>
<param name="BR-DEC-18" value="string-length(substring-after(ram:DuePayableAmount,'.'))&lt;=2"/>
<param name="BR-DEC-19" value="string-length(substring-after(ram:BasisAmount,'.'))&lt;=2"/>
<param name="BR-DEC-20" value="string-length(substring-after(ram:CalculatedAmount,'.'))&lt;=2"/>
<param name="BR-DEC-23" value="string-length(substring-after(ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount,'.'))&lt;=2"/>
<param name="BR-DEC-24" value="string-length(substring-after(../ram:ActualAmount,'.'))&lt;=2"/>
<param name="BR-DEC-25" value="string-length(substring-after(../ram:BasisAmount,'.'))&lt;=2"/>
<param name="BR-DEC-27" value="string-length(substring-after(../ram:ActualAmount,'.'))&lt;=2"/>
<param name="BR-DEC-28" value="string-length(substring-after(../ram:BasisAmount,'.'))&lt;=2"/>
<param name="BR-B-01" value="(not(//ram:CountryID != 'IT') and //ram:CategoryCode ='B') or (not(//ram:CategoryCode ='B'))"/>
<param name="BR-B-02" value="(//ram:CategoryCode ='B' and (not(//ram:CategoryCode ='S'))) or (not(//ram:CategoryCode ='B'))"/>
<param name="Invoice_Period " value="//ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod"/>
<param name="Payee " value="//ram:PayeeTradeParty"/>
<param name="Seller " value="//ram:SellerTradeParty"/>
<param name="Tax_Representative " value="//ram:SellerTaxRepresentativeTradeParty"/>
<param name="Invoice_Line " value="//ram:IncludedSupplyChainTradeLineItem"/>
<param name="Invoice_Line_Period " value="//ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod"/>
<param name="Document_level_allowances " value="//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='false']"/>
<param name="Document_level_charges " value="//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='true']"/>
<param name="Invoice_line_allowances " value="//ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator = 'false']"/>
<param name="Invoice_line_charges " value="//ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator = 'true']"/>
<param name="VAT_breakdown " value="//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax"/>
<param name="Payment_instructions " value="//ram:SpecifiedTradeSettlementPaymentMeans"/>
<param name="CreditTransfer_information " value="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayerPartyDebtorFinancialAccount"/>
<param name="Card_information " value="//ram:ApplicableTradeSettlementFinancialCard"/>
<param name="Additional_supporting_documents " value="//ram:AdditionalReferencedDocument"/>
<param name="Item_attributes " value="//ram:ApplicableProductCharacteristic"/>
<param name="VAT_identifiers " value="//ram:SpecifiedTaxRegistration/ram:ID[@schemeID='VA']"/>
<param name="Tax_Total " value="//ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode]"/>
<param name="Document_totals " value="//ram:SpecifiedTradeSettlementHeaderMonetarySummation"/>
<param name="SpecifiedTradeAllowanceCharge" value="//ram:SpecifiedTradeAllowanceCharge"/>
<param name="DesignatedProductClassification" value="//ram:DesignatedProductClassification"/>
<param name="VATS_Line " value="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'S'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATS " value="//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[.='S']"/>
<param name="VATS_Allowance " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:CategoryTradeTax[ram:CategoryCode = 'S'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATS_Charge " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:CategoryTradeTax[ram:CategoryCode = 'S'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAF_Line " value="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'L'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAF " value="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'L'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAF_Allowance " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:CategoryTradeTax[ram:CategoryCode = 'L'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAF_Charge " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:CategoryTradeTax[ram:CategoryCode = 'L'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAG_Line " value="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'M'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAG " value="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'M'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAG_Allowance " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:CategoryTradeTax[ram:CategoryCode = 'M'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAG_Charge " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:CategoryTradeTax[ram:CategoryCode = 'M'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATZ_Line " value="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'Z'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATZ_Allowance " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:CategoryTradeTax[ram:CategoryCode = 'Z'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATZ_Charge " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:CategoryTradeTax[ram:CategoryCode = 'Z'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATZ " value="//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'Z']"/>
<param name="VATE_Allowance " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:CategoryTradeTax[ram:CategoryCode = 'E'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATE_Charge " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:CategoryTradeTax[ram:CategoryCode = 'E'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATE_Line " value="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'E'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATE " value="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'E'][upper-case(../ram:TypeCode) = 'VAT']"/>
<param name="VATG_Allowance " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:CategoryTradeTax[ram:CategoryCode = 'G'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATG_Charge " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:CategoryTradeTax[ram:CategoryCode = 'G'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATG_Line " value="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'G'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATG " value="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'G'][upper-case(../ram:TypeCode) = 'VAT']"/>
<param name="VATAE_Allowance " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:CategoryTradeTax[ram:CategoryCode = 'AE'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAE_Charge " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:CategoryTradeTax[ram:CategoryCode = 'AE'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAE_Line " value="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'AE'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATAE " value="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'AE'][upper-case(../ram:TypeCode) = 'VAT']"/>
<param name="VATIC_Allowance " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:CategoryTradeTax[ram:CategoryCode = 'K'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATIC_Charge " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:CategoryTradeTax[ram:CategoryCode = 'K'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATIC_Line " value="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'K'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATIC " value="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[.= 'K'][upper-case(../ram:TypeCode) = 'VAT']"/>
<param name="VATO_Line " value="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'O'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATO " value="//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'O'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATO_Allowance " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:CategoryTradeTax[ram:CategoryCode = 'O'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="VATO_Charge " value="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:CategoryTradeTax[ram:CategoryCode = 'O'][upper-case(ram:TypeCode) = 'VAT']"/>
<param name="Invoice " value="/rsm:CrossIndustryInvoice"/>
<param name="Delivery_information " value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery"/>
<param name="Preceding_Invoice " value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceReferencedDocument"/>
</pattern>

View File

@ -0,0 +1,821 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Licensed under European Union Public Licence (EUPL) version 1.2.
-->
<!-- Data binding to CII syntax for TC434 -->
<pattern xmlns="http://purl.oclc.org/dsdl/schematron" is-a="EN16931-CII" id="EN16931-CII-Syntax">
<!-- Invoice -->
<param name="CII-SR-001" value="not(ram:SpecifiedTransactionID)"/>
<param name="CII-SR-002" value="not(ram:TestIndicator)"/>
<param name="CII-SR-003" value="(count(ram:BusinessProcessSpecifiedDocumentContextParameter) &lt;= 1)"/>
<param name="CII-SR-004" value="not(ram:Value)"/>
<param name="CII-SR-007" value="not(ram:ScenarioSpecifiedDocumentContextParameter)"/>
<param name="CII-SR-008" value="not(ram:ApplicationSpecifiedDocumentContextParameter)"/>
<param name="CII-SR-009" value="count(ram:GuidelineSpecifiedDocumentContextParameter) = 1"/>
<param name="CII-SR-010"
value="count(ram:GuidelineSpecifiedDocumentContextParameter/ram:ID) = 1"/>
<param name="CII-SR-011" value="not(ram:SubsetSpecifiedDocumentContextParameter)"/>
<param name="CII-SR-012" value="not(ram:MessageStandardSpecifiedDocumentContextParameter)"/>
<param name="CII-SR-013" value="not(ram:Name)"/>
<param name="CII-SR-014" value="count(ram:TypeCode) = 1"/>
<param name="CII-SR-015" value="not(ram:IssueDateTime/udt:DateTime)"/>
<param name="CII-SR-016" value="not(ram:CopyIndicator)"/>
<param name="CII-SR-017" value="not(ram:Purpose)"/>
<param name="CII-SR-018" value="not(ram:ControlRequirementIndicator)"/>
<param name="CII-SR-019" value="not(ram:LanguageID)"/>
<param name="CII-SR-020" value="not(ram:PurposeCode)"/>
<param name="CII-SR-021" value="not(ram:RevisionDateTime)"/>
<param name="CII-SR-022" value="not(ram:VersionID)"/>
<param name="CII-SR-023" value="not(ram:GlobalID)"/>
<param name="CII-SR-024" value="not(ram:RevisionID)"/>
<param name="CII-SR-025" value="not(ram:PreviousRevisionID)"/>
<param name="CII-SR-026" value="not(ram:CategoryCode)"/>
<param name="CII-SR-027" value="not(ram:IncludedNote/ram:Subject)"/>
<param name="CII-SR-028" value="not(ram:IncludedNote/ram:ContentCode)"/>
<param name="CII-SR-030" value="count(ram:Content) &lt;= 1"/>
<param name="CII-SR-032" value="not(ram:IncludedNote/ram:ID)"/>
<param name="CII-SR-033" value="not(ram:EffectiveSpecifiedPeriod)"/>
<param name="CII-SR-034" value="not(ram:IssuerTradeParty)"/>
<!-- Document context -->
<param name="CII-SR-005" value="not(ram:SpecifiedDocumentVersion)"/>
<param name="CII-SR-006" value="not(ram:BIMSpecifiedDocumentContextParameter)"/>
<!-- Invoice line -->
<param name="CII-SR-035" value="not(ram:DescriptionCode)"/>
<param name="CII-SR-036" value="not(ram:ParentLineID)"/>
<param name="CII-SR-037" value="not(ram:LineStatusCode)"/>
<param name="CII-SR-038" value="not(ram:LineStatusReasonCode)"/>
<param name="CII-SR-039" value="count(ram:IncludedNote) &lt;= 1"/>
<param name="CII-SR-040" value="count(ram:IncludedNote/ram:Content) &lt;= 1"/>
<param name="CII-SR-041" value="not(ram:IncludedNote/ram:SubjectCode)"/>
<param name="CII-SR-042" value="not(ram:IncludedNote/ram:ID)"/>
<param name="CII-SR-043" value="not(ram:IncludedNote/ram:Subject)"/>
<param name="CII-SR-044" value="not(ram:IncludedNote/ram:ContentCode)"/>
<param name="CII-SR-221" value="not(ram:IncludedSubordinateTradeLineItem)"/>
<!-- Product information -->
<param name="CII-SR-045" value="not(ram:ID)"/>
<param name="CII-SR-046" value="not(ram:GlobalID) or (ram:GlobalID/@schemeID)"/>
<param name="CII-SR-048" value="not(ram:ManufacturerAssignedID)"/>
<param name="CII-SR-049" value="not(ram:TradeName)"/>
<param name="CII-SR-050" value="not(ram:TypeCode)"/>
<param name="CII-SR-051" value="not(ram:NetWeightMeasure)"/>
<param name="CII-SR-052" value="not(ram:GrossWeightMeasure)"/>
<param name="CII-SR-053" value="not(ram:ProductGroupID)"/>
<param name="CII-SR-054" value="not(ram:EndItemTypeCode)"/>
<param name="CII-SR-055" value="not(ram:EndItemName)"/>
<param name="CII-SR-056" value="not(ram:AreaDensityMeasure)"/>
<param name="CII-SR-057" value="not(ram:UseDescription)"/>
<param name="CII-SR-058" value="not(ram:BrandName)"/>
<param name="CII-SR-059" value="not(ram:SubBrandName)"/>
<param name="CII-SR-060" value="not(ram:DrainedNetWeightMeasure)"/>
<param name="CII-SR-061" value="not(ram:VariableMeasureIndicator)"/>
<param name="CII-SR-062" value="not(ram:ColourCode)"/>
<param name="CII-SR-063" value="not(ram:ColourDescription)"/>
<param name="CII-SR-064" value="not(ram:Designation)"/>
<param name="CII-SR-065" value="not(ram:FormattedCancellationAnnouncedLaunchDateTime)"/>
<param name="CII-SR-066" value="not(ram:FormattedLatestProductDataChangeDateTime)"/>
<param name="CII-SR-067" value="not(ram:ApplicableProductCharacteristic/ram:ID)"/>
<param name="CII-SR-068" value="not(ram:ApplicableProductCharacteristic/ram:TypeCode)"/>
<param name="CII-SR-069" value="(count(ram:Description) =1)"/>
<param name="CII-SR-070" value="not(ram:ApplicableProductCharacteristic/ram:ValueMeasure)"/>
<param name="CII-SR-071"
value="not(ram:ApplicableProductCharacteristic/ram:MeasurementMethodCode)"/>
<param name="CII-SR-072" value="(count(ram:Value) =1)"/>
<param name="CII-SR-073" value="not(ram:ApplicableProductCharacteristic/ram:ValueCode)"/>
<param name="CII-SR-074" value="not(ram:ApplicableProductCharacteristic/ram:ValueDateTime)"/>
<param name="CII-SR-075" value="not(ram:ApplicableProductCharacteristic/ram:ValueIndicator)"/>
<param name="CII-SR-076" value="not(ram:ApplicableProductCharacteristic/ram:ContentTypeCode)"/>
<param name="CII-SR-077"
value="not(ram:ApplicableProductCharacteristic/ram:ValueSpecifiedBinaryFile)"/>
<param name="CII-SR-078"
value="not(ram:ApplicableProductCharacteristic/ram:ApplicableProductCharacteristicCondition)"/>
<param name="CII-SR-079"
value="not(ram:ApplicableProductCharacteristic/ram:ApplicableReferencedStandard)"/>
<param name="CII-SR-080" value="not(ram:ApplicableMaterialGoodsCharacteristic)"/>
<param name="CII-SR-081" value="not(ram:DesignatedProductClassification/ram:SystemID)"/>
<param name="CII-SR-082" value="not(ram:DesignatedProductClassification/ram:SystemName)"/>
<param name="CII-SR-083" value="not(ram:DesignatedProductClassification/ram:ClassName)"/>
<param name="CII-SR-084" value="not(ram:DesignatedProductClassification/ram:SubClassCode)"/>
<param name="CII-SR-085"
value="not(ram:DesignatedProductClassification/ram:ClassProductCharacteristic)"/>
<param name="CII-SR-086"
value="not(ram:DesignatedProductClassification/ram:ApplicableReferencedStandard)"/>
<param name="CII-SR-087" value="not(ram:IndividualTradeProductInstance)"/>
<param name="CII-SR-088" value="not(ram:CertificationEvidenceReferenceReferencedDocument)"/>
<param name="CII-SR-089" value="not(ram:InspectionReferenceReferencedDocument)"/>
<param name="CII-SR-090"
value="not (ram:OriginTradeCountry) or (count(ram:OriginTradeCountry/ram:ID) =1)"/>
<param name="CII-SR-091" value="not(ram:OriginTradeCountry/ram:Name)"/>
<param name="CII-SR-092"
value="not(ram:OriginTradeCountry/ram:SubordinateTradeCountrySubDivision)"/>
<param name="CII-SR-093" value="not(ram:LinearSpatialDimension)"/>
<param name="CII-SR-094" value="not(ram:MinimumLinearSpatialDimension)"/>
<param name="CII-SR-095" value="not(ram:MaximumLinearSpatialDimension)"/>
<param name="CII-SR-096" value="not(ram:ManufacturerTradeParty)"/>
<param name="CII-SR-097" value="not(ram:PresentationSpecifiedBinaryFile)"/>
<param name="CII-SR-098" value="not(ram:MSDSReferenceReferencedDocument)"/>
<param name="CII-SR-099" value="not(ram:AdditionalReferenceReferencedDocument)"/>
<param name="CII-SR-100" value="not(ram:LegalRightsOwnerTradeParty)"/>
<param name="CII-SR-101" value="not(ram:BrandOwnerTradeParty)"/>
<param name="CII-SR-102" value="not(ram:IncludedReferencedProduct)"/>
<param name="CII-SR-103" value="not(ram:InformationNote)"/>
<!-- SpecifiedLineTradeAgreement -->
<param name="CII-SR-104" value="not(ram:BuyerReference)"/>
<param name="CII-SR-105" value="not(ram:BuyerRequisitionerTradeParty)"/>
<param name="CII-SR-106" value="not(ram:ApplicableTradeDeliveryTerms)"/>
<param name="CII-SR-107" value="not(ram:SellerOrderReferencedDocument)"/>
<param name="CII-SR-108" value="not(ram:BuyerOrderReferencedDocument/ram:IssuerAssignedID)"/>
<param name="CII-SR-109" value="not(ram:QuotationReferencedDocument)"/>
<param name="CII-SR-110" value="not(ram:ContractReferencedDocument)"/>
<param name="CII-SR-111" value="not(ram:DemandForecastReferencedDocument)"/>
<param name="CII-SR-112" value="not(ram:PromotionalDealReferencedDocument)"/>
<param name="CII-SR-113" value="not(ram:AdditionalReferencedDocument)"/>
<param name="CII-SR-114" value="not(ram:GrossPriceProductTradePrice/ram:TypeCode)"/>
<param name="CII-SR-115" value="not(ram:GrossPriceProductTradePrice/ram:MinimumQuantity)"/>
<param name="CII-SR-116" value="not(ram:GrossPriceProductTradePrice/ram:MaximumQuantity)"/>
<param name="CII-SR-117" value="not(ram:GrossPriceProductTradePrice/ram:ChangeReason)"/>
<param name="CII-SR-118"
value="not(ram:GrossPriceProductTradePrice/ram:OrderUnitConversionFactorNumeric)"/>
<param name="CII-SR-439" value="count(ram:NetPriceProductTradePrice/ram:ChargeAmount) = 1"/>
<param name="CII-SR-119"
value="(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator=false()] and ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:ActualAmount) or (not (ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:ChargeIndicator) and not (ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:ActualAmount))"/>
<param name="CII-SR-120"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:ID)"/>
<param name="CII-SR-121"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:SequenceNumeric)"/>
<param name="CII-SR-122"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:CalculationPercent)"/>
<param name="CII-SR-123"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:BasisAmount)"/>
<param name="CII-SR-124"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:BasisQuantity)"/>
<param name="CII-SR-125"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:PrepaidIndicator)"/>
<param name="CII-SR-126"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:UnitBasisAmount)"/>
<param name="CII-SR-127"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:ReasonCode)"/>
<param name="CII-SR-128"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:Reason)"/>
<param name="CII-SR-129"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:TypeCode)"/>
<param name="CII-SR-130"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:CategoryTradeTax)"/>
<param name="CII-SR-131"
value="not(ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:ActualTradeCurrencyExchange)"/>
<param name="CII-SR-445" value="not(ram:GrossPriceProductTradePrice/ram:IncludedTradeTax)"/>
<param name="CII-SR-132"
value="not(ram:GrossPriceProductTradePrice/ram:ValiditySpecifiedPeriod)"/>
<param name="CII-SR-133" value="not(ram:GrossPriceProductTradePrice/ram:DeliveryTradeLocation)"/>
<param name="CII-SR-134"
value="not(ram:GrossPriceProductTradePrice/ram:TradeComparisonReferencePrice)"/>
<param name="CII-SR-135"
value="not(ram:GrossPriceProductTradePrice/ram:AssociatedReferencedDocument)"/>
<param name="CII-SR-136" value="not(ram:NetPriceProductTradePrice/ram:TypeCode)"/>
<param name="CII-SR-138" value="not(ram:NetPriceProductTradePrice/ram:MinimumQuantity)"/>
<param name="CII-SR-139" value="not(ram:NetPriceProductTradePrice/ram:MaximumQuantity)"/>
<param name="CII-SR-140" value="not(ram:NetPriceProductTradePrice/ram:ChangeReason)"/>
<param name="CII-SR-141"
value="not(ram:NetPriceProductTradePrice/ram:OrderUnitConversionFactorNumeric)"/>
<param name="CII-SR-142"
value="not(ram:NetPriceProductTradePrice/ram:AppliedTradeAllowanceCharge)"/>
<param name="CII-SR-446" value="not(ram:NetPriceProductTradePrice/ram:IncludedTradeTax)"/>
<param name="CII-SR-143" value="not(ram:NetPriceProductTradePrice/ram:ValiditySpecifiedPeriod)"/>
<param name="CII-SR-144" value="not(ram:NetPriceProductTradePrice/ram:DeliveryTradeLocation)"/>
<param name="CII-SR-145"
value="not(ram:NetPriceProductTradePrice/ram:TradeComparisonReferencePrice)"/>
<param name="CII-SR-146"
value="not(ram:NetPriceProductTradePrice/ram:AssociatedReferencedDocument)"/>
<param name="CII-SR-441" value="count(ram:NetPriceProductTradePrice/ram:ChargeAmount) &lt;= 1"/>
<param name="CII-SR-147" value="not(ram:RequisitionerReferencedDocument)"/>
<param name="CII-SR-148" value="not(ram:ItemSellerTradeParty)"/>
<param name="CII-SR-149" value="not(ram:ItemBuyerTradeParty)"/>
<param name="CII-SR-150" value="not(ram:IncludedSpecifiedMarketplace)"/>
<param name="CII-SR-447" value="not(ram:UltimateCustomerOrderReferencedDocument)"/>
<!-- AppliedTradeAllowanceCharge -->
<param name="CII-SR-440"
value="count(ram:ActualAmount) &lt;= 1"/>
<!-- SpecifiedLineTradeDelivery -->
<param name="CII-SR-151" value="not(ram:RequestedQuantity)"/>
<param name="CII-SR-152" value="not(ram:ReceivedQuantity)"/>
<param name="CII-SR-153" value="not(ram:ChargeFreeQuantity)"/>
<param name="CII-SR-154" value="not(ram:PackageQuantity)"/>
<param name="CII-SR-155" value="not(ram:ProductUnitQuantity)"/>
<param name="CII-SR-156" value="not(ram:PerPackageUnitQuantity)"/>
<param name="CII-SR-157" value="not(ram:NetWeightMeasure)"/>
<param name="CII-SR-158" value="not(ram:GrossWeightMeasure)"/>
<param name="CII-SR-159" value="not(ram:TheoreticalWeightMeasure)"/>
<param name="CII-SR-160" value="not(ram:DespatchedQuantity)"/>
<param name="CII-SR-161" value="not(ram:SpecifiedDeliveryAdjustment)"/>
<param name="CII-SR-162" value="not(ram:IncludedSupplyChainPackaging)"/>
<param name="CII-SR-163" value="not(ram:RelatedSupplyChainConsignment)"/>
<param name="CII-SR-164" value="not(ram:ShipToTradeParty)"/>
<param name="CII-SR-165" value="not(ram:UltimateShipToTradeParty)"/>
<param name="CII-SR-166" value="not(ram:ShipFromTradeParty)"/>
<param name="CII-SR-167" value="not(ram:ActualDespatchSupplyChainEvent)"/>
<param name="CII-SR-168" value="not(ram:ActualPickUpSupplyChainEvent)"/>
<param name="CII-SR-169" value="not(ram:RequestedDeliverySupplyChainEvent)"/>
<param name="CII-SR-170" value="not(ram:ActualDeliverySupplyChainEvent)"/>
<param name="CII-SR-171" value="not(ram:ActualReceiptSupplyChainEvent)"/>
<param name="CII-SR-172" value="not(ram:AdditionalReferencedDocument)"/>
<param name="CII-SR-173" value="not(ram:DespatchAdviceReferencedDocument)"/>
<param name="CII-SR-174" value="not(ram:ReceivingAdviceReferencedDocument)"/>
<param name="CII-SR-175" value="not(ram:DeliveryNoteReferencedDocument)"/>
<param name="CII-SR-176" value="not(ram:ConsumptionReportReferencedDocument)"/>
<param name="CII-SR-177" value="not(ram:PackingListReferencedDocument)"/>
<!-- SpecifiedLineTradeSettlement -->
<param name="CII-SR-178" value="not(ram:PaymentReference)"/>
<param name="CII-SR-179" value="not(ram:InvoiceIssuerReference)"/>
<param name="CII-SR-180" value="not(ram:TotalAdjustmentAmount)"/>
<param name="CII-SR-181" value="not(ram:DiscountIndicator)"/>
<param name="CII-SR-182" value="not(ram:ApplicableTradeTax/ram:CalculatedAmount)"/>
<param name="CII-SR-183"
value="not(ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator/udt:IndicatorString)"/>
<param name="CII-SR-184" value="not(ram:SpecifiedTradeAllowanceCharge/ram:ID)"/>
<param name="CII-SR-185" value="not(ram:SpecifiedTradeAllowanceCharge/ram:SequenceNumeric)"/>
<param name="CII-SR-186"
value="not(ram:SpecifiedTradeAllowanceCharge/ram:CalculationPercent/@format)"/>
<param name="CII-SR-187" value="not(ram:SpecifiedTradeAllowanceCharge/ram:BasisQuantity)"/>
<param name="CII-SR-188" value="not(ram:SpecifiedTradeAllowanceCharge/ram:PrepaidIndicator)"/>
<param name="CII-SR-189" value="not(ram:SpecifiedTradeAllowanceCharge/ram:UnitBasisAmount)"/>
<param name="CII-SR-190" value="not(ram:SpecifiedTradeAllowanceCharge/ram:TypeCode)"/>
<param name="CII-SR-191" value="not(ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax)"/>
<param name="CII-SR-192"
value="not(ram:SpecifiedTradeAllowanceCharge/ram:ActualTradeCurrencyExchange)"/>
<param name="CII-SR-193" value="not(ram:SpecifiedTradeAllowanceCharge/ram:ID)"/>
<param name="CII-SR-194" value="not(ram:SubtotalCalculatedTradeTax)"/>
<param name="CII-SR-195" value="not(ram:SpecifiedLogisticsServiceCharge)"/>
<param name="CII-SR-196" value="not(ram:SpecifiedTradePaymentTerms)"/>
<param name="CII-SR-197"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:ChargeTotalAmount)"/>
<param name="CII-SR-198"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:AllowanceTotalAmount)"/>
<param name="CII-SR-199"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:TaxBasisTotalAmount)"/>
<param name="CII-SR-200"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:TaxTotalAmount)"/>
<param name="CII-SR-201"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:GrandTotalAmount)"/>
<param name="CII-SR-202"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:InformationAmount)"/>
<param name="CII-SR-203"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:TotalAllowanceChargeAmount)"/>
<param name="CII-SR-204"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:TotalRetailValueInformationAmount)"/>
<param name="CII-SR-205"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:GrossLineTotalAmount)"/>
<param name="CII-SR-206"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:NetLineTotalAmount)"/>
<param name="CII-SR-207"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:NetIncludingTaxesLineTotalAmount)"/>
<param name="CII-SR-208"
value="not(ram:SpecifiedTradeSettlementLineMonetarySummation/ram:ProductWeightLossInformationAmount)"/>
<param name="CII-SR-209" value="not(ram:SpecifiedFinancialAdjustment)"/>
<param name="CII-SR-210" value="not(ram:InvoiceReferencedDocument)"/>
<param name="CII-SR-212" value="not(ram:PayableSpecifiedTradeAccountingAccount)"/>
<param name="CII-SR-213"
value="not(ram:ReceivableSpecifiedTradeAccountingAccount/ram:SetTriggerCode)"/>
<param name="CII-SR-214" value="not(ram:ReceivableSpecifiedTradeAccountingAccount/ram:TypeCode)"/>
<param name="CII-SR-215"
value="not(ram:ReceivableSpecifiedTradeAccountingAccount/ram:AmountTypeCode)"/>
<param name="CII-SR-216" value="not(ram:ReceivableSpecifiedTradeAccountingAccount/ram:Name)"/>
<param name="CII-SR-217"
value="not(ram:ReceivableSpecifiedTradeAccountingAccount/ram:CostReferenceDimensionPattern)"/>
<param name="CII-SR-218" value="not(ram:PurchaseSpecifiedTradeAccountingAccount)"/>
<param name="CII-SR-219" value="not(ram:SalesSpecifiedTradeAccountingAccount)"/>
<param name="CII-SR-220" value="not(ram:SpecifiedTradeSettlementFinancialCard)"/>
<param name="CII-SR-454" value="count(ram:ApplicableTradeTax) = 1"/>
<!-- ApplicableHeaderTradeAgreement -->
<param name="CII-SR-442" value="not(ram:Reference)"/>
<param name="CII-SR-222" value="not(ram:SellerTradeParty/ram:RoleCode)"/>
<param name="CII-SR-223"
value="not(ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:LegalClassificationCode)"/>
<param name="CII-SR-224"
value="not(ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:Name)"/>
<param name="CII-SR-225"
value="not(ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress)"/>
<param name="CII-SR-226"
value="not(ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:AuthorizedLegalRegistration)"/>
<param name="CII-SR-227" value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:ID)"/>
<param name="CII-SR-228" value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:TypeCode)"/>
<param name="CII-SR-229" value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:JobTitle)"/>
<param name="CII-SR-230"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:Responsibility)"/>
<param name="CII-SR-231" value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:PersonID)"/>
<param name="CII-SR-232"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:TelephoneUniversalCommunication/ram:URIID)"/>
<param name="CII-SR-233"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:TelephoneUniversalCommunication/ram:ChannelCode)"/>
<param name="CII-SR-234"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:DirectTelephoneUniversalCommunication)"/>
<param name="CII-SR-235"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:MobileTelephoneUniversalCommunication)"/>
<param name="CII-SR-236"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:FaxUniversalCommunication)"/>
<param name="CII-SR-237"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:EmailURIUniversalCommunication/ram:ChannelCode)"/>
<param name="CII-SR-238"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:EmailURIUniversalCommunication/ram:CompleteNumber)"/>
<param name="CII-SR-239"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:TelexUniversalCommunication)"/>
<param name="CII-SR-240"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:VOIPUniversalCommunication)"/>
<param name="CII-SR-241"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:InstantMessagingUniversalCommunication)"/>
<param name="CII-SR-242"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:SpecifiedNote)"/>
<param name="CII-SR-243"
value="not(ram:SellerTradeParty/ram:DefinedTradeContact/ram:SpecifiedContactPerson)"/>
<param name="CII-SR-244"
value="not(ram:SellerTradeParty/ram:URIUniversalCommunication/ram:ChannelCode)"/>
<param name="CII-SR-245"
value="not(ram:SellerTradeParty/ram:URIUniversalCommunication/ram:CompleteNumber)"/>
<param name="CII-SR-246"
value="not(ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:AssociatedRegisteredTax)"/>
<param name="CII-SR-247" value="not(ram:SellerTradeParty/ram:EndPointURIUniversalCommunication)"/>
<param name="CII-SR-248" value="not(ram:SellerTradeParty/ram:LogoAssociatedSpecifiedBinaryFile)"/>
<param name="CII-SR-249" value="not(ram:BuyerTradeParty/ram:RoleCode)"/>
<param name="CII-SR-250" value="not(ram:BuyerTradeParty/ram:Description)"/>
<param name="CII-SR-251"
value="not(ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:LegalClassificationCode)"/>
<param name="CII-SR-252"
value="not(ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:Name)"/>
<param name="CII-SR-254"
value="not(ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress)"/>
<param name="CII-SR-255"
value="not(ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:AuthorizedLegalRegistration)"/>
<param name="CII-SR-256" value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:ID)"/>
<param name="CII-SR-257" value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:TypeCode)"/>
<param name="CII-SR-258" value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:JobTitle)"/>
<param name="CII-SR-259"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:Responsibility)"/>
<param name="CII-SR-260" value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:PersonID)"/>
<param name="CII-SR-261"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:TelephoneUniversalCommunication/ram:URIID)"/>
<param name="CII-SR-262"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:TelephoneUniversalCommunication/ram:ChannelCode)"/>
<param name="CII-SR-263"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:DirectTelephoneUniversalCommunication)"/>
<param name="CII-SR-264"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:MobileTelephoneUniversalCommunication)"/>
<param name="CII-SR-265"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:FaxUniversalCommunication)"/>
<param name="CII-SR-266"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:EmailURIUniversalCommunication/ram:ChannelCode)"/>
<param name="CII-SR-267"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:EmailURIUniversalCommunication/ram:CompleteNumber)"/>
<param name="CII-SR-268"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:TelexUniversalCommunication)"/>
<param name="CII-SR-269"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:VOIPUniversalCommunication)"/>
<param name="CII-SR-270"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:InstantMessagingUniversalCommunication)"/>
<param name="CII-SR-271"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:SpecifiedNote)"/>
<param name="CII-SR-272"
value="not(ram:BuyerTradeParty/ram:DefinedTradeContact/ram:SpecifiedContactPerson)"/>
<param name="CII-SR-273"
value="not(ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:ChannelCode)"/>
<param name="CII-SR-274"
value="not(ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:CompleteNumber)"/>
<param name="CII-SR-275"
value="not(ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:AssociatedRegisteredTax)"/>
<param name="CII-SR-276" value="not(ram:BuyerTradeParty/ram:EndPointURIUniversalCommunication)"/>
<param name="CII-SR-277" value="not(ram:BuyerTradeParty/ram:LogoAssociatedSpecifiedBinaryFile)"/>
<param name="CII-SR-278" value="not(ram:SalesAgentTradeParty)"/>
<param name="CII-SR-279" value="not(ram:BuyerRequisitionerTradeParty)"/>
<param name="CII-SR-280" value="not(ram:BuyerAssignedAccountantTradeParty)"/>
<param name="CII-SR-281" value="not(ram:SellerAssignedAccountantTradeParty)"/>
<param name="CII-SR-282" value="not(ram:BuyerTaxRepresentativeTradeParty)"/>
<param name="CII-SR-282" value="not(ram:SellerTaxRepresentativeTradeParty/ram:ID)"/>
<param name="CII-SR-283" value="not(ram:SellerTaxRepresentativeTradeParty/ram:GlobalID)"/>
<param name="CII-SR-284" value="not(ram:SellerTaxRepresentativeTradeParty/ram:RoleCode)"/>
<param name="CII-SR-285" value="not(ram:SellerTaxRepresentativeTradeParty/ram:Description)"/>
<param name="CII-SR-286"
value="not(ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedLegalOrganization)"/>
<param name="CII-SR-287"
value="not(ram:SellerTaxRepresentativeTradeParty/ram:DefinedTradeContact)"/>
<param name="CII-SR-288"
value="not(ram:SellerTaxRepresentativeTradeParty/ram:URIUniversalCommunication)"/>
<param name="CII-SR-289"
value="not(ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:AssociatedRegisteredTax)"/>
<param name="CII-SR-290"
value="not(ram:SellerTaxRepresentativeTradeParty/ram:EndPointURIUniversalCommunication)"/>
<param name="CII-SR-291"
value="not(ram:SellerTaxRepresentativeTradeParty/ram:LogoAssociatedSpecifiedBinaryFile)"/>
<param name="CII-SR-292" value="not(ram:ProductEndUserTradeParty)"/>
<param name="CII-SR-293" value="not(ram:ApplicableTradeDeliveryTerms)"/>
<param name="CII-SR-294" value="not(ram:SellerOrderReferencedDocument/ram:LineID)"/>
<param name="CII-SR-295" value="not(ram:BuyerOrderReferencedDocument/ram:LineID)"/>
<param name="CII-SR-296" value="not(ram:QuotationReferencedDocument)"/>
<param name="CII-SR-297" value="not(ram:OrderResponseReferencedDocument)"/>
<param name="CII-SR-298" value="not(ram:ContractReferencedDocument/ram:LineID)"/>
<param name="CII-SR-299" value="not(ram:DemandForecastReferencedDocument)"/>
<param name="CII-SR-300" value="not(ram:SupplyInstructionReferencedDocument)"/>
<param name="CII-SR-301" value="not(ram:PromotionalDealReferencedDocument)"/>
<param name="CII-SR-302" value="not(ram:PriceListReferencedDocument)"/>
<param name="CII-SR-303" value="not(ram:AdditionalReferencedDocument/ram:LineID)"/>
<param name="CII-SR-304" value="not(ram:RequisitionerReferencedDocument)"/>
<param name="CII-SR-305" value="not(ram:BuyerAgentTradeParty)"/>
<param name="CII-SR-306" value="not(ram:PurchaseConditionsReferencedDocument)"/>
<param name="CII-SR-307" value="not(ram:SpecifiedProcuringProject/ram:Description)"/>
<param name="CII-SR-448" value="not(ram:UltimateCustomerOrderReferencedDocument)"/>
<param name="CII-SR-450" value="(not(ram:BuyerTradeParty/ram:ID) and ram:BuyerTradeParty/ram:GlobalID) or (ram:BuyerTradeParty/ram:ID and not(ram:BuyerTradeParty/ram:GlobalID)) or (not(ram:BuyerTradeParty/ram:ID) and not(ram:BuyerTradeParty/ram:GlobalID))"/>
<param name="CII-SR-455" value="( count(ram:SellerTradeParty/ram:DefinedTradeContact) &lt;= 1)"/>
<param name="CII-SR-456" value="( count(ram:BuyerTradeParty/ram:DefinedTradeContact) &lt;= 1)"/>
<param name="CII-SR-457" value="( count(ram:AdditionalReferencedDocument[ram:TypeCode='50']) &lt;= 1)"/>
<param name="CII-SR-458" value="( count(ram:AdditionalReferencedDocument[ram:TypeCode='130']) &lt;= 1)"/>
<!-- ApplicableHeaderTradeDelivery -->
<param name="CII-SR-308" value="not(ram:RelatedSupplyChainConsignment)"/>
<param name="CII-SR-309" value="not(ram:ShipToTradeParty/ram:RoleCode)"/>
<param name="CII-SR-310" value="not(ram:ShipToTradeParty/ram:Description)"/>
<param name="CII-SR-311" value="not(ram:ShipToTradeParty/ram:SpecifiedLegalOrganization)"/>
<param name="CII-SR-312" value="not(ram:ShipToTradeParty/ram:DefinedTradeContact)"/>
<param name="CII-SR-313" value="not(ram:ShipToTradeParty/ram:URIUniversalCommunication)"/>
<param name="CII-SR-314" value="not(ram:ShipToTradeParty/ram:SpecifiedTaxRegistration)"/>
<param name="CII-SR-315" value="not(ram:ShipToTradeParty/ram:EndPointURIUniversalCommunication)"/>
<param name="CII-SR-316" value="not(ram:ShipToTradeParty/ram:LogoAssociatedSpecifiedBinaryFile)"/>
<param name="CII-SR-317" value="not(ram:UltimateShipToTradeParty)"/>
<param name="CII-SR-318" value="not(ram:ShipFromTradeParty)"/>
<param name="CII-SR-319" value="not(ram:ActualDespatchSupplyChainEvent)"/>
<param name="CII-SR-320" value="not(ram:ActualPickUpSupplyChainEvent)"/>
<param name="CII-SR-321" value="not(ram:ActualDeliverySupplyChainEvent/ram:ID)"/>
<param name="CII-SR-322"
value="not(ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTime)"/>
<param name="CII-SR-323" value="not(ram:ActualDeliverySupplyChainEvent/ram:TypeCode)"/>
<param name="CII-SR-324" value="not(ram:ActualDeliverySupplyChainEvent/ram:Description)"/>
<param name="CII-SR-325"
value="not(ram:ActualDeliverySupplyChainEvent/ram:DescriptionBinaryObject)"/>
<param name="CII-SR-326" value="not(ram:ActualDeliverySupplyChainEvent/ram:UnitQuantity)"/>
<param name="CII-SR-327"
value="not(ram:ActualDeliverySupplyChainEvent/ram:LatestOccurrenceDateTime)"/>
<param name="CII-SR-328"
value="not(ram:ActualDeliverySupplyChainEvent/ram:EarliestOccurrenceDateTime)"/>
<param name="CII-SR-329"
value="not(ram:ActualDeliverySupplyChainEvent/ram:OccurrenceSpecifiedPeriod)"/>
<param name="CII-SR-330"
value="not(ram:ActualDeliverySupplyChainEvent/ram:OccurrenceLogisticsLocation)"/>
<param name="CII-SR-331" value="not(ram:ActualReceiptSupplyChainEvent)"/>
<param name="CII-SR-332" value="not(ram:AdditionalReferencedDocument)"/>
<param name="CII-SR-333" value="not(ram:DespatchAdviceReferencedDocument/ram:LineID)"/>
<param name="CII-SR-334" value="not(ram:DespatchAdviceReferencedDocument/ram:LineID)"/>
<param name="CII-SR-335" value="not(ram:DeliveryNoteReferencedDocument)"/>
<param name="CII-SR-336" value="not(ram:ConsumptionReportReferencedDocument)"/>
<param name="CII-SR-337" value="not(ram:PreviousDeliverySupplyChainEvent)"/>
<param name="CII-SR-338" value="not(ram:PackingListReferencedDocument)"/>
<param name="CII-SR-449"
value="(not(ram:ShipToTradeParty/ram:ID) and ram:ShipToTradeParty/ram:GlobalID) or (ram:ShipToTradeParty/ram:ID and not(ram:ShipToTradeParty/ram:GlobalID)) or (not(ram:ShipToTradeParty/ram:ID) and not(ram:ShipToTradeParty/ram:GlobalID))"/>
<!-- ApplicableHeaderTradeSettlement -->
<param name="CII-SR-339" value="not(ram:DuePayableAmount)"/>
<param name="CII-SR-340" value="not(ram:CreditorReferenceTypeCode)"/>
<param name="CII-SR-341" value="not(ram:CreditorReferenceType)"/>
<param name="CII-SR-342" value="not(ram:CreditorReferenceIssuerID)"/>
<param name="CII-SR-344" value="not(ram:PaymentCurrencyCode)"/>
<param name="CII-SR-345" value="not(ram:InvoiceIssuerReference)"/>
<param name="CII-SR-346" value="not(ram:InvoiceDateTime)"/>
<param name="CII-SR-347" value="not(ram:NextInvoiceDateTime)"/>
<param name="CII-SR-348" value="not(ram:CreditReasonCode)"/>
<param name="CII-SR-349" value="not(ram:CreditReason)"/>
<param name="CII-SR-350" value="not(ram:InvoicerTradeParty)"/>
<param name="CII-SR-351" value="not(ram:InvoiceeTradeParty)"/>
<param name="CII-SR-352" value="not(ram:PayeeTradeParty/ram:RoleCode)"/>
<param name="CII-SR-353" value="not(ram:PayeeTradeParty/ram:Description)"/>
<param name="CII-SR-354"
value="not(ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:LegalClassificationCode)"/>
<param name="CII-SR-355"
value="not(ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:Name)"/>
<param name="CII-SR-356"
value="not(ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName)"/>
<param name="CII-SR-357"
value="not(ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress)"/>
<param name="CII-SR-358"
value="not(ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:AuthorizedLegalRegistration)"/>
<param name="CII-SR-359" value="not(ram:PayeeTradeParty/ram:DefinedTradeContact)"/>
<param name="CII-SR-360" value="not(ram:PayeeTradeParty/ram:PostalTradeAddress)"/>
<param name="CII-SR-361" value="not(ram:PayeeTradeParty/ram:URIUniversalCommunication)"/>
<param name="CII-SR-362" value="not(ram:PayeeTradeParty/ram:SpecifiedTaxRegistration)"/>
<param name="CII-SR-363" value="not(ram:PayeeTradeParty/ram:EndPointURIUniversalCommunication)"/>
<param name="CII-SR-364" value="not(ram:PayeeTradeParty/ram:LogoAssociatedSpecifiedBinaryFile)"/>
<param name="CII-SR-451"
value="(not(ram:PayeeTradeParty/ram:ID) and ram:PayeeTradeParty/ram:GlobalID) or (ram:PayeeTradeParty/ram:ID and not(ram:PayeeTradeParty/ram:GlobalID)) or (not(ram:PayeeTradeParty/ram:ID) and not(ram:PayeeTradeParty/ram:GlobalID))"/>
<param name="CII-SR-365" value="not(ram:PayerTradeParty)"/>
<param name="CII-SR-366" value="not(ram:TaxApplicableTradeCurrencyExchange)"/>
<param name="CII-SR-367" value="not(ram:InvoiceApplicableTradeCurrencyExchange)"/>
<param name="CII-SR-368" value="not(ram:PaymentApplicableTradeCurrencyExchange)"/>
<param name="CII-SR-369"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:PaymentChannelCode)"/>
<param name="CII-SR-370"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:GuaranteeMethodCode)"/>
<param name="CII-SR-371"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:PaymentMethodCode)"/>
<param name="CII-SR-443" value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:ID)"/>
<param name="CII-SR-372"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:MicrochipIndicator)"/>
<param name="CII-SR-373"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:TypeCode)"/>
<param name="CII-SR-375"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:ExpiryDate)"/>
<param name="CII-SR-376"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:VerificationNumeric)"/>
<param name="CII-SR-377"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:ValidFromDateTime)"/>
<param name="CII-SR-378"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:CreditLimitAmount)"/>
<param name="CII-SR-379"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:CreditAvailableAmount)"/>
<param name="CII-SR-380"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:InterestRatePercent)"/>
<param name="CII-SR-381"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:Description)"/>
<param name="CII-SR-382"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerPartyDebtorFinancialAccount/ram:AccountName)"/>
<param name="CII-SR-444"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerPartyDebtorFinancialAccount/ram:ProprietaryID)"/>
<param name="CII-SR-384"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerSpecifiedDebtorFinancialInstitution/ram:ClearingSystemName)"/>
<param name="CII-SR-385"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerSpecifiedDebtorFinancialInstitution/ram:Name)"/>
<param name="CII-SR-386"
value="not(ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerSpecifiedDebtorFinancialInstitution/ram:LocationFinancialInstitutionAddress)"/>
<param name="CII-SR-388" value="not(ram:SpecifiedTradeAllowanceCharge/ram:ID)"/>
<param name="CII-SR-389" value="not(ram:SpecifiedTradeAllowanceCharge/ram:SequenceNumeric)"/>
<param name="CII-SR-390" value="not(ram:SpecifiedTradeAllowanceCharge/ram:BasisQuantity)"/>
<param name="CII-SR-391" value="not(ram:SpecifiedTradeAllowanceCharge/ram:PrepaidIndicator)"/>
<param name="CII-SR-392" value="not(ram:SpecifiedTradeAllowanceCharge/ram:UnitBasisAmount)"/>
<param name="CII-SR-393" value="not(ram:SpecifiedTradeAllowanceCharge/ram:TypeCode)"/>
<param name="CII-SR-394"
value="not(ram:SpecifiedTradeAllowanceCharge/ram:ActualTradeCurrencyExchange)"/>
<param name="CII-SR-395" value="not(ram:SubtotalCalculatedTradeTax)"/>
<param name="CII-SR-396" value="not(ram:SpecifiedLogisticsServiceCharge)"/>
<param name="CII-SR-397" value="not(ram:SpecifiedTradePaymentTerms/ram:ID)"/>
<param name="CII-SR-398" value="not(ram:SpecifiedTradePaymentTerms/ram:FromEventCode)"/>
<param name="CII-SR-399" value="not(ram:SpecifiedTradePaymentTerms/ram:SettlementPeriodMeasure)"/>
<param name="CII-SR-400"
value="not(ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime/udt:DateTime)"/>
<param name="CII-SR-401" value="not(ram:SpecifiedTradePaymentTerms/ram:TypeCode)"/>
<param name="CII-SR-402" value="not(ram:SpecifiedTradePaymentTerms/ram:InstructionTypeCode)"/>
<param name="CII-SR-404" value="not(ram:SpecifiedTradePaymentTerms/ram:PartialPaymentPercent)"/>
<param name="CII-SR-405" value="not(ram:SpecifiedTradePaymentTerms/ram:PaymentMeansID)"/>
<param name="CII-SR-406" value="not(ram:SpecifiedTradePaymentTerms/ram:PartialPaymentAmount)"/>
<param name="CII-SR-407"
value="not(ram:SpecifiedTradePaymentTerms/ram:ApplicableTradePaymentPenaltyTerms)"/>
<param name="CII-SR-408"
value="not(ram:SpecifiedTradePaymentTerms/ram:ApplicableTradePaymentDiscountTerms)"/>
<param name="CII-SR-409" value="not(ram:SpecifiedTradePaymentTerms/ram:PayeeTradeParty)"/>
<param name="CII-SR-421" value="not(ram:SpecifiedFinancialAdjustment)"/>
<param name="CII-SR-422" value="not(ram:InvoiceReferencedDocument/ram:LineID)"/>
<param name="CII-SR-423" value="not(ram:ProFormaInvoiceReferencedDocument)"/>
<param name="CII-SR-424" value="not(ram:LetterOfCreditReferencedDocument)"/>
<param name="CII-SR-425" value="not(ram:FactoringAgreementReferencedDocument)"/>
<param name="CII-SR-426" value="not(ram:FactoringListReferencedDocument)"/>
<param name="CII-SR-427" value="not(ram:PayableSpecifiedTradeAccountingAccount)"/>
<param name="CII-SR-428"
value="not(ram:ReceivableSpecifiedTradeAccountingAccount/ram:SetTriggerCode)"/>
<param name="CII-SR-429" value="not(ram:ReceivableSpecifiedTradeAccountingAccount/ram:TypeCode)"/>
<param name="CII-SR-430"
value="not(ram:ReceivableSpecifiedTradeAccountingAccount/ram:AmountTypeCode)"/>
<param name="CII-SR-431" value="not(ram:ReceivableSpecifiedTradeAccountingAccount/ram:Name)"/>
<param name="CII-SR-432"
value="not(ram:ReceivableSpecifiedTradeAccountingAccount/ram:CostReferenceDimensionPattern)"/>
<param name="CII-SR-433" value="not(ram:PurchaseSpecifiedTradeAccountingAccount)"/>
<param name="CII-SR-434" value="not(ram:SalesSpecifiedTradeAccountingAccount)"/>
<param name="CII-SR-435" value="not(ram:SpecifiedTradeSettlementFinancialCard)"/>
<param name="CII-SR-436" value="not(ram:SpecifiedAdvancePayment)"/>
<param name="CII-SR-437" value="not(ram:UltimatePayeeTradeParty)"/>
<param name="CII-SR-452" value="count(ram:SpecifiedTradePaymentTerms) &lt;= 1"/>
<param name="CII-SR-453" value="count(ram:SpecifiedTradePaymentTerms/ram:Description) &lt;= 1"/>
<param name="CII-SR-459" value="count(ram:SellerTradeParty/ram:URIUniversalCommunication) &lt;= 1"/>
<param name="CII-SR-460" value="count(ram:BuyerTradeParty/ram:URIUniversalCommunication) &lt;= 1"/>
<param name="CII-SR-461" value="count(ram:ApplicableTradeTax/ram:TaxPointDate) &lt;= 1"/>
<param name="CII-SR-462" value="count(//ram:ApplicableTradeTax/ram:DueDateTypeCode) = 0 or count(distinct-values(//ram:ApplicableTradeTax/ram:DueDateTypeCode)) = 1"/>
<!-- Invoice -->
<param name="CII-SR-438" value="not(ram:ValuationBreakdownStatement)"/>
<!-- SpecifiedTradeSettlementHeaderMonetarySummation -->
<param name="CII-SR-411" value="not(ram:InformationAmount)"/>
<param name="CII-SR-412" value="not(ram:TotalDiscountAmount)"/>
<param name="CII-SR-413" value="not(ram:TotalAllowanceChargeAmount)"/>
<param name="CII-SR-414" value="not(ram:RetailValueExcludingTaxInformationAmount)"/>
<param name="CII-SR-415" value="not(ram:TotalDepositFeeInformationAmount)"/>
<param name="CII-SR-416" value="not(ram:ProductValueExcludingTobaccoTaxInformationAmount)"/>
<param name="CII-SR-417" value="not(ram:TotalRetailValueInformationAmount)"/>
<param name="CII-SR-418" value="not(ram:GrossLineTotalAmount)"/>
<param name="CII-SR-419" value="not(ram:NetLineTotalAmount)"/>
<param name="CII-SR-420" value="not(ram:NetIncludingTaxesLineTotalAmount)"/>
<!-- ID Type -->
<param name="CII-DT-001" value="not(@schemeName)"/>
<param name="CII-DT-002" value="not(@schemeAgencyName)"/>
<param name="CII-DT-003" value="not(@schemeDataURI)"/>
<param name="CII-DT-004" value="not(@schemeURI)"/>
<!-- ID Type without attributes -->
<param name="CII-DT-005" value="not(@schemeID)"/>
<param name="CII-DT-006" value="not(@schemeAgencyID)"/>
<param name="CII-DT-007" value="not(@schemeVersionID)"/>
<!-- CategoryCode without attributes -->
<param name="CII-DT-045" value="not(@listID)"/>
<param name="CII-DT-046" value="not(@listAgencyID)"/>
<param name="CII-DT-047" value="not(@listVersionID)"/>
<param name="CII-DT-048" value="not(@listURI)"/>
<!-- TypeCode -->
<param name="CII-DT-008" value="not(@name)"/>
<param name="CII-DT-009" value="not(@listURI)"/>
<!-- Type Code without attributes-->
<param name="CII-DT-010" value="not(@listID)"/>
<param name="CII-DT-011" value="not(@listAgencyID)"/>
<param name="CII-DT-012" value="not(@listVersionID)"/>
<param name="CII-DT-013" value="not(@languageID)"/>
<param name="CII-DT-014" value="not(@languageLocaleID)"/>
<!-- ReferencedDocumentType -->
<param name="CII-DT-015"
value="not(ram:URIID) or (self::ram:AdditionalReferencedDocument and ram:TypeCode='916') "/>
<param name="CII-DT-016" value="not(ram:StatusCode)"/>
<param name="CII-DT-017" value="not(ram:CopyIndicator)"/>
<param name="CII-DT-018"
value="not(ram:TypeCode) or (self::ram:AdditionalReferencedDocument) and (ram:TypeCode='50' or ram:TypeCode='130' or ram:TypeCode='916')"/>
<param name="CII-DT-019" value="not(ram:GlobalID)"/>
<param name="CII-DT-020" value="not(ram:RevisionID)"/>
<param name="CII-DT-021"
value="not(ram:Name) or (self::ram:AdditionalReferencedDocument and ram:TypeCode='916')"/>
<param name="CII-DT-022"
value="not(ram:AttachmentBinaryObject) or (self::ram:AdditionalReferencedDocument and ram:TypeCode='916')"/>
<param name="CII-DT-023" value="not(ram:Information)"/>
<param name="CII-DT-024"
value="not(ram:ReferenceTypeCode) or (self::ram:AdditionalReferencedDocument and ram:TypeCode='130')"/>
<param name="CII-DT-025" value="not(ram:SectionName)"/>
<param name="CII-DT-026" value="not(ram:PreviousRevisionID)"/>
<param name="CII-DT-027"
value="not(ram:FormattedIssueDateTime) or self::ram:InvoiceReferencedDocument"/>
<param name="CII-DT-028" value="not(ram:EffectiveSpecifiedPeriod)"/>
<param name="CII-DT-029" value="not(ram:IssuerTradeParty)"/>
<param name="CII-DT-030" value="not(ram:AttachedSpecifiedBinaryFile)"/>
<!-- AmountType -->
<param name="CII-DT-031" value="not(@currencyID)"/>
<param name="CII-DT-032" value="not(@currencyCodeListVersionID)"/>
<!-- QuantityType -->
<param name="CII-DT-033"
value="not(@unitCode) or (/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeDelivery/ram:BilledQuantity/@unitCode)"/>
<param name="CII-DT-034" value="not(@unitCodeListID)"/>
<param name="CII-DT-035" value="not(@unitCodeListAgencyID)"/>
<param name="CII-DT-036" value="not(@unitCodeListAgencyName)"/>
<!-- TradeTaxType -->
<param name="CII-DT-037" value="not(ram:TypeCode) or (ram:TypeCode = 'VAT')"/>
<param name="CII-DT-038" value="not(ram:CalculatedRate)"/>
<param name="CII-DT-039" value="not(ram:CalculationSequenceNumeric)"/>
<param name="CII-DT-040" value="not(ram:BasisQuantity)"/>
<param name="CII-DT-041"
value="not(ram:BasisAmount) or (ancestor::ram:ApplicableHeaderTradeSettlement)"/>
<param name="CII-DT-042" value="not(ram:UnitBasisAmount)"/>
<param name="CII-DT-043" value="not(ram:LineTotalBasisAmount)"/>
<param name="CII-DT-044" value="not(ram:AllowanceChargeBasisAmount)"/>
<param name="CII-DT-049" value="not(ram:CurrencyCode)"/>
<param name="CII-DT-050" value="not(ram:Jurisdiction)"/>
<param name="CII-DT-051" value="not(ram:CustomsDutyIndicator)"/>
<param name="CII-DT-052" value="not(ram:ExemptionReasonCode) or self::ram:ApplicableTradeTax"/>
<param name="CII-DT-098" value="not(ram:ExemptionReason) or self::ram:ApplicableTradeTax"/>
<param name="CII-DT-053" value="not(ram:TaxBasisAllowanceRate)"/>
<param name="CII-DT-054" value="not(ram:TaxPointDate) or (ancestor::ram:ApplicableHeaderTradeSettlement)"/>
<param name="CII-DT-055" value="not(ram:Type)"/>
<param name="CII-DT-056" value="not(ram:InformationAmount)"/>
<param name="CII-DT-057" value="not(ram:CategoryName)"/>
<param name="CII-DT-058" value="not(ram:DueDateTypeCode) or (ancestor::ram:ApplicableHeaderTradeSettlement)"/>
<param name="CII-DT-059" value="not(ram:RateApplicablePercent/@format)"/>
<param name="CII-DT-060" value="not(ram:SpecifiedTradeAccountingAccount)"/>
<param name="CII-DT-061" value="not(ram:ServiceSupplyTradeCountry)"/>
<param name="CII-DT-062" value="not(ram:BuyerRepayableTaxSpecifiedTradeAccountingAccount)"/>
<param name="CII-DT-063" value="not(ram:SellerPayableTaxSpecifiedTradeAccountingAccount)"/>
<param name="CII-DT-064" value="not(ram:SellerRefundableTaxSpecifiedTradeAccountingAccount)"/>
<param name="CII-DT-065" value="not(ram:BuyerDeductibleTaxSpecifiedTradeAccountingAccount)"/>
<param name="CII-DT-066" value="not(ram:BuyerNonDeductibleTaxSpecifiedTradeAccountingAccount)"/>
<param name="CII-DT-067" value="not(ram:PlaceApplicableTradeLocation)"/>
<!-- BillingSpecifiedPeriodType -->
<param name="CII-DT-068" value="not(ram:StartDateTime/udt:DateTime)"/>
<param name="CII-DT-069" value="not(ram:DurationMeasure)"/>
<param name="CII-DT-070" value="not(ram:InclusiveIndicator)"/>
<param name="CII-DT-071" value="not(ram:Description)"/>
<param name="CII-DT-072" value="not(ram:EndDateTime/udt:DateTime)"/>
<param name="CII-DT-073" value="not(ram:CompleteDateTime)"/>
<param name="CII-DT-074" value="not(ram:OpenIndicator)"/>
<param name="CII-DT-075" value="not(ram:SeasonCode)"/>
<param name="CII-DT-076" value="not(ram:ID)"/>
<param name="CII-DT-077" value="not(ram:Name)"/>
<param name="CII-DT-078" value="not(ram:SequenceNumeric)"/>
<param name="CII-DT-079" value="not(ram:StartDateFlexibilityCode)"/>
<param name="CII-DT-080" value="not(ram:ContinuousIndicator)"/>
<param name="CII-DT-081" value="not(ram:PurposeCode)"/>
<!-- PostalTradeAddressType -->
<param name="CII-DT-082" value="not(ram:ID)"/>
<param name="CII-DT-083" value="not(ram:PostOfficeBox)"/>
<param name="CII-DT-084" value="not(ram:BuildingName)"/>
<param name="CII-DT-086" value="not(ram:LineFour)"/>
<param name="CII-DT-087" value="not(ram:LineFive)"/>
<param name="CII-DT-088" value="not(ram:StreetName)"/>
<param name="CII-DT-089" value="not(ram:CitySubDivisionName)"/>
<param name="CII-DT-090" value="not(ram:CountryName)"/>
<param name="CII-DT-091" value="not(ram:CountrySubDivisionID)"/>
<param name="CII-DT-092" value="not(ram:AttentionOf)"/>
<param name="CII-DT-093" value="not(ram:CareOf)"/>
<param name="CII-DT-094" value="not(ram:BuildingNumber)"/>
<param name="CII-DT-095" value="not(ram:DepartmentName)"/>
<param name="CII-DT-096" value="not(ram:AdditionalStreetName)"/>
<!-- DateTimeString -->
<param name="CII-DT-097"
value="matches(.,'^\s*(\d{4})(1[0-2]|0[1-9]){1}(3[01]|[12][0-9]|0[1-9]){1}\s*$')"/>
<!-- Sections -->
<param name="Invoice_line" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem"/>
<param name="AssociatedDocumentLineDocument" value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:AssociatedDocumentLineDocument"/>
<param name="Invoice" value="/rsm:CrossIndustryInvoice"/>
<param name="Document_Context" value="/rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext"/>
<param name="DocumentContextParameter" value="//*[ends-with(name(), 'DocumentContextParameter')]"/>
<param name="Exchanged_Document" value="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument"/>
<param name="Note_Exchanged_Document" value="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IncludedNote"/>
<param name="IDTypeNoAttributes"
value="/rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID |
/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:ID |
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:AssociatedDocumentLineDocument/ram:LineID |
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:SellerAssignedID"/>
<param name="IDType" value="//ram:*[ends-with(name(), 'ID')]"/>
<param name="TypeCodeType" value="//ram:TypeCode"/>
<param name="NoAttributesTypeCodeType"
value="/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:TypeCode"/>
<param name="CategoryCodeNoAttributes"
value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode"/>
<param name="SpecifiedTradeProduct"
value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct"/>
<param name="ReferencedDocumentType" value="//ram:*[ends-with(name(), 'ReferencedDocument')]"/>
<param name="SpecifiedLineTradeAgreement"
value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement"/>
<param name="AmountType"
value="//ram:*[ends-with(name(), 'Amount') and not (self::ram:TaxTotalAmount)]"/>
<param name="QuantityType" value="//ram:*[ends-with(name(), 'Quantity')]"/>
<param name="SpecifiedLineTradeDelivery"
value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeDelivery"/>
<param name="SpecifiedLineTradeSettlement"
value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement"/>
<param name="TradeTaxType" value="//ram:*[ends-with(name(), 'TradeTax')]"/>
<param name="BillingSpecifiedPeriodType" value="//ram:BillingSpecifiedPeriod"/>
<param name="ApplicableHeaderTradeAgreement"
value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement"/>
<param name="ApplicableProductCharacteristic"
value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:ApplicableProductCharacteristic"/>
<param name="PostalTradeAddressType" value="//ram:PostalTradeAddress"/>
<param name="ApplicableHeaderTradeDelivery"
value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery"/>
<param name="ApplicableHeaderTradeSettlement"
value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement"/>
<param name="SpecifiedTradeSettlementHeaderMonetarySummation"
value="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation"/>
<param name="DateTimeString" value="//udt:DateTimeString[@format = '102']"/>
<param name="AppliedTradeAllowanceCharge" value="//ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge"/>
</pattern>

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed under European Union Public Licence (EUPL) version 1.2.
-->
<!--
CII syntax binding to the TC434
-->
<schema xmlns="http://purl.oclc.org/dsdl/schematron"
xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
xmlns:ccts="urn:un:unece:uncefact:documentation:standard:CoreComponentsTechnicalSpecification:2"
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
queryBinding="xslt2">
<title>EN16931 model bound to CII</title>
<ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/>
<ns prefix="ccts" uri="urn:un:unece:uncefact:documentation:standard:CoreComponentsTechnicalSpecification:2"/>
<ns prefix="udt" uri="urn:un:unece:uncefact:data:standard:UnqualifiedDataType: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="xs" uri="http://www.w3.org/2001/XMLSchema"/>
<phase id="EN16931-model-phase">
<active pattern="EN16931-CII-Model"/>
</phase>
<phase id="codelist_phase">
<active pattern="EN16931-Codes"/>
</phase>
<phase id="syntax_phase">
<active pattern="EN16931-CII-Syntax"/>
</phase>
<!-- Abstract CEN BII patterns -->
<!-- ========================= -->
<include href="abstract/EN16931-CII-model.sch"/>
<include href="abstract/EN16931-CII-syntax.sch"/>
<!-- Data Binding parameters -->
<!-- ======================= -->
<include href="CII/EN16931-CII-model.sch"/>
<include href="CII/EN16931-CII-syntax.sch"/>
<!-- Code Lists Binding rules -->
<!-- ======================== -->
<include href="codelist/EN16931-CII-codes.sch"/>
</schema>

View File

@ -0,0 +1,336 @@
<!--
Licensed under European Union Public Licence (EUPL) version 1.2.
-->
<!-- Abstract rules for EN16931 -->
<pattern xmlns="http://purl.oclc.org/dsdl/schematron" abstract="true" id="EN16931">
<rule context="$SpecifiedTradeAllowanceCharge">
<assert test="$BR-66" flag="fatal" id="BR-66">[BR-66]-Each Specified Trade Allowance Charge (BG-20)(BG-21) shall contain a Charge Indicator.</assert>
</rule>
<rule context="$DesignatedProductClassification">
<assert test="$BR-65" flag="fatal" id="BR-65">[BR-65]-The Item classification identifier (BT-158) shall have a Scheme identifier.</assert>
</rule>
<rule context="$Additional_supporting_documents ">
<assert test="$BR-52" flag="fatal" id="BR-52">[BR-52]-Each Additional supporting document (BG-24) shall contain a Supporting document reference (BT-122).</assert>
</rule>
<rule context="$Card_information ">
<assert test="$BR-51" flag="fatal" id="BR-51">[BR-51]-In accordance with card payments security standards an invoice should never include a full card primary account number (BT-97). At the moment PCI Security Standards Council has defined that the first 6 digits and last 4 digits are the maximum number of digits to be shown.</assert>
</rule>
<rule context="$CreditTransfer_information ">
<assert test="$BR-50" flag="fatal" id="BR-50">[BR-50]-A Payment account identifier (BT-84) shall be present if Credit transfer (BG-16) information is provided in the Invoice.</assert>
<assert test="$BR-61" flag="fatal" id="BR-61">[BR-61]-If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.</assert>
</rule>
<rule context="$Delivery_information ">
<assert test="$BR-57" flag="fatal" id="BR-57">[BR-57]-Each Deliver to address (BG-15) shall contain a Deliver to country code (BT-80).</assert>
</rule>
<rule context="$Document_level_allowances ">
<assert test="$BR-31" flag="fatal" id="BR-31">[BR-31]-Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).</assert>
<assert test="$BR-32" flag="fatal" id="BR-32">[BR-32]-Each Document level allowance (BG-20) shall have a Document level allowance VAT category code (BT-95).</assert>
<assert test="$BR-33" flag="fatal" id="BR-33">[BR-33]-Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).</assert>
<assert test="$BR-CO-05" flag="fatal" id="BR-CO-05">[BR-CO-05]-Document level allowance reason code (BT-98) and Document level allowance reason (BT-97) shall indicate the same type of allowance.</assert>
<assert test="$BR-CO-21" flag="fatal" id="BR-CO-21">[BR-CO-21]-Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both.</assert>
<assert test="$BR-DEC-01" flag="fatal" id="BR-DEC-01">[BR-DEC-01]-The allowed maximum number of decimals for the Document level allowance amount (BT-92) is 2.</assert>
<assert test="$BR-DEC-02" flag="fatal" id="BR-DEC-02">[BR-DEC-02]-The allowed maximum number of decimals for the Document level allowance base amount (BT-93) is 2.</assert>
</rule>
<rule context="$Document_level_charges ">
<assert test="$BR-36" flag="fatal" id="BR-36">[BR-36]-Each Document level charge (BG-21) shall have a Document level charge amount (BT-99). </assert>
<assert test="$BR-37" flag="fatal" id="BR-37">[BR-37]-Each Document level charge (BG-21) shall have a Document level charge VAT category code (BT-102).</assert>
<assert test="$BR-38" flag="fatal" id="BR-38">[BR-38]-Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).</assert>
<assert test="$BR-CO-06" flag="fatal" id="BR-CO-06">[BR-CO-06]-Document level charge reason code (BT-105) and Document level charge reason (BT-104) shall indicate the same type of charge. </assert>
<assert test="$BR-CO-22" flag="fatal" id="BR-CO-22">[BR-CO-22]-Each Document level charge (BG-21) shall contain a Document level charge reason (BT-104) or a Document level charge reason code (BT-105), or both.</assert>
<assert test="$BR-DEC-05" flag="fatal" id="BR-DEC-05">[BR-DEC-05]-The allowed maximum number of decimals for the Document level charge amount (BT-99) is 2.</assert>
<assert test="$BR-DEC-06" flag="fatal" id="BR-DEC-06">[BR-DEC-06]-The allowed maximum number of decimals for the Document level charge base amount (BT-100) is 2.</assert>
</rule>
<rule context="$Document_totals ">
<assert test="$BR-12" flag="fatal" id="BR-12">[BR-12]-An Invoice shall have the Sum of Invoice line net amount (BT-106). </assert>
<assert test="$BR-13" flag="fatal" id="BR-13">[BR-13]-An Invoice shall have the Invoice total amount without VAT (BT-109).</assert>
<assert test="$BR-14" flag="fatal" id="BR-14">[BR-14]-An Invoice shall have the Invoice total amount with VAT (BT-112).</assert>
<assert test="$BR-15" flag="fatal" id="BR-15">[BR-15]-An Invoice shall have the Amount due for payment (BT-115).</assert>
<assert test="$BR-53" flag="fatal" id="BR-53">[BR-53]-If the VAT accounting currency code (BT-6) is present, then the Invoice total VAT amount in accounting currency (BT-111) shall be provided.</assert>
<assert test="$BR-CO-10" flag="fatal" id="BR-CO-10">[BR-CO-10]-Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131).</assert>
<assert test="$BR-CO-11" flag="fatal" id="BR-CO-11">[BR-CO-11]-Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).</assert>
<assert test="$BR-CO-12" flag="fatal" id="BR-CO-12">[BR-CO-12]-Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).</assert>
<assert test="$BR-CO-13" flag="fatal" id="BR-CO-13">[BR-CO-13]-Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).</assert>
<assert test="$BR-CO-16" flag="fatal" id="BR-CO-16">[BR-CO-16]-Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).</assert>
<assert test="$BR-DEC-09" flag="fatal" id="BR-DEC-09">[BR-DEC-09]-The allowed maximum number of decimals for the Sum of Invoice line net amount (BT-106) is 2.</assert>
<assert test="$BR-DEC-10" flag="fatal" id="BR-DEC-10">[BR-DEC-10]-The allowed maximum number of decimals for the Sum of allowanced on document level (BT-107) is 2.</assert>
<assert test="$BR-DEC-11" flag="fatal" id="BR-DEC-11">[BR-DEC-11]-The allowed maximum number of decimals for the Sum of charges on document level (BT-108) is 2.</assert>
<assert test="$BR-DEC-12" flag="fatal" id="BR-DEC-12">[BR-DEC-12]-The allowed maximum number of decimals for the Invoice total amount without VAT (BT-109) is 2.</assert>
<assert test="$BR-DEC-14" flag="fatal" id="BR-DEC-14">[BR-DEC-14]-The allowed maximum number of decimals for the Invoice total amount with VAT (BT-112) is 2.</assert>
<assert test="$BR-DEC-13" flag="fatal" id="BR-DEC-13">[BR-DEC-13]-The allowed maximum number of decimals for the Invoice total VAT amount (BT-110) is 2.</assert>
<assert test="$BR-DEC-15" flag="fatal" id="BR-DEC-15">[BR-DEC-15]-The allowed maximum number of decimals for the Invoice total VAT amount in accounting currency (BT-111) is 2.</assert>
<assert test="$BR-DEC-16" flag="fatal" id="BR-DEC-16">[BR-DEC-16]-The allowed maximum number of decimals for the Paid amount (BT-113) is 2.</assert>
<assert test="$BR-DEC-17" flag="fatal" id="BR-DEC-17">[BR-DEC-17]-The allowed maximum number of decimals for the Rounding amount (BT-114) is 2.</assert>
<assert test="$BR-DEC-18" flag="fatal" id="BR-DEC-18">[BR-DEC-18]-The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2.</assert>
</rule>
<rule context="$Invoice ">
<assert test="$BR-01" flag="fatal" id="BR-01">[BR-01]-An Invoice shall have a Specification identifier (BT-24).</assert>
<assert test="$BR-02" flag="fatal" id="BR-02">[BR-02]-An Invoice shall have an Invoice number (BT-1).</assert>
<assert test="$BR-03" flag="fatal" id="BR-03">[BR-03]-An Invoice shall have an Invoice issue date (BT-2).</assert>
<assert test="$BR-04" flag="fatal" id="BR-04">[BR-04]-An Invoice shall have an Invoice type code (BT-3).</assert>
<assert test="$BR-05" flag="fatal" id="BR-05">[BR-05]-An Invoice shall have an Invoice currency code (BT-5).</assert>
<assert test="$BR-06" flag="fatal" id="BR-06">[BR-06]-An Invoice shall contain the Seller name (BT-27).</assert>
<assert test="$BR-07" flag="fatal" id="BR-07">[BR-07]-An Invoice shall contain the Buyer name (BT-44).</assert>
<assert test="$BR-08" flag="fatal" id="BR-08">[BR-08]-An Invoice shall contain the Seller postal address (BG-5).</assert>
<assert test="$BR-09" flag="fatal" id="BR-09">[BR-09]-The Seller postal address (BG-5) shall contain a Seller country code (BT-40).</assert>
<assert test="$BR-10" flag="fatal" id="BR-10">[BR-10]-An Invoice shall contain the Buyer postal address (BG-8).</assert>
<assert test="$BR-11" flag="fatal" id="BR-11">[BR-11]-The Buyer postal address shall contain a Buyer country code (BT-55).</assert>
<assert test="$BR-16" flag="fatal" id="BR-16">[BR-16]-An Invoice shall have at least one Invoice line (BG-25).</assert>
<assert test="$BR-62" flag="fatal" id="BR-62">[BR-62]-The Seller electronic address (BT-34) shall have a Scheme identifier.</assert>
<assert test="$BR-63" flag="fatal" id="BR-63">[BR-63]-The Buyer electronic address (BT-49) shall have a Scheme identifier.</assert>
<assert test="$BR-CO-15" flag="fatal" id="BR-CO-15">[BR-CO-15]-Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).</assert>
<assert test="$BR-CO-25" flag="fatal" id="BR-CO-25">[BR-CO-25]-In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present.</assert>
<assert test="$BR-S-01" flag="fatal" id="BR-S-01">[BR-S-01]-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 "Standard rated" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "Standard rated".</assert>
<assert test="$BR-Z-01" flag="fatal" id="BR-Z-01">[BR-Z-01]-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 "Zero rated" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Zero rated".</assert>
<assert test="$BR-E-01" flag="fatal" id="BR-E-01">[BR-E-01]-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 "Exempt from VAT" shall contain exactly one VAT breakdown (BG-23) with the VAT category code (BT-118) equal to "Exempt from VAT".</assert>
<assert test="$BR-AE-01" flag="fatal" id="BR-AE-01">[BR-AE-01]-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 "Reverse charge" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "VAT reverse charge".</assert>
<assert test="$BR-IC-01" flag="fatal" id="BR-IC-01">[BR-IC-01]-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 "Intra-community supply" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Intra-community supply".</assert>
<assert test="$BR-G-01" flag="fatal" id="BR-G-01">[BR-G-01]-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 "Export outside the EU" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Export outside the EU".</assert>
<assert test="$BR-O-01" flag="fatal" id="BR-O-01">[BR-O-01]-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 "Not subject to VAT" shall contain exactly one VAT breakdown group (BG-23) with the VAT category code (BT-118) equal to "Not subject to VAT".</assert>
<assert test="$BR-AF-01" flag="fatal" id="BR-AF-01">[BR-AF-01]-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 "IGIC" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IGIC".</assert>
<assert test="$BR-AG-01" flag="fatal" id="BR-AG-01">[BR-AG-01]-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 "IPSI" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IPSI".</assert>
<assert test="$BR-B-01" flag="fatal" id="BR-B-01">[BR-B-01]-An Invoice where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment” shall be a domestic Italian invoice.</assert>
<assert test="$BR-B-02" flag="fatal" id="BR-B-02">[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 context="$Invoice_Line ">
<assert test="$BR-21" flag="fatal" id="BR-21">[BR-21]-Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).</assert>
<assert test="$BR-22" flag="fatal" id="BR-22">[BR-22]-Each Invoice line (BG-25) shall have an Invoiced quantity (BT-129).</assert>
<assert test="$BR-23" flag="fatal" id="BR-23">[BR-23]-An Invoice line (BG-25) shall have an Invoiced quantity unit of measure code (BT-130).</assert>
<assert test="$BR-24" flag="fatal" id="BR-24">[BR-24]-Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131).</assert>
<assert test="$BR-25" flag="fatal" id="BR-25">[BR-25]-Each Invoice line (BG-25) shall contain the Item name (BT-153).</assert>
<assert test="$BR-26" flag="fatal" id="BR-26">[BR-26]-Each Invoice line (BG-25) shall contain the Item net price (BT-146).</assert>
<assert test="$BR-27" flag="fatal" id="BR-27">[BR-27]-The Item net price (BT-146) shall NOT be negative.</assert>
<assert test="$BR-28" flag="fatal" id="BR-28">[BR-28]-The Item gross price (BT-148) shall NOT be negative.</assert>
<assert test="$BR-64" flag="fatal" id="BR-64">[BR-64]-The Item standard identifier (BT-157) shall have a Scheme identifier.</assert>
<assert test="$BR-CO-04" flag="fatal" id="BR-CO-04">[BR-CO-04]-Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).</assert>
<assert test="$BR-CO-18" flag="fatal" id="BR-CO-18">[BR-CO-18]-An Invoice shall at least have one VAT breakdown group (BG-23).</assert>
<assert test="$BR-DEC-23" flag="fatal" id="BR-DEC-23">[BR-DEC-23]-The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.</assert>
</rule>
<rule context="$Invoice_line_allowances ">
<assert test="$BR-41" flag="fatal" id="BR-41">[BR-41]-Each Invoice line allowance (BG-27) shall have an Invoice line allowance amount (BT-136).</assert>
<assert test="$BR-42" flag="fatal" id="BR-42">[BR-42]-Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140).</assert>
<assert test="$BR-CO-07" flag="fatal" id="BR-CO-07">[BR-CO-07]-Invoice line allowance reason code (BT-140) and Invoice line allowance reason (BT-139) shall indicate the same type of allowance reason.</assert>
<assert test="$BR-CO-23" flag="fatal" id="BR-CO-23">[BR-CO-23]-Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140), or both.</assert>
<assert test="$BR-DEC-24" flag="fatal" id="BR-DEC-24">[BR-DEC-24]-The allowed maximum number of decimals for the Invoice line allowance amount (BT-136) is 2.</assert>
<assert test="$BR-DEC-25" flag="fatal" id="BR-DEC-25">[BR-DEC-25]-The allowed maximum number of decimals for the Invoice line allowance base amount (BT-137) is 2.</assert>
</rule>
<rule context="$Invoice_line_charges ">
<assert test="$BR-43" flag="fatal" id="BR-43">[BR-43]-Each Invoice line charge (BG-28) shall have an Invoice line charge amount (BT-141).</assert>
<assert test="$BR-44" flag="fatal" id="BR-44">[BR-44]-Each Invoice line charge (BG-28) shall have an Invoice line charge reason (BT-144) or an Invoice line charge reason code (BT-145).</assert>
<assert test="$BR-CO-08" flag="fatal" id="BR-CO-08">[BR-CO-08]-Invoice line charge reason code (BT-145) and Invoice line charge reason (BT-144) shall indicate the same type of charge reason.</assert>
<assert test="$BR-CO-24" flag="fatal" id="BR-CO-24">[BR-CO-24]-Each Invoice line charge (BG-28) shall contain an Invoice line charge reason (BT-144) or an Invoice line charge reason code (BT-145), or both.</assert>
<assert test="$BR-DEC-27" flag="fatal" id="BR-DEC-27">[BR-DEC-27]-The allowed maximum number of decimals for the Invoice line charge amount (BT-141) is 2.</assert>
<assert test="$BR-DEC-28" flag="fatal" id="BR-DEC-28">[BR-DEC-28]-The allowed maximum number of decimals for the Invoice line charge base amount (BT-142) is 2.</assert>
</rule>
<rule context="$Invoice_Line_Period ">
<assert test="$BR-30" flag="fatal" id="BR-30">[BR-30]-If both Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134).</assert>
<assert test="$BR-CO-20" flag="fatal" id="BR-CO-20">[BR-CO-20]-If Invoice line period (BG-26) is used, the Invoice line period start date (BT-134) or the Invoice line period end date (BT-135) shall be filled, or both.</assert>
</rule>
<rule context="$Invoice_Period ">
<assert test="$BR-29" flag="fatal" id="BR-29">[BR-29]-If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are given then the Invoicing period end date (BT-74) shall be later or equal to the Invoicing period start date (BT-73).</assert>
<assert test="$BR-CO-19" flag="fatal" id="BR-CO-19">[BR-CO-19]-If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both.</assert>
</rule>
<rule context="$Item_attributes ">
<assert test="$BR-54" flag="fatal" id="BR-54">[BR-54]-Each Item attribute (BG-32) shall contain an Item attribute name (BT-160) and an Item attribute value (BT-161).</assert>
</rule>
<rule context="$Payee ">
<assert test="$BR-17" flag="fatal" id="BR-17">[BR-17]-The Payee name (BT-59) shall be provided in the Invoice, if the Payee (BG-10) is different from the Seller (BG-4).</assert>
</rule>
<rule context="$Payment_instructions ">
<assert test="$BR-49" flag="fatal" id="BR-49">[BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).</assert>
<assert test="$BR-CO-27" flag="fatal" id="BR-CO-27">[BR-CO-27]- Either the IBAN or a Proprietary ID (BT-84) shall be used.</assert>
</rule>
<rule context="$Preceding_Invoice ">
<assert test="$BR-55" flag="fatal" id="BR-55">[BR-55]-Each Preceding Invoice reference (BG-3) shall contain a Preceding Invoice reference (BT-25).</assert>
</rule>
<rule context="$Seller ">
<assert test="$BR-CO-26" flag="fatal" id="BR-CO-26">[BR-CO-26]-In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present.</assert>
</rule>
<rule context="$Tax_Representative ">
<assert test="$BR-18" flag="fatal" id="BR-18">[BR-18]-The Seller tax representative name (BT-62) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11).</assert>
<assert test="$BR-19" flag="fatal" id="BR-19">[BR-19]-The Seller tax representative postal address (BG-12) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11).</assert>
<assert test="$BR-20" flag="fatal" id="BR-20">[BR-20]-The Seller tax representative postal address (BG-12) shall contain a Tax representative country code (BT-69), if the Seller (BG-4) has a Seller tax representative party (BG-11).</assert>
<assert test="$BR-56" flag="fatal" id="BR-56">[BR-56]-Each Seller tax representative party (BG-11) shall have a Seller tax representative VAT identifier (BT-63).</assert>
</rule>
<rule context="$Tax_Total ">
<assert test="$BR-CO-14" flag="fatal" id="BR-CO-14">[BR-CO-14]-Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).</assert>
</rule>
<rule context="$VAT_identifiers ">
<assert test="$BR-CO-09" flag="fatal" id="BR-CO-09">[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 context="$VATAE ">
<assert test="$BR-AE-08" flag="fatal" id="BR-AE-08">[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 test="$BR-AE-09" flag="fatal" id="BR-AE-09">[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>
<assert test="$BR-AE-10" flag="fatal" id="BR-AE-10">[BR-AE-10]-A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Reverse charge" shall have a VAT exemption reason code (BT-121), meaning "Reverse charge" or the VAT exemption reason text (BT-120) "Reverse charge" (or the equivalent standard text in another language).</assert>
</rule>
<rule context="$VATAE_Allowance ">
<assert test="$BR-AE-03" flag="fatal" id="BR-AE-03">[BR-AE-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).</assert>
<assert test="$BR-AE-06" flag="fatal" id="BR-AE-06">[BR-AE-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Reverse charge" the Document level allowance VAT rate (BT-96) shall be 0 (zero).</assert>
</rule>
<rule context="$VATAE_Charge ">
<assert test="$BR-AE-04" flag="fatal" id="BR-AE-04">[BR-AE-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).</assert>
<assert test="$BR-AE-07" flag="fatal" id="BR-AE-07">[BR-AE-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Reverse charge" the Document level charge VAT rate (BT-103) shall be 0 (zero).</assert>
</rule>
<rule context="$VATAE_Line ">
<assert test="$BR-AE-02" flag="fatal" id="BR-AE-02">[BR-AE-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).</assert>
<assert test="$BR-AE-05" flag="fatal" id="BR-AE-05">[BR-AE-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Reverse charge" the Invoiced item VAT rate (BT-152) shall be 0 (zero).</assert>
</rule>
<rule context="$VATAF ">
<assert test="$BR-AF-08" flag="fatal" id="BR-AF-08">[BR-AF-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IGIC", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IGIC" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).</assert>
<assert test="$BR-AF-09" flag="fatal" id="BR-AF-09">[BR-AF-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "IGIC" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).</assert>
<assert test="$BR-AF-10" flag="fatal" id="BR-AF-10">[BR-AF-10]-A VAT Breakdown (BG-23) with VAT Category code (BT-118) "IGIC" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).</assert>
</rule>
<rule context="$VATAF_Line ">
<assert test="$BR-AF-02" flag="fatal" id="BR-AF-02">[BR-AF-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-AF-05" flag="fatal" id="BR-AF-05">[BR-AF-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IGIC" the invoiced item VAT rate (BT-152) shall be greater than 0 (zero).</assert>
</rule>
<rule context="$VATAF_Allowance ">
<assert test="$BR-AF-03" flag="fatal" id="BR-AF-03">[BR-AF-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-AF-06" flag="fatal" id="BR-AF-06">[BR-AF-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IGIC" the Document level allowance VAT rate (BT-96) shall be 0 (zero) or greater than zero.</assert>
</rule>
<rule context="$VATAF_Charge ">
<assert test="$BR-AF-04" flag="fatal" id="BR-AF-04">[BR-AF-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-AF-07" flag="fatal" id="BR-AF-07">[BR-AF-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IGIC" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero.</assert>
</rule>
<rule context="$VATAG ">
<assert test="$BR-AG-08" flag="fatal" id="BR-AG-08">[BR-AG-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IPSI", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IPSI" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).</assert>
<assert test="$BR-AG-09" flag="fatal" id="BR-AG-09">[BR-AG-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "IPSI" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).</assert>
<assert test="$BR-AG-10" flag="fatal" id="BR-AG-10">[BR-AG-10]-A VAT Breakdown (BG-23) with VAT Category code (BT-118) "IPSI" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120). </assert>
</rule>
<rule context="$VATAG_Line ">
<assert test="$BR-AG-02" flag="fatal" id="BR-AG-02">[BR-AG-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-AG-05" flag="fatal" id="BR-AG-05">[BR-AG-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" the Invoiced item VAT rate (BT-152) shall be 0 (zero) or greater than zero.</assert>
</rule>
<rule context="$VATAG_Allowance ">
<assert test="$BR-AG-03" flag="fatal" id="BR-AG-03">[BR-AG-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-AG-06" flag="fatal" id="BR-AG-06">[BR-AG-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IPSI" the Document level allowance VAT rate (BT-96) shall be 0 (zero) or greater than zero.</assert>
</rule>
<rule context="$VATAG_Charge ">
<assert test="$BR-AG-04" flag="fatal" id="BR-AG-04">[BR-AG-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-AG-07" flag="fatal" id="BR-AG-07">[BR-AG-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero.</assert>
</rule>
<rule context="$VATE ">
<assert test="$BR-E-08" flag="fatal" id="BR-E-08">[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 test="$BR-E-09" flag="fatal" id="BR-E-09">[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>
<assert test="$BR-E-10" flag="fatal" id="BR-E-10">[BR-E-10]-A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).</assert>
</rule>
<rule context="$VATE_Allowance ">
<assert test="$BR-E-03" flag="fatal" id="BR-E-03">[BR-E-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Exempt from VAT" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-E-06" flag="fatal" id="BR-E-06">[BR-E-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Exempt from VAT", the Document level allowance VAT rate (BT-96) shall be 0 (zero).</assert>
</rule>
<rule context="$VATE_Charge ">
<assert test="$BR-E-04" flag="fatal" id="BR-E-04">[BR-E-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Exempt from VAT" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-E-07" flag="fatal" id="BR-E-07">[BR-E-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Exempt from VAT", the Document level charge VAT rate (BT-103) shall be 0 (zero).</assert>
</rule>
<rule context="$VATE_Line ">
<assert test="$BR-E-02" flag="fatal" id="BR-E-02">[BR-E-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Exempt from VAT" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-E-05" flag="fatal" id="BR-E-05">[BR-E-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Exempt from VAT", the Invoiced item VAT rate (BT-152) shall be 0 (zero).</assert>
</rule>
<rule context="$VATG ">
<assert test="$BR-G-08" flag="fatal" id="BR-G-08">[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 test="$BR-G-09" flag="fatal" id="BR-G-09">[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>
<assert test="$BR-G-10" flag="fatal" id="BR-G-10">[BR-G-10]-A VAT Breakdown (BG-23) with the VAT Category code (BT-118) "Export outside the EU" shall have a VAT exemption reason code (BT-121), meaning "Export outside the EU" or the VAT exemption reason text (BT-120) "Export outside the EU" (or the equivalent standard text in another language).</assert>
</rule>
<rule context="$VATG_Allowance ">
<assert test="$BR-G-03" flag="fatal" id="BR-G-03">[BR-G-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Export outside the EU" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-G-06" flag="fatal" id="BR-G-06">[BR-G-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Export outside the EU" the Document level allowance VAT rate (BT-96) shall be 0 (zero).</assert>
</rule>
<rule context="$VATG_Charge ">
<assert test="$BR-G-04" flag="fatal" id="BR-G-04">[BR-G-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Export outside the EU" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-G-07" flag="fatal" id="BR-G-07">[BR-G-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Export outside the EU" the Document level charge VAT rate (BT-103) shall be 0 (zero).</assert>
</rule>
<rule context="$VATG_Line ">
<assert test="$BR-G-02" flag="fatal" id="BR-G-02">[BR-G-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Export outside the EU" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-G-05" flag="fatal" id="BR-G-05">[BR-G-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Export outside the EU" the Invoiced item VAT rate (BT-152) shall be 0 (zero).</assert>
</rule>
<rule context="$VATIC ">
<assert test="$BR-IC-08" flag="fatal" id="BR-IC-08">[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 test="$BR-IC-09" flag="fatal" id="BR-IC-09">[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 test="$BR-IC-10" flag="fatal" id="BR-IC-10">[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 test="$BR-IC-11" flag="fatal" id="BR-IC-11">[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 test="$BR-IC-12" flag="fatal" id="BR-IC-12">[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>
<rule context="$VATIC_Allowance ">
<assert test="$BR-IC-03" flag="fatal" id="BR-IC-03">[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 test="$BR-IC-06" flag="fatal" id="BR-IC-06">[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>
<rule context="$VATIC_Charge ">
<assert test="$BR-IC-04" flag="fatal" id="BR-IC-04">[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 test="$BR-IC-07" flag="fatal" id="BR-IC-07">[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>
<rule context="$VATIC_Line ">
<assert test="$BR-IC-02" flag="fatal" id="BR-IC-02">[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 test="$BR-IC-05" flag="fatal" id="BR-IC-05">[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>
<rule context="$VATO ">
<assert test="$BR-O-08" flag="fatal" id="BR-O-08">[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 test="$BR-O-09" flag="fatal" id="BR-O-09">[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 test="$BR-O-10" flag="fatal" id="BR-O-10">[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 test="$BR-O-11" flag="fatal" id="BR-O-11">[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 test="$BR-O-12" flag="fatal" id="BR-O-12">[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 test="$BR-O-13" flag="fatal" id="BR-O-13">[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 test="$BR-O-14" flag="fatal" id="BR-O-14">[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>
<rule context="$VATO_Allowance ">
<assert test="$BR-O-03" flag="fatal" id="BR-O-03">[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 test="$BR-O-06" flag="fatal" id="BR-O-06">[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>
<rule context="$VATO_Charge ">
<assert test="$BR-O-04" flag="fatal" id="BR-O-04">[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>
<assert test="$BR-O-07" flag="fatal" id="BR-O-07">[BR-O-07]-A Document level charge (BG-21) where the VAT category code (BT-102) is "Not subject to VAT" shall not contain a Document level charge VAT rate (BT-103).</assert>
</rule>
<rule context="$VATO_Line ">
<assert test="$BR-O-02" flag="fatal" id="BR-O-02">[BR-O-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) 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 test="$BR-O-05" flag="fatal" id="BR-O-05">[BR-O-05]-An Invoice line (BG-25) where the VAT category code (BT-151) is "Not subject to VAT" shall not contain an Invoiced item VAT rate (BT-152).</assert>
</rule>
<rule context="$VATS " >
<assert test="$BR-S-08" flag="fatal" id="BR-S-08">[BR-S-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "Standard rated", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "Standard rated" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).</assert>
<assert test="$BR-S-09" flag="fatal" id="BR-S-09">[BR-S-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Standard rated" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).</assert>
<assert test="$BR-S-10" flag="fatal" id="BR-S-10">[BR-S-10]-A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Standard rate" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).</assert>
</rule>
<rule context="$VATS_Line ">
<assert test="$BR-S-02" flag="fatal" id="BR-S-02">[BR-S-02]-An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-S-05" flag="fatal" id="BR-S-05">[BR-S-05]-In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Standard rated" the Invoiced item VAT rate (BT-152) shall be greater than zero.</assert>
</rule>
<rule context="$VATS_Allowance ">
<assert test="$BR-S-03" flag="fatal" id="BR-S-03">[BR-S-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-S-06" flag="fatal" id="BR-S-06">[BR-S-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Standard rated" the Document level allowance VAT rate (BT-96) shall be greater than zero.</assert>
</rule>
<rule context="$VATS_Charge ">
<assert test="$BR-S-04" flag="fatal" id="BR-S-04">[BR-S-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-S-07" flag="fatal" id="BR-S-07">[BR-S-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Standard rated" the Document level charge VAT rate (BT-103) shall be greater than zero.</assert>
</rule>
<rule context="$VATZ ">
<assert test="$BR-Z-08" flag="fatal" id="BR-Z-08">[BR-Z-08]-In a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amount (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 "Zero rated".</assert>
<assert test="$BR-Z-09" flag="fatal" id="BR-Z-09">[BR-Z-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" shall equal 0 (zero).</assert>
<assert test="$BR-Z-10" flag="fatal" id="BR-Z-10">[BR-Z-10]-A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Zero rated" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).</assert>
</rule>
<rule context="$VATZ_Allowance ">
<assert test="$BR-Z-03" flag="fatal" id="BR-Z-03">[BR-Z-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-Z-06" flag="fatal" id="BR-Z-06">[BR-Z-06]-In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Zero rated" the Document level allowance VAT rate (BT-96) shall be 0 (zero).</assert>
</rule>
<rule context="$VATZ_Charge ">
<assert test="$BR-Z-04" flag="fatal" id="BR-Z-04">[BR-Z-04]-An Invoice that contains a Document level charge where the Document level charge VAT category code (BT-102) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-Z-07" flag="fatal" id="BR-Z-07">[BR-Z-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Zero rated" the Document level charge VAT rate (BT-103) shall be 0 (zero).</assert>
</rule>
<rule context="$VATZ_Line ">
<assert test="$BR-Z-02" flag="fatal" id="BR-Z-02">[BR-Z-02]-An Invoice that contains an Invoice line where the Invoiced item VAT category code (BT-151) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).</assert>
<assert test="$BR-Z-05" flag="fatal" id="BR-Z-05">[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>
<!-- This block needs to be down here, otherwise the other rules are not processed -->
<rule context="$VAT_breakdown ">
<assert test="$BR-45" flag="fatal" id="BR-45">[BR-45]-Each VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116).</assert>
<assert test="$BR-46" flag="fatal" id="BR-46">[BR-46]-Each VAT breakdown (BG-23) shall have a VAT category tax amount (BT-117).</assert>
<assert test="$BR-47" flag="fatal" id="BR-47">[BR-47]-Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118).</assert>
<assert test="$BR-48" flag="fatal" id="BR-48">[BR-48]-Each VAT breakdown (BG-23) shall have a VAT category rate (BT-119), except if the Invoice is not subject to VAT.</assert>
<assert test="$BR-CO-03" flag="fatal" id="BR-CO-03">[BR-CO-03]-Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.</assert>
<assert test="$BR-CO-17" flag="fatal" id="BR-CO-17">[BR-CO-17]-VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals.</assert>
<assert test="$BR-DEC-19" flag="fatal" id="BR-DEC-19">[BR-DEC-19]-The allowed maximum number of decimals for the VAT category taxable amount (BT-116) is 2.</assert>
<assert test="$BR-DEC-20" flag="fatal" id="BR-DEC-20">[BR-DEC-20]-The allowed maximum number of decimals for the VAT category tax amount (BT-117) is 2.</assert>
</rule>
</pattern>

View File

@ -0,0 +1,668 @@
<!--
Licensed under European Union Public Licence (EUPL) version 1.2.
-->
<!-- Schematron binding rules generated by Andreas Pelekies -->
<!-- Abstract rules for binding CII to EN16931 -->
<pattern xmlns="http://purl.oclc.org/dsdl/schematron" abstract="true" id="EN16931-CII">
<rule context="$Document_Context">
<assert test="$CII-SR-001" flag="warning" id="CII-SR-001">[CII-SR-001] - SpecifiedTransactionID should not be present</assert>
<assert test="$CII-SR-002" flag="warning" id="CII-SR-002">[CII-SR-002] - TestIndicator should not be present</assert>
<assert test="$CII-SR-003" flag="warning" id="CII-SR-003">[CII-SR-003] - BusinessProcessSpecifiedDocumentContextParameter should exist maximum once</assert>
<assert test="$CII-SR-006" flag="warning" id="CII-SR-006">[CII-SR-006] - BIMSpecifiedDocumentContextParameter should not be present</assert>
<assert test="$CII-SR-007" flag="warning" id="CII-SR-007">[CII-SR-007] - ScenarioSpecifiedDocumentContextParameter should not be present</assert>
<assert test="$CII-SR-008" flag="warning" id="CII-SR-008">[CII-SR-008] - ApplicationSpecifiedDocumentContextParameter should not be present</assert>
<assert test="$CII-SR-009" flag="fatal" id="CII-SR-009">[CII-SR-009] - GuidelineSpecifiedDocumentContextParameter must exist exactly once</assert>
<assert test="$CII-SR-010" flag="fatal" id="CII-SR-010">[CII-SR-010] - ID must exist exactly once</assert>
<assert test="$CII-SR-011" flag="warning" id="CII-SR-011">[CII-SR-011] - SubsetSpecifiedDocumentContextParameter should not be present</assert>
<assert test="$CII-SR-012" flag="warning" id="CII-SR-012">[CII-SR-012] - MessageStandardSpecifiedDocumentContextParameter should not be present</assert>
</rule>
<rule context="$Exchanged_Document">
<assert test="$CII-SR-013" flag="warning" id="CII-SR-013">[CII-SR-013] - Name should not be present</assert>
<assert test="$CII-SR-014" flag="fatal" id="CII-SR-014">[CII-SR-014] - TypeCode must exist exactly once</assert>
<assert test="$CII-SR-015" flag="warning" id="CII-SR-015">[CII-SR-015] - DateTime should not be present</assert>
<assert test="$CII-SR-016" flag="warning" id="CII-SR-016">[CII-SR-016] - CopyIndicator should not be present</assert>
<assert test="$CII-SR-017" flag="warning" id="CII-SR-017">[CII-SR-017] - Purpose should not be present</assert>
<assert test="$CII-SR-018" flag="warning" id="CII-SR-018">[CII-SR-018] - ControlRequirementIndicator should not be present</assert>
<assert test="$CII-SR-019" flag="warning" id="CII-SR-019">[CII-SR-019] - LanguageID should not be present</assert>
<assert test="$CII-SR-020" flag="warning" id="CII-SR-020">[CII-SR-020] - PurposeCode should not be present</assert>
<assert test="$CII-SR-021" flag="warning" id="CII-SR-021">[CII-SR-021] - RevisionDateTime should not be present</assert>
<assert test="$CII-SR-022" flag="warning" id="CII-SR-022">[CII-SR-022] - VersionID should not be present</assert>
<assert test="$CII-SR-023" flag="warning" id="CII-SR-023">[CII-SR-023] - GlobalID should not be present</assert>
<assert test="$CII-SR-024" flag="warning" id="CII-SR-024">[CII-SR-024] - RevisionID should not be present</assert>
<assert test="$CII-SR-025" flag="warning" id="CII-SR-025">[CII-SR-025] - PreviousRevisionID should not be present</assert>
<assert test="$CII-SR-026" flag="warning" id="CII-SR-026">[CII-SR-026] - CategoryCode should not be present</assert>
<assert test="$CII-SR-027" flag="warning" id="CII-SR-027">[CII-SR-027] - Subject should not be present</assert>
<assert test="$CII-SR-028" flag="warning" id="CII-SR-028">[CII-SR-028] - ContentCode should not be present</assert>
<assert test="$CII-SR-032" flag="warning" id="CII-SR-032">[CII-SR-032] - ID should not be present</assert>
<assert test="$CII-SR-033" flag="warning" id="CII-SR-033">[CII-SR-033] - EffectiveSpecifiedPeriod should not be present</assert>
<assert test="$CII-SR-034" flag="warning" id="CII-SR-034">[CII-SR-034] - IssuerTradeParty should not be present</assert>
</rule>
<rule context="$Note_Exchanged_Document">
<assert test="$CII-SR-030" flag="warning" id="CII-SR-030">[CII-SR-030] - Content should exist maximum once</assert>
</rule>
<rule context="$Invoice_line">
<assert test="$CII-SR-035" flag="warning" id="CII-SR-035">[CII-SR-035] - DescriptionCode should not be present</assert>
<assert test="$CII-SR-036" flag="warning" id="CII-SR-036">[CII-SR-036] - ParentLineID should not be present</assert>
<assert test="$CII-SR-037" flag="warning" id="CII-SR-037">[CII-SR-037] - LineStatusCode should not be present</assert>
<assert test="$CII-SR-038" flag="warning" id="CII-SR-038">[CII-SR-038] - LineStatusReasonCode should not be present</assert>
<assert test="$CII-SR-221" flag="warning" id="CII-SR-221">[CII-SR-221] - IncludedSubordinateTradeLineItem should not be present</assert>
</rule>
<rule context="$AssociatedDocumentLineDocument">
<assert test="$CII-SR-039" flag="warning" id="CII-SR-039">[CII-SR-039] - IncludedNote should exist maximum once</assert>
<assert test="$CII-SR-040" flag="warning" id="CII-SR-040">[CII-SR-040] - Content should exist maximum once</assert>
<assert test="$CII-SR-041" flag="warning" id="CII-SR-041">[CII-SR-041] - SubjectCode should not be present</assert>
<assert test="$CII-SR-042" flag="warning" id="CII-SR-042">[CII-SR-042] - ID should not be present</assert>
<assert test="$CII-SR-043" flag="warning" id="CII-SR-043">[CII-SR-043] - CategoryCode should not be present</assert>
<assert test="$CII-SR-044" flag="warning" id="CII-SR-044">[CII-SR-044] - Subject should not be present</assert>
</rule>
<rule context="$SpecifiedTradeProduct">
<assert test="$CII-SR-045" flag="warning" id="CII-SR-045">[CII-SR-045] - ID should not be present</assert>
<assert test="$CII-SR-046" flag="fatal" id="CII-SR-046">[CII-SR-046] - schemeID must be present if GlobalID is present</assert>
<assert test="$CII-SR-048" flag="warning" id="CII-SR-048">[CII-SR-048] - ManufacturerAssignedID should not be present</assert>
<assert test="$CII-SR-049" flag="warning" id="CII-SR-049">[CII-SR-049] - TradeName should not be present</assert>
<assert test="$CII-SR-050" flag="warning" id="CII-SR-050">[CII-SR-050] - TypeCode should not be present</assert>
<assert test="$CII-SR-051" flag="warning" id="CII-SR-051">[CII-SR-051] - NetWeightMeasure should not be present</assert>
<assert test="$CII-SR-052" flag="warning" id="CII-SR-052">[CII-SR-052] - GrossWeightMeasure should not be present</assert>
<assert test="$CII-SR-053" flag="warning" id="CII-SR-053">[CII-SR-053] - ProductGroupID should not be present</assert>
<assert test="$CII-SR-054" flag="warning" id="CII-SR-054">[CII-SR-054] - EndItemTypeCode should not be present</assert>
<assert test="$CII-SR-055" flag="warning" id="CII-SR-055">[CII-SR-055] - EndItemName should not be present</assert>
<assert test="$CII-SR-056" flag="warning" id="CII-SR-056">[CII-SR-056] - AreaDensityMeasure should not be present</assert>
<assert test="$CII-SR-057" flag="warning" id="CII-SR-057">[CII-SR-057] - UseDescription should not be present</assert>
<assert test="$CII-SR-058" flag="warning" id="CII-SR-058">[CII-SR-058] - BrandName should not be present</assert>
<assert test="$CII-SR-059" flag="warning" id="CII-SR-059">[CII-SR-059] - SubBrandName should not be present</assert>
<assert test="$CII-SR-060" flag="warning" id="CII-SR-060">[CII-SR-060] - DrainedNetWeightMeasure should not be present</assert>
<assert test="$CII-SR-061" flag="warning" id="CII-SR-061">[CII-SR-061] - VariableMeasureIndicator should not be present</assert>
<assert test="$CII-SR-062" flag="warning" id="CII-SR-062">[CII-SR-062] - ColourCode should not be present</assert>
<assert test="$CII-SR-063" flag="warning" id="CII-SR-063">[CII-SR-063] - ColourDescription should not be present</assert>
<assert test="$CII-SR-064" flag="warning" id="CII-SR-064">[CII-SR-064] - Designation should not be present</assert>
<assert test="$CII-SR-065" flag="warning" id="CII-SR-065">[CII-SR-065] - FormattedCancellationAnnouncedLaunchDateTime should not be present</assert>
<assert test="$CII-SR-066" flag="warning" id="CII-SR-066">[CII-SR-066] - FormattedLatestProductDataChangeDateTime should not be present</assert>
<assert test="$CII-SR-067" flag="warning" id="CII-SR-067">[CII-SR-067] - ID should not be present</assert>
<assert test="$CII-SR-068" flag="warning" id="CII-SR-068">[CII-SR-068] - TypeCode should not be present</assert>
<assert test="$CII-SR-070" flag="warning" id="CII-SR-070">[CII-SR-070] - ValueMeasure should not be present</assert>
<assert test="$CII-SR-071" flag="warning" id="CII-SR-071">[CII-SR-071] - MeasurementMethodCode should not be present</assert>
<assert test="$CII-SR-073" flag="warning" id="CII-SR-073">[CII-SR-073] - ValueCode should not be present</assert>
<assert test="$CII-SR-074" flag="warning" id="CII-SR-074">[CII-SR-074] - ValueDateTime should not be present</assert>
<assert test="$CII-SR-075" flag="warning" id="CII-SR-075">[CII-SR-075] - ValueIndicator should not be present</assert>
<assert test="$CII-SR-076" flag="warning" id="CII-SR-076">[CII-SR-076] - ContentTypeCode should not be present</assert>
<assert test="$CII-SR-077" flag="warning" id="CII-SR-077">[CII-SR-077] - ValueSpecifiedBinaryFile should not be present</assert>
<assert test="$CII-SR-078" flag="warning" id="CII-SR-078">[CII-SR-078] - ApplicableProductCharacteristicCondition should not be present</assert>
<assert test="$CII-SR-079" flag="warning" id="CII-SR-079">[CII-SR-079] - ApplicableReferencedStandard should not be present</assert>
<assert test="$CII-SR-080" flag="warning" id="CII-SR-080">[CII-SR-080] - ApplicableMaterialGoodsCharacteristic should not be present</assert>
<assert test="$CII-SR-081" flag="warning" id="CII-SR-081">[CII-SR-081] - SystemID should not be present</assert>
<assert test="$CII-SR-082" flag="warning" id="CII-SR-082">[CII-SR-082] - SystemName should not be present</assert>
<assert test="$CII-SR-083" flag="warning" id="CII-SR-083">[CII-SR-083] - ClassName should not be present</assert>
<assert test="$CII-SR-084" flag="warning" id="CII-SR-084">[CII-SR-084] - SubClassCode should not be present</assert>
<assert test="$CII-SR-085" flag="warning" id="CII-SR-085">[CII-SR-085] - ClassProductCharacteristic should not be present</assert>
<assert test="$CII-SR-086" flag="warning" id="CII-SR-086">[CII-SR-086] - ApplicableReferencedStandard should not be present</assert>
<assert test="$CII-SR-087" flag="warning" id="CII-SR-087">[CII-SR-087] - IndividualTradeProductInstance should not be present</assert>
<assert test="$CII-SR-088" flag="warning" id="CII-SR-088">[CII-SR-088] - CertificationEvidenceReferenceReferencedDocument should not be present</assert>
<assert test="$CII-SR-089" flag="warning" id="CII-SR-089">[CII-SR-089] - InspectionReferenceReferencedDocument should not be present</assert>
<assert test="$CII-SR-090" flag="fatal" id="CII-SR-090">[CII-SR-090] - ID should exist maximum once.</assert>
<assert test="$CII-SR-091" flag="warning" id="CII-SR-091">[CII-SR-091] - Name should not be present</assert>
<assert test="$CII-SR-092" flag="warning" id="CII-SR-092">[CII-SR-092] - SubordinateTradeCountrySubDivision should not be present</assert>
<assert test="$CII-SR-093" flag="warning" id="CII-SR-093">[CII-SR-093] - LinearSpatialDimension should not be present</assert>
<assert test="$CII-SR-094" flag="warning" id="CII-SR-094">[CII-SR-094] - MinimumLinearSpatialDimension should not be present</assert>
<assert test="$CII-SR-095" flag="warning" id="CII-SR-095">[CII-SR-095] - MaximumLinearSpatialDimension should not be present</assert>
<assert test="$CII-SR-096" flag="warning" id="CII-SR-096">[CII-SR-096] - ManufacturerTradeParty should not be present</assert>
<assert test="$CII-SR-097" flag="warning" id="CII-SR-097">[CII-SR-097] - PresentationSpecifiedBinaryFile should not be present</assert>
<assert test="$CII-SR-098" flag="warning" id="CII-SR-098">[CII-SR-098] - MSDSReferenceReferencedDocument should not be present</assert>
<assert test="$CII-SR-099" flag="warning" id="CII-SR-099">[CII-SR-099] - AdditionalReferenceReferencedDocument should not be present</assert>
<assert test="$CII-SR-100" flag="warning" id="CII-SR-100">[CII-SR-100] - LegalRightsOwnerTradeParty should not be present</assert>
<assert test="$CII-SR-101" flag="warning" id="CII-SR-101">[CII-SR-101] -BrandOwnerTradeParty should not be present</assert>
<assert test="$CII-SR-102" flag="warning" id="CII-SR-102">[CII-SR-102] -IncludedReferencedProduct should not be present</assert>
<assert test="$CII-SR-103" flag="warning" id="CII-SR-103">[CII-SR-103] - InformationNoteshould not be present</assert>
</rule>
<rule context="$ApplicableProductCharacteristic">
<assert test="$CII-SR-069" flag="fatal" id="CII-SR-069">[CII-SR-069] - Description should exist maximum once.</assert>
<assert test="$CII-SR-072" flag="fatal" id="CII-SR-072">[CII-SR-072] - Value should exist maximum once.</assert>
</rule>
<rule context="$SpecifiedLineTradeAgreement">
<assert test="$CII-SR-104" flag="warning" id="CII-SR-104">[CII-SR-104] - BuyerReference should not be present</assert>
<assert test="$CII-SR-105" flag="warning" id="CII-SR-105">[CII-SR-105] - BuyerRequisitionerTradeParty should not be present</assert>
<assert test="$CII-SR-106" flag="warning" id="CII-SR-106">[CII-SR-106] - ApplicableTradeDeliveryTerms should not be present</assert>
<assert test="$CII-SR-107" flag="warning" id="CII-SR-107">[CII-SR-107] - SellerOrderReferencedDocument should not be present</assert>
<assert test="$CII-SR-108" flag="warning" id="CII-SR-108">[CII-SR-108] - IssuerAssignedID should not be present</assert>
<assert test="$CII-SR-109" flag="warning" id="CII-SR-109">[CII-SR-109] - QuotationReferencedDocument should not be present</assert>
<assert test="$CII-SR-110" flag="warning" id="CII-SR-110">[CII-SR-110] - ContractReferencedDocument should not be present</assert>
<assert test="$CII-SR-111" flag="warning" id="CII-SR-111">[CII-SR-111] - DemandForecastReferencedDocument should not be present</assert>
<assert test="$CII-SR-112" flag="warning" id="CII-SR-112">[CII-SR-112] - PromotionalDealReferencedDocument should not be present</assert>
<assert test="$CII-SR-113" flag="warning" id="CII-SR-113">[CII-SR-113] - AdditionalReferencedDocument should not be present</assert>
<assert test="$CII-SR-114" flag="warning" id="CII-SR-114">[CII-SR-114] - TypeCode should not be present</assert>
<assert test="$CII-SR-115" flag="warning" id="CII-SR-115">[CII-SR-115] - MinimumQuantity should not be present</assert>
<assert test="$CII-SR-116" flag="warning" id="CII-SR-116">[CII-SR-116] - MaximumQuantity should not be present</assert>
<assert test="$CII-SR-117" flag="warning" id="CII-SR-117">[CII-SR-117] - ChangeReason should not be present</assert>
<assert test="$CII-SR-118" flag="warning" id="CII-SR-118">[CII-SR-118] - OrderUnitConversionFactorNumeric should not be present</assert>
<assert test="$CII-SR-439" flag="fatal" id="CII-SR-439">[CII-SR-439] - ChargeAmount should exist maximum once</assert>
<assert test="$CII-SR-119" flag="warning" id="CII-SR-119">[CII-SR-119] - Only allowances on price a price should be present</assert>
<assert test="$CII-SR-120" flag="warning" id="CII-SR-120">[CII-SR-120] - ID should not be present</assert>
<assert test="$CII-SR-121" flag="warning" id="CII-SR-121">[CII-SR-121] - SequenceNumeric should not be present</assert>
<assert test="$CII-SR-122" flag="warning" id="CII-SR-122">[CII-SR-122] - CalculationPercent should not be present</assert>
<assert test="$CII-SR-123" flag="warning" id="CII-SR-123">[CII-SR-123] - BasisAmount should not be present</assert>
<assert test="$CII-SR-124" flag="warning" id="CII-SR-124">[CII-SR-124] - BasisQuantity should not be present</assert>
<assert test="$CII-SR-125" flag="warning" id="CII-SR-125">[CII-SR-125] - PrepaidIndicator should not be present</assert>
<assert test="$CII-SR-126" flag="warning" id="CII-SR-126">[CII-SR-126] - UnitBasisAmount should not be present</assert>
<assert test="$CII-SR-127" flag="warning" id="CII-SR-127">[CII-SR-127] - ReasonCode should not be present</assert>
<assert test="$CII-SR-128" flag="warning" id="CII-SR-128">[CII-SR-128] - Reason should not be present</assert>
<assert test="$CII-SR-129" flag="warning" id="CII-SR-129">[CII-SR-129] - TypeCode should not be present</assert>
<assert test="$CII-SR-130" flag="warning" id="CII-SR-130">[CII-SR-130] - CategoryTradeTax should not be present</assert>
<assert test="$CII-SR-131" flag="warning" id="CII-SR-131">[CII-SR-131] - ActualTradeCurrencyExchange should not be present</assert>
<assert test="$CII-SR-445" flag="warning" id="CII-SR-445">[CII-SR-445] - IncludedTradeTax should not be present</assert>
<assert test="$CII-SR-132" flag="warning" id="CII-SR-132">[CII-SR-132] - ValiditySpecifiedPeriod should not be present</assert>
<assert test="$CII-SR-133" flag="warning" id="CII-SR-133">[CII-SR-133] - DeliveryTradeLocation should not be present</assert>
<assert test="$CII-SR-134" flag="warning" id="CII-SR-134">[CII-SR-134] - TradeComparisonReferencePrice should not be present</assert>
<assert test="$CII-SR-135" flag="warning" id="CII-SR-135">[CII-SR-135] - AssociatedReferencedDocument should not be present</assert>
<assert test="$CII-SR-136" flag="warning" id="CII-SR-136">[CII-SR-136] - TypeCode should not be present</assert>
<assert test="$CII-SR-138" flag="warning" id="CII-SR-138">[CII-SR-138] - MinimumQuantity should not be present</assert>
<assert test="$CII-SR-139" flag="warning" id="CII-SR-139">[CII-SR-139] - MaximumQuantity should not be present</assert>
<assert test="$CII-SR-140" flag="warning" id="CII-SR-140">[CII-SR-140] - ChangeReason should not be present</assert>
<assert test="$CII-SR-141" flag="warning" id="CII-SR-141">[CII-SR-141] - OrderUnitConversionFactorNumeric should not be present</assert>
<assert test="$CII-SR-142" flag="warning" id="CII-SR-142">[CII-SR-142] - AppliedTradeAllowanceCharge should not be present</assert>
<assert test="$CII-SR-446" flag="warning" id="CII-SR-446">[CII-SR-446] - IncludedTradeTax should not be present</assert>
<assert test="$CII-SR-143" flag="warning" id="CII-SR-143">[CII-SR-143] - ValiditySpecifiedPeriod should not be present</assert>
<assert test="$CII-SR-144" flag="warning" id="CII-SR-144">[CII-SR-144] - DeliveryTradeLocation should not be present</assert>
<assert test="$CII-SR-145" flag="warning" id="CII-SR-145">[CII-SR-145] - TradeComparisonReferencePrice should not be present</assert>
<assert test="$CII-SR-146" flag="warning" id="CII-SR-146">[CII-SR-146] - AssociatedReferencedDocument should not be present</assert>
<assert test="$CII-SR-441" flag="fatal" id="CII-SR-441">[CII-SR-441] - ChargeAmount should exist maximum once</assert>
<assert test="$CII-SR-147" flag="warning" id="CII-SR-147">[CII-SR-147] - RequisitionerReferencedDocument should not be present</assert>
<assert test="$CII-SR-148" flag="warning" id="CII-SR-148">[CII-SR-148] - ItemSellerTradeParty should not be present</assert>
<assert test="$CII-SR-149" flag="warning" id="CII-SR-149">[CII-SR-149] - ItemBuyerTradeParty should not be present</assert>
<assert test="$CII-SR-150" flag="warning" id="CII-SR-150">[CII-SR-150] - IncludedSpecifiedMarketplace should not be present</assert>
<assert test="$CII-SR-447" flag="warning" id="CII-SR-447">[CII-SR-447] - UltimateCustomerOrderReferencedDocument should not be present</assert>
</rule>
<rule context="$AppliedTradeAllowanceCharge">
<assert test="$CII-SR-440" flag="fatal" id="CII-SR-440">[CII-SR-440] - ActualAmount should exist maximum once</assert>
</rule>
<rule context="$SpecifiedLineTradeDelivery">
<assert test="$CII-SR-151" flag="warning" id="CII-SR-151">[CII-SR-151] - RequestedQuantity should not be present</assert>
<assert test="$CII-SR-152" flag="warning" id="CII-SR-152">[CII-SR-152] - ReceivedQuantity should not be present</assert>
<assert test="$CII-SR-153" flag="warning" id="CII-SR-153">[CII-SR-153] - ChargeFreeQuantity should not be present</assert>
<assert test="$CII-SR-154" flag="warning" id="CII-SR-154">[CII-SR-154] - PackageQuantity should not be present</assert>
<assert test="$CII-SR-155" flag="warning" id="CII-SR-155">[CII-SR-155] - ProductUnitQuantity should not be present</assert>
<assert test="$CII-SR-156" flag="warning" id="CII-SR-156">[CII-SR-156] - PerPackageUnitQuantity should not be present</assert>
<assert test="$CII-SR-157" flag="warning" id="CII-SR-157">[CII-SR-157] - NetWeightMeasure should not be present</assert>
<assert test="$CII-SR-158" flag="warning" id="CII-SR-158">[CII-SR-158] - GrossWeightMeasure should not be present</assert>
<assert test="$CII-SR-159" flag="warning" id="CII-SR-159">[CII-SR-159] - TheoreticalWeightMeasure should not be present</assert>
<assert test="$CII-SR-160" flag="warning" id="CII-SR-160">[CII-SR-160] - DespatchedQuantity should not be present</assert>
<assert test="$CII-SR-161" flag="warning" id="CII-SR-161">[CII-SR-161] - SpecifiedDeliveryAdjustment should not be present</assert>
<assert test="$CII-SR-162" flag="warning" id="CII-SR-162">[CII-SR-162] - IncludedSupplyChainPackaging should not be present</assert>
<assert test="$CII-SR-163" flag="warning" id="CII-SR-163">[CII-SR-163] - RelatedSupplyChainConsignment should not be present</assert>
<assert test="$CII-SR-164" flag="warning" id="CII-SR-164">[CII-SR-164] - ShipToTradeParty should not be present</assert>
<assert test="$CII-SR-165" flag="warning" id="CII-SR-165">[CII-SR-165] - UltimateShipToTradeParty should not be present</assert>
<assert test="$CII-SR-166" flag="warning" id="CII-SR-166">[CII-SR-166] - ShipFromTradeParty should not be present</assert>
<assert test="$CII-SR-167" flag="warning" id="CII-SR-167">[CII-SR-167] - ActualDespatchSupplyChainEvent should not be present</assert>
<assert test="$CII-SR-168" flag="warning" id="CII-SR-168">[CII-SR-168] - ActualPickUpSupplyChainEvent should not be present</assert>
<assert test="$CII-SR-169" flag="warning" id="CII-SR-169">[CII-SR-169] - RequestedDeliverySupplyChainEvent should not be present</assert>
<assert test="$CII-SR-170" flag="warning" id="CII-SR-170">[CII-SR-170] - ActualDeliverySupplyChainEvent should not be present</assert>
<assert test="$CII-SR-171" flag="warning" id="CII-SR-171">[CII-SR-171] - ActualReceiptSupplyChainEvent should not be present</assert>
<assert test="$CII-SR-172" flag="warning" id="CII-SR-172">[CII-SR-172] - AdditionalReferencedDocument should not be present</assert>
<assert test="$CII-SR-173" flag="warning" id="CII-SR-173">[CII-SR-173] - DespatchAdviceReferencedDocument should not be present</assert>
<assert test="$CII-SR-174" flag="warning" id="CII-SR-174">[CII-SR-174] - ReceivingAdviceReferencedDocument should not be present</assert>
<assert test="$CII-SR-175" flag="warning" id="CII-SR-175">[CII-SR-175] - DeliveryNoteReferencedDocument should not be present</assert>
<assert test="$CII-SR-176" flag="warning" id="CII-SR-176">[CII-SR-176] - ConsumptionReportReferencedDocument should not be present</assert>
<assert test="$CII-SR-177" flag="warning" id="CII-SR-177">[CII-SR-177] - RequestedQuantity should not be present</assert>
</rule>
<rule context="$SpecifiedLineTradeSettlement">
<assert test="$CII-SR-178" flag="warning" id="CII-SR-178">[CII-SR-178] - PaymentReference should not be present</assert>
<assert test="$CII-SR-179" flag="warning" id="CII-SR-179">[CII-SR-179] - InvoiceIssuerReference should not be present</assert>
<assert test="$CII-SR-180" flag="warning" id="CII-SR-180">[CII-SR-180] - TotalAdjustmentAmount should not be present</assert>
<assert test="$CII-SR-181" flag="warning" id="CII-SR-181">[CII-SR-181] - DiscountIndicator should not be present</assert>
<assert test="$CII-SR-182" flag="warning" id="CII-SR-182">[CII-SR-182] - CalculatedAmount should not be present</assert>
<assert test="$CII-SR-183" flag="warning" id="CII-SR-183">[CII-SR-183] - IndicatorString should not be present</assert>
<assert test="$CII-SR-184" flag="warning" id="CII-SR-184">[CII-SR-184] - ID should not be present</assert>
<assert test="$CII-SR-185" flag="warning" id="CII-SR-185">[CII-SR-185] - SequenceNumeric should not be present</assert>
<assert test="$CII-SR-186" flag="warning" id="CII-SR-186">[CII-SR-186] - @format should not be present</assert>
<assert test="$CII-SR-187" flag="warning" id="CII-SR-187">[CII-SR-187] - BasisQuantity should not be present</assert>
<assert test="$CII-SR-188" flag="warning" id="CII-SR-188">[CII-SR-188] - PrepaidIndicator should not be present</assert>
<assert test="$CII-SR-189" flag="warning" id="CII-SR-189">[CII-SR-189] - UnitBasisAmount should not be present</assert>
<assert test="$CII-SR-190" flag="warning" id="CII-SR-190">[CII-SR-190] - TypeCode should not be present</assert>
<assert test="$CII-SR-191" flag="warning" id="CII-SR-191">[CII-SR-191] - CategoryTradeTax should not be present</assert>
<assert test="$CII-SR-192" flag="warning" id="CII-SR-192">[CII-SR-192] - ActualTradeCurrencyExchange should not be present</assert>
<assert test="$CII-SR-193" flag="warning" id="CII-SR-193">[CII-SR-193] - ID should not be present</assert>
<assert test="$CII-SR-194" flag="warning" id="CII-SR-194">[CII-SR-194] - SubtotalCalculatedTradeTax should not be present</assert>
<assert test="$CII-SR-195" flag="warning" id="CII-SR-195">[CII-SR-195] - SpecifiedLogisticsServiceCharge should not be present</assert>
<assert test="$CII-SR-196" flag="warning" id="CII-SR-196">[CII-SR-196] - SpecifiedTradePaymentTerms should not be present</assert>
<assert test="$CII-SR-197" flag="warning" id="CII-SR-197">[CII-SR-197] - ChargeTotalAmount should not be present</assert>
<assert test="$CII-SR-198" flag="warning" id="CII-SR-198">[CII-SR-198] - AllowanceTotalAmount should not be present</assert>
<assert test="$CII-SR-199" flag="warning" id="CII-SR-199">[CII-SR-199] - TaxBasisTotalAmount should not be present</assert>
<assert test="$CII-SR-200" flag="warning" id="CII-SR-200">[CII-SR-200] - TaxTotalAmount should not be present</assert>
<assert test="$CII-SR-201" flag="warning" id="CII-SR-201">[CII-SR-201] - GrandTotalAmount should not be present</assert>
<assert test="$CII-SR-202" flag="warning" id="CII-SR-202">[CII-SR-202] - InformationAmount should not be present</assert>
<assert test="$CII-SR-203" flag="warning" id="CII-SR-203">[CII-SR-203] - TotalAllowanceChargeAmount should not be present</assert>
<assert test="$CII-SR-204" flag="warning" id="CII-SR-204">[CII-SR-204] - TotalRetailValueInformationAmount should not be present</assert>
<assert test="$CII-SR-205" flag="warning" id="CII-SR-205">[CII-SR-205] - GrossLineTotalAmount should not be present</assert>
<assert test="$CII-SR-206" flag="warning" id="CII-SR-206">[CII-SR-206] - NetLineTotalAmount should not be present</assert>
<assert test="$CII-SR-207" flag="warning" id="CII-SR-207">[CII-SR-207] - NetIncludingTaxesLineTotalAmount should not be present</assert>
<assert test="$CII-SR-208" flag="warning" id="CII-SR-208">[CII-SR-208] - ProductWeightLossInformationAmount should not be present</assert>
<assert test="$CII-SR-209" flag="warning" id="CII-SR-209">[CII-SR-209] - SpecifiedFinancialAdjustment should not be present</assert>
<assert test="$CII-SR-210" flag="warning" id="CII-SR-210">[CII-SR-210] - InvoiceReferencedDocument should not be present</assert>
<assert test="$CII-SR-212" flag="warning" id="CII-SR-212">[CII-SR-212] - PayableSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-SR-213" flag="warning" id="CII-SR-213">[CII-SR-213] - SetTriggerCode should not be present</assert>
<assert test="$CII-SR-214" flag="warning" id="CII-SR-214">[CII-SR-214] - TypeCode should not be present</assert>
<assert test="$CII-SR-215" flag="warning" id="CII-SR-215">[CII-SR-215] - AmountTypeCode should not be present</assert>
<assert test="$CII-SR-216" flag="warning" id="CII-SR-216">[CII-SR-216] - Name should not be present</assert>
<assert test="$CII-SR-217" flag="warning" id="CII-SR-217">[CII-SR-217] - CostReferenceDimensionPattern should not be present</assert>
<assert test="$CII-SR-218" flag="warning" id="CII-SR-218">[CII-SR-218] - PurchaseSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-SR-219" flag="warning" id="CII-SR-219">[CII-SR-219] - SalesSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-SR-220" flag="warning" id="CII-SR-220">[CII-SR-220] - SpecifiedTradeSettlementFinancialCard should not be present</assert>
<assert test="$CII-SR-454" flag="warning" id="CII-SR-454">[CII-SR-454] - Only one ApplicableTradeTax should be present</assert>
</rule>
<rule context="$ApplicableHeaderTradeAgreement ">
<assert test="$CII-SR-442" flag="warning" id="CII-SR-442">[CII-SR-442] - Reference should not be present</assert>
<assert test="$CII-SR-222" flag="warning" id="CII-SR-222">[CII-SR-222] - RoleCode should not be present</assert>
<assert test="$CII-SR-223" flag="warning" id="CII-SR-223">[CII-SR-223] - LegalClassificationCode should not be present</assert>
<assert test="$CII-SR-224" flag="warning" id="CII-SR-224">[CII-SR-224] - Name should not be present</assert>
<assert test="$CII-SR-225" flag="warning" id="CII-SR-225">[CII-SR-225] - PostalTradeAddress should not be present</assert>
<assert test="$CII-SR-226" flag="warning" id="CII-SR-226">[CII-SR-226] - RoleCode should not be present</assert>
<assert test="$CII-SR-227" flag="warning" id="CII-SR-227">[CII-SR-227] - ID should not be present</assert>
<assert test="$CII-SR-228" flag="warning" id="CII-SR-228">[CII-SR-228] - TypeCode should not be present</assert>
<assert test="$CII-SR-229" flag="warning" id="CII-SR-229">[CII-SR-229] - JobTitle should not be present</assert>
<assert test="$CII-SR-230" flag="warning" id="CII-SR-230">[CII-SR-230] - Responsibility should not be present</assert>
<assert test="$CII-SR-231" flag="warning" id="CII-SR-231">[CII-SR-231] - PersonID should not be present</assert>
<assert test="$CII-SR-232" flag="warning" id="CII-SR-232">[CII-SR-232] - URIID should not be present</assert>
<assert test="$CII-SR-233" flag="warning" id="CII-SR-233">[CII-SR-233] - ChannelCode should not be present</assert>
<assert test="$CII-SR-234" flag="warning" id="CII-SR-234">[CII-SR-234] - DirectTelephoneUniversalCommunication should not be present</assert>
<assert test="$CII-SR-235" flag="warning" id="CII-SR-235">[CII-SR-235] - MobileTelephoneUniversalCommunication should not be present</assert>
<assert test="$CII-SR-236" flag="warning" id="CII-SR-236">[CII-SR-236] - FaxUniversalCommunication should not be present</assert>
<assert test="$CII-SR-237" flag="warning" id="CII-SR-237">[CII-SR-237] - ChannelCode should not be present</assert>
<assert test="$CII-SR-238" flag="warning" id="CII-SR-238">[CII-SR-238] - CompleteNumber should not be present</assert>
<assert test="$CII-SR-239" flag="warning" id="CII-SR-239">[CII-SR-239] - TelexUniversalCommunication should not be present</assert>
<assert test="$CII-SR-240" flag="warning" id="CII-SR-240">[CII-SR-240] - VOIPUniversalCommunication should not be present</assert>
<assert test="$CII-SR-241" flag="warning" id="CII-SR-241">[CII-SR-241] - InstantMessagingUniversalCommunication should not be present</assert>
<assert test="$CII-SR-242" flag="warning" id="CII-SR-242">[CII-SR-242] - SpecifiedNote should not be present</assert>
<assert test="$CII-SR-243" flag="warning" id="CII-SR-243">[CII-SR-243] - SpecifiedContactPerson should not be present</assert>
<assert test="$CII-SR-244" flag="warning" id="CII-SR-244">[CII-SR-244] - ChannelCode should not be present</assert>
<assert test="$CII-SR-245" flag="warning" id="CII-SR-245">[CII-SR-245] - CompleteNumber should not be present</assert>
<assert test="$CII-SR-246" flag="warning" id="CII-SR-246">[CII-SR-246] - AssociatedRegisteredTax should not be present</assert>
<assert test="$CII-SR-247" flag="warning" id="CII-SR-247">[CII-SR-247] - EndPointURIUniversalCommunication should not be present</assert>
<assert test="$CII-SR-248" flag="warning" id="CII-SR-248">[CII-SR-248] - LogoAssociatedSpecifiedBinaryFile should not be present</assert>
<assert test="$CII-SR-249" flag="warning" id="CII-SR-249">[CII-SR-249] - RoleCode should not be present</assert>
<assert test="$CII-SR-250" flag="warning" id="CII-SR-250">[CII-SR-250] - Description should not be present</assert>
<assert test="$CII-SR-251" flag="warning" id="CII-SR-251">[CII-SR-251] - LegalClassificationCode should not be present</assert>
<assert test="$CII-SR-252" flag="warning" id="CII-SR-252">[CII-SR-252] - Name should not be present</assert>
<assert test="$CII-SR-254" flag="warning" id="CII-SR-254">[CII-SR-254] - PostalTradeAddress should not be present</assert>
<assert test="$CII-SR-255" flag="warning" id="CII-SR-255">[CII-SR-255] - AuthorizedLegalRegistration should not be present</assert>
<assert test="$CII-SR-256" flag="warning" id="CII-SR-256">[CII-SR-256] - ID should not be present</assert>
<assert test="$CII-SR-257" flag="warning" id="CII-SR-257">[CII-SR-257] - TypeCode should not be present</assert>
<assert test="$CII-SR-258" flag="warning" id="CII-SR-258">[CII-SR-258] - JobTitle should not be present</assert>
<assert test="$CII-SR-259" flag="warning" id="CII-SR-259">[CII-SR-259] - Responsibility should not be present</assert>
<assert test="$CII-SR-260" flag="warning" id="CII-SR-260">[CII-SR-260] - PersonID should not be present</assert>
<assert test="$CII-SR-261" flag="warning" id="CII-SR-261">[CII-SR-261] - URIID should not be present</assert>
<assert test="$CII-SR-262" flag="warning" id="CII-SR-262">[CII-SR-262] - ChannelCode should not be present</assert>
<assert test="$CII-SR-263" flag="warning" id="CII-SR-263">[CII-SR-263] - DirectTelephoneUniversalCommunication should not be present</assert>
<assert test="$CII-SR-264" flag="warning" id="CII-SR-264">[CII-SR-264] - MobileTelephoneUniversalCommunication should not be present</assert>
<assert test="$CII-SR-265" flag="warning" id="CII-SR-265">[CII-SR-265] - FaxUniversalCommunication should not be present</assert>
<assert test="$CII-SR-266" flag="warning" id="CII-SR-266">[CII-SR-266] - ChannelCode should not be present</assert>
<assert test="$CII-SR-267" flag="warning" id="CII-SR-267">[CII-SR-267] - CompleteNumber should not be present</assert>
<assert test="$CII-SR-268" flag="warning" id="CII-SR-268">[CII-SR-268] - TelexUniversalCommunication should not be present</assert>
<assert test="$CII-SR-269" flag="warning" id="CII-SR-269">[CII-SR-269] - VOIPUniversalCommunication should not be present</assert>
<assert test="$CII-SR-270" flag="warning" id="CII-SR-270">[CII-SR-270] - InstantMessagingUniversalCommunication should not be present</assert>
<assert test="$CII-SR-271" flag="warning" id="CII-SR-271">[CII-SR-271] - SpecifiedNote should not be present</assert>
<assert test="$CII-SR-272" flag="warning" id="CII-SR-272">[CII-SR-272] - SpecifiedContactPerson should not be present</assert>
<assert test="$CII-SR-273" flag="warning" id="CII-SR-273">[CII-SR-273] - ChannelCode should not be present</assert>
<assert test="$CII-SR-274" flag="warning" id="CII-SR-274">[CII-SR-274] - CompleteNumber should not be present</assert>
<assert test="$CII-SR-275" flag="warning" id="CII-SR-275">[CII-SR-275] - AssociatedRegisteredTax should not be present</assert>
<assert test="$CII-SR-276" flag="warning" id="CII-SR-276">[CII-SR-276] - EndPointURIUniversalCommunication should not be present</assert>
<assert test="$CII-SR-277" flag="warning" id="CII-SR-277">[CII-SR-277] - LogoAssociatedSpecifiedBinaryFile should not be present</assert>
<assert test="$CII-SR-278" flag="warning" id="CII-SR-278">[CII-SR-278] - SalesAgentTradeParty should not be present</assert>
<assert test="$CII-SR-279" flag="warning" id="CII-SR-279">[CII-SR-279] - BuyerRequisitionerTradeParty should not be present</assert>
<assert test="$CII-SR-280" flag="warning" id="CII-SR-280">[CII-SR-280] - BuyerAssignedAccountantTradeParty should not be present</assert>
<assert test="$CII-SR-281" flag="warning" id="CII-SR-281">[CII-SR-281] - SellerAssignedAccountantTradeParty should not be present</assert>
<assert test="$CII-SR-282" flag="warning" id="CII-SR-282">[CII-SR-282] - BuyerTaxRepresentativeTradeParty should not be present</assert>
<assert test="$CII-SR-283" flag="warning" id="CII-SR-283">[CII-SR-283] - GlobalID should not be present</assert>
<assert test="$CII-SR-284" flag="warning" id="CII-SR-284">[CII-SR-284] - RoleCode should not be present</assert>
<assert test="$CII-SR-285" flag="warning" id="CII-SR-285">[CII-SR-285] - Description should not be present</assert>
<assert test="$CII-SR-286" flag="warning" id="CII-SR-286">[CII-SR-286] - SpecifiedLegalOrganization should not be present</assert>
<assert test="$CII-SR-287" flag="warning" id="CII-SR-287">[CII-SR-287] - DefinedTradeContact should not be present</assert>
<assert test="$CII-SR-288" flag="warning" id="CII-SR-288">[CII-SR-288] - URIUniversalCommunication should not be present</assert>
<assert test="$CII-SR-289" flag="warning" id="CII-SR-289">[CII-SR-289] - AssociatedRegisteredTax should not be present</assert>
<assert test="$CII-SR-290" flag="warning" id="CII-SR-290">[CII-SR-290] - EndPointURIUniversalCommunication should not be present</assert>
<assert test="$CII-SR-291" flag="warning" id="CII-SR-291">[CII-SR-291] - LogoAssociatedSpecifiedBinaryFile should not be present</assert>
<assert test="$CII-SR-292" flag="warning" id="CII-SR-292">[CII-SR-292] - ProductEndUserTradeParty should not be present</assert>
<assert test="$CII-SR-293" flag="warning" id="CII-SR-293">[CII-SR-293] - ApplicableTradeDeliveryTerms should not be present</assert>
<assert test="$CII-SR-294" flag="warning" id="CII-SR-294">[CII-SR-294] - LineID should not be present</assert>
<assert test="$CII-SR-295" flag="warning" id="CII-SR-295">[CII-SR-295] - LineID should not be present</assert>
<assert test="$CII-SR-296" flag="warning" id="CII-SR-296">[CII-SR-296] - QuotationReferencedDocument should not be present</assert>
<assert test="$CII-SR-297" flag="warning" id="CII-SR-297">[CII-SR-297] - OrderResponseReferencedDocument should not be present</assert>
<assert test="$CII-SR-298" flag="warning" id="CII-SR-298">[CII-SR-298] - LineID should not be present</assert>
<assert test="$CII-SR-299" flag="warning" id="CII-SR-299">[CII-SR-299] - DemandForecastReferencedDocument should not be present</assert>
<assert test="$CII-SR-300" flag="warning" id="CII-SR-300">[CII-SR-300] - SupplyInstructionReferencedDocument should not be present</assert>
<assert test="$CII-SR-301" flag="warning" id="CII-SR-301">[CII-SR-301] - PromotionalDealReferencedDocument should not be present</assert>
<assert test="$CII-SR-302" flag="warning" id="CII-SR-302">[CII-SR-302] - PriceListReferencedDocument should not be present</assert>
<assert test="$CII-SR-303" flag="warning" id="CII-SR-303">[CII-SR-303] - LineID should not be present</assert>
<assert test="$CII-SR-304" flag="warning" id="CII-SR-304">[CII-SR-304] - RequisitionerReferencedDocument should not be present</assert>
<assert test="$CII-SR-305" flag="warning" id="CII-SR-305">[CII-SR-305] - BuyerAgentTradeParty should not be present</assert>
<assert test="$CII-SR-306" flag="warning" id="CII-SR-306">[CII-SR-306] - PurchaseConditionsReferencedDocument should not be present</assert>
<assert test="$CII-SR-307" flag="warning" id="CII-SR-307">[CII-SR-307] - Description should not be present</assert>
<assert test="$CII-SR-448" flag="warning" id="CII-SR-448">[CII-SR-448] - UltimateCustomerOrderReferencedDocument should not be present</assert>
<assert test="$CII-SR-450" flag="warning" id="CII-SR-450">[CII-SR-450] - Only one buyer identifier should be present (either the ID or the Global ID)</assert>
<assert test="$CII-SR-455" flag="fatal" id="CII-SR-455">[CII-SR-455] - DefinedTradeContact of SellerTradeParty shall exist maximum once</assert>
<assert test="$CII-SR-456" flag="fatal" id="CII-SR-456">[CII-SR-456] - DefinedTradeContact of BuyerTradeParty shall exist maximum once</assert>
<assert test="$CII-SR-457" flag="warning" id="CII-SR-457">[CII-SR-457] - IssuerAssignedID with TypeCode 50 should exist maximum once</assert>
<assert test="$CII-SR-458" flag="warning" id="CII-SR-458">[CII-SR-458] - IssuerAssignedID with TypeCode 130 should exist maximum once</assert>
<assert test="$CII-SR-459" flag="fatal" id="CII-SR-459">[CII-SR-459] - SellerTradeParty URIUniversalCommunication should exist maximum once</assert>
<assert test="$CII-SR-460" flag="fatal" id="CII-SR-460">[CII-SR-460] - BuyerTradeParty URIUniversalCommunication should exist maximum once</assert>
</rule>
<rule context="$ApplicableHeaderTradeDelivery">
<assert test="$CII-SR-308" flag="warning" id="CII-SR-308">[CII-SR-308] - RelatedSupplyChainConsignment should not be present</assert>
<assert test="$CII-SR-309" flag="warning" id="CII-SR-309">[CII-SR-309] - RoleCode should not be present</assert>
<assert test="$CII-SR-310" flag="warning" id="CII-SR-310">[CII-SR-310] - Description should not be present</assert>
<assert test="$CII-SR-311" flag="warning" id="CII-SR-311">[CII-SR-311] - SpecifiedLegalOrganization should not be present</assert>
<assert test="$CII-SR-312" flag="warning" id="CII-SR-312">[CII-SR-312] - DefinedTradeContact should not be present</assert>
<assert test="$CII-SR-313" flag="warning" id="CII-SR-313">[CII-SR-313] - URIUniversalCommunication should not be present</assert>
<assert test="$CII-SR-314" flag="warning" id="CII-SR-314">[CII-SR-314] - SpecifiedTaxRegistration should not be present</assert>
<assert test="$CII-SR-315" flag="warning" id="CII-SR-315">[CII-SR-315] - EndPointURIUniversalCommunication should not be present</assert>
<assert test="$CII-SR-316" flag="warning" id="CII-SR-316">[CII-SR-316] - LogoAssociatedSpecifiedBinaryFile should not be present</assert>
<assert test="$CII-SR-317" flag="warning" id="CII-SR-317">[CII-SR-317] - UltimateShipToTradeParty should not be present</assert>
<assert test="$CII-SR-318" flag="warning" id="CII-SR-318">[CII-SR-318] - ShipFromTradeParty should not be present</assert>
<assert test="$CII-SR-319" flag="warning" id="CII-SR-319">[CII-SR-319] - ActualDespatchSupplyChainEvent should not be present</assert>
<assert test="$CII-SR-320" flag="warning" id="CII-SR-320">[CII-SR-320] - ActualPickUpSupplyChainEvent should not be present</assert>
<assert test="$CII-SR-321" flag="warning" id="CII-SR-321">[CII-SR-321] - ID should not be present</assert>
<assert test="$CII-SR-322" flag="warning" id="CII-SR-322">[CII-SR-322] - DateTime should not be present</assert>
<assert test="$CII-SR-323" flag="warning" id="CII-SR-323">[CII-SR-323] - TypeCode should not be present</assert>
<assert test="$CII-SR-324" flag="warning" id="CII-SR-324">[CII-SR-324] - Description should not be present</assert>
<assert test="$CII-SR-325" flag="warning" id="CII-SR-325">[CII-SR-325] - DescriptionBinaryObject should not be present</assert>
<assert test="$CII-SR-326" flag="warning" id="CII-SR-326">[CII-SR-326] - UnitQuantity should not be present</assert>
<assert test="$CII-SR-327" flag="warning" id="CII-SR-327">[CII-SR-327] - LatestOccurrenceDateTime should not be present</assert>
<assert test="$CII-SR-328" flag="warning" id="CII-SR-328">[CII-SR-328] - EarliestOccurrenceDateTime should not be present</assert>
<assert test="$CII-SR-329" flag="warning" id="CII-SR-329">[CII-SR-329] - OccurrenceSpecifiedPeriod should not be present</assert>
<assert test="$CII-SR-330" flag="warning" id="CII-SR-330">[CII-SR-330] - OccurrenceLogisticsLocation should not be present</assert>
<assert test="$CII-SR-331" flag="warning" id="CII-SR-331">[CII-SR-331] - ActualReceiptSupplyChainEvent should not be present</assert>
<assert test="$CII-SR-332" flag="warning" id="CII-SR-332">[CII-SR-332] - AdditionalReferencedDocument should not be present</assert>
<assert test="$CII-SR-333" flag="warning" id="CII-SR-333">[CII-SR-333] - LineID should not be present</assert>
<assert test="$CII-SR-334" flag="warning" id="CII-SR-334">[CII-SR-334] - LineID should not be present</assert>
<assert test="$CII-SR-335" flag="warning" id="CII-SR-335">[CII-SR-335] - DeliveryNoteReferencedDocument should not be present</assert>
<assert test="$CII-SR-336" flag="warning" id="CII-SR-336">[CII-SR-336] - ConsumptionReportReferencedDocument should not be present</assert>
<assert test="$CII-SR-337" flag="warning" id="CII-SR-337">[CII-SR-337] - PreviousDeliverySupplyChainEvent should not be present</assert>
<assert test="$CII-SR-338" flag="warning" id="CII-SR-338">[CII-SR-338] - PackingListReferencedDocument should not be present</assert>
<assert test="$CII-SR-449" flag="warning" id="CII-SR-449">[CII-SR-449] - Only one delivery to location identifier should be present (either the ID or the Global ID)</assert>
</rule>
<rule context="$ApplicableHeaderTradeSettlement">
<assert test="$CII-SR-339" flag="warning" id="CII-SR-339">[CII-SR-339] - DuePayableAmount should not be present</assert>
<assert test="$CII-SR-340" flag="warning" id="CII-SR-340">[CII-SR-340] - CreditorReferenceTypeCode should not be present</assert>
<assert test="$CII-SR-341" flag="warning" id="CII-SR-341">[CII-SR-341] - CreditorReferenceType should not be present</assert>
<assert test="$CII-SR-342" flag="warning" id="CII-SR-342">[CII-SR-342] - CreditorReferenceIssuerID should not be present</assert>
<assert test="$CII-SR-344" flag="warning" id="CII-SR-344">[CII-SR-344] - PaymentCurrencyCode should not be present</assert>
<assert test="$CII-SR-345" flag="warning" id="CII-SR-345">[CII-SR-345] - InvoiceIssuerReference should not be present</assert>
<assert test="$CII-SR-346" flag="warning" id="CII-SR-346">[CII-SR-346] - InvoiceDateTime should not be present</assert>
<assert test="$CII-SR-347" flag="warning" id="CII-SR-347">[CII-SR-347] - NextInvoiceDateTime should not be present</assert>
<assert test="$CII-SR-348" flag="warning" id="CII-SR-348">[CII-SR-348] - CreditReasonCode should not be present</assert>
<assert test="$CII-SR-349" flag="warning" id="CII-SR-349">[CII-SR-349] - CreditReason should not be present</assert>
<assert test="$CII-SR-350" flag="warning" id="CII-SR-350">[CII-SR-350] - InvoicerTradeParty should not be present</assert>
<assert test="$CII-SR-351" flag="warning" id="CII-SR-351">[CII-SR-351] - InvoiceeTradeParty should not be present</assert>
<assert test="$CII-SR-352" flag="warning" id="CII-SR-352">[CII-SR-352] - RoleCode should not be present</assert>
<assert test="$CII-SR-353" flag="warning" id="CII-SR-353">[CII-SR-353] - Description should not be present</assert>
<assert test="$CII-SR-354" flag="warning" id="CII-SR-354">[CII-SR-354] - LegalClassificationCode should not be present</assert>
<assert test="$CII-SR-355" flag="warning" id="CII-SR-355">[CII-SR-355] - Name should not be present</assert>
<assert test="$CII-SR-356" flag="warning" id="CII-SR-356">[CII-SR-356] - TradingBusinessName should not be present</assert>
<assert test="$CII-SR-357" flag="warning" id="CII-SR-357">[CII-SR-357] - PostalTradeAddress should not be present</assert>
<assert test="$CII-SR-358" flag="warning" id="CII-SR-358">[CII-SR-358] - AuthorizedLegalRegistration should not be present</assert>
<assert test="$CII-SR-359" flag="warning" id="CII-SR-359">[CII-SR-359] - DefinedTradeContact should not be present</assert>
<assert test="$CII-SR-360" flag="warning" id="CII-SR-360">[CII-SR-360] - PostalTradeAddress should not be present</assert>
<assert test="$CII-SR-361" flag="warning" id="CII-SR-361">[CII-SR-361] - URIUniversalCommunication should not be present</assert>
<assert test="$CII-SR-362" flag="warning" id="CII-SR-362">[CII-SR-362] - SpecifiedTaxRegistration should not be present</assert>
<assert test="$CII-SR-363" flag="warning" id="CII-SR-363">[CII-SR-363] - EndPointURIUniversalCommunication should not be present</assert>
<assert test="$CII-SR-364" flag="warning" id="CII-SR-364">[CII-SR-364] - LogoAssociatedSpecifiedBinaryFile should not be present</assert>
<assert test="$CII-SR-451" flag="warning" id="CII-SR-451">[CII-SR-451] - Only one payee identifier should be present (either the ID or the Global ID)</assert>
<assert test="$CII-SR-365" flag="warning" id="CII-SR-365">[CII-SR-365] - PayerTradeParty should not be present</assert>
<assert test="$CII-SR-366" flag="warning" id="CII-SR-366">[CII-SR-366] - TaxApplicableTradeCurrencyExchange should not be present</assert>
<assert test="$CII-SR-367" flag="warning" id="CII-SR-367">[CII-SR-367] - InvoiceApplicableTradeCurrencyExchange should not be present</assert>
<assert test="$CII-SR-368" flag="warning" id="CII-SR-368">[CII-SR-368] - PaymentApplicableTradeCurrencyExchange should not be present</assert>
<assert test="$CII-SR-369" flag="warning" id="CII-SR-369">[CII-SR-369] - PaymentChannelCode should not be present</assert>
<assert test="$CII-SR-370" flag="warning" id="CII-SR-370">[CII-SR-370] - GuaranteeMethodCode should not be present</assert>
<assert test="$CII-SR-371" flag="warning" id="CII-SR-371">[CII-SR-371] - PaymentMethodCode should not be present</assert>
<assert test="$CII-SR-443" flag="warning" id="CII-SR-443">[CII-SR-443] - ID should not be present</assert>
<assert test="$CII-SR-372" flag="warning" id="CII-SR-372">[CII-SR-372] - MicrochipIndicator should not be present</assert>
<assert test="$CII-SR-373" flag="warning" id="CII-SR-373">[CII-SR-373] - TypeCode should not be present</assert>
<assert test="$CII-SR-375" flag="warning" id="CII-SR-375">[CII-SR-375] - ExpiryDate should not be present</assert>
<assert test="$CII-SR-376" flag="warning" id="CII-SR-376">[CII-SR-376] - VerificationNumeric should not be present</assert>
<assert test="$CII-SR-377" flag="warning" id="CII-SR-377">[CII-SR-377] - ValidFromDateTime should not be present</assert>
<assert test="$CII-SR-378" flag="warning" id="CII-SR-378">[CII-SR-378] - CreditLimitAmountshould not be present</assert>
<assert test="$CII-SR-379" flag="warning" id="CII-SR-379">[CII-SR-379] - CreditAvailableAmount should not be present</assert>
<assert test="$CII-SR-380" flag="warning" id="CII-SR-380">[CII-SR-380] - InterestRatePercent should not be present</assert>
<assert test="$CII-SR-381" flag="warning" id="CII-SR-381">[CII-SR-381] - Description should not be present</assert>
<assert test="$CII-SR-382" flag="warning" id="CII-SR-382">[CII-SR-382] - AccountName should not be present</assert>
<assert test="$CII-SR-444" flag="warning" id="CII-SR-444">[CII-SR-444] - ProprietaryID should not be present</assert>
<assert test="$CII-SR-384" flag="warning" id="CII-SR-384">[CII-SR-384] - ClearingSystemName should not be present</assert>
<assert test="$CII-SR-385" flag="warning" id="CII-SR-385">[CII-SR-385] - Name should not be present</assert>
<assert test="$CII-SR-386" flag="warning" id="CII-SR-386">[CII-SR-386] - LocationFinancialInstitutionAddress should not be present</assert>
<assert test="$CII-SR-388" flag="warning" id="CII-SR-388">[CII-SR-388] - ID should not be present</assert>
<assert test="$CII-SR-389" flag="warning" id="CII-SR-389">[CII-SR-389] - SequenceNumeric should not be present</assert>
<assert test="$CII-SR-390" flag="warning" id="CII-SR-390">[CII-SR-390] - BasisQuantity should not be present</assert>
<assert test="$CII-SR-391" flag="warning" id="CII-SR-391">[CII-SR-391] - PrepaidIndicator should not be present</assert>
<assert test="$CII-SR-392" flag="warning" id="CII-SR-392">[CII-SR-392] - UnitBasisAmount should not be present</assert>
<assert test="$CII-SR-393" flag="warning" id="CII-SR-393">[CII-SR-393] - TypeCode should not be present</assert>
<assert test="$CII-SR-394" flag="warning" id="CII-SR-394">[CII-SR-394] - ActualTradeCurrencyExchange should not be present</assert>
<assert test="$CII-SR-395" flag="warning" id="CII-SR-395">[CII-SR-395] - SubtotalCalculatedTradeTax should not be present</assert>
<assert test="$CII-SR-396" flag="warning" id="CII-SR-396">[CII-SR-396] - SpecifiedLogisticsServiceCharge should not be present</assert>
<assert test="$CII-SR-397" flag="warning" id="CII-SR-397">[CII-SR-397] - ID should not be present</assert>
<assert test="$CII-SR-398" flag="warning" id="CII-SR-398">[CII-SR-398] - FromEventCode should not be present</assert>
<assert test="$CII-SR-399" flag="warning" id="CII-SR-399">[CII-SR-399] - SettlementPeriodMeasure should not be present</assert>
<assert test="$CII-SR-400" flag="warning" id="CII-SR-400">[CII-SR-400] - DateTime should not be present</assert>
<assert test="$CII-SR-401" flag="warning" id="CII-SR-401">[CII-SR-401] - TypeCode should not be present</assert>
<assert test="$CII-SR-402" flag="warning" id="CII-SR-402">[CII-SR-402] - InstructionTypeCode should not be present</assert>
<assert test="$CII-SR-404" flag="warning" id="CII-SR-404">[CII-SR-404] - PartialPaymentPercent should not be present</assert>
<assert test="$CII-SR-405" flag="warning" id="CII-SR-405">[CII-SR-405] - PaymentMeansID should not be present</assert>
<assert test="$CII-SR-406" flag="warning" id="CII-SR-406">[CII-SR-406] - PartialPaymentAmount should not be present</assert>
<assert test="$CII-SR-407" flag="warning" id="CII-SR-407">[CII-SR-407] - ApplicableTradePaymentPenaltyTerms should not be present</assert>
<assert test="$CII-SR-408" flag="warning" id="CII-SR-408">[CII-SR-408] - ApplicableTradePaymentDiscountTerms should not be present</assert>
<assert test="$CII-SR-409" flag="warning" id="CII-SR-409">[CII-SR-409] - PayeeTradeParty should not be present</assert>
<assert test="$CII-SR-421" flag="warning" id="CII-SR-421">[CII-SR-421] - SpecifiedFinancialAdjustment should not be present</assert>
<assert test="$CII-SR-422" flag="warning" id="CII-SR-422">[CII-SR-422] - LineID should not be present</assert>
<assert test="$CII-SR-423" flag="warning" id="CII-SR-423">[CII-SR-423] - ProFormaInvoiceReferencedDocument should not be present</assert>
<assert test="$CII-SR-424" flag="warning" id="CII-SR-424">[CII-SR-424] - LetterOfCreditReferencedDocument should not be present</assert>
<assert test="$CII-SR-425" flag="warning" id="CII-SR-425">[CII-SR-425] - FactoringAgreementReferencedDocument should not be present</assert>
<assert test="$CII-SR-426" flag="warning" id="CII-SR-426">[CII-SR-426] - FactoringListReferencedDocument should not be present</assert>
<assert test="$CII-SR-427" flag="warning" id="CII-SR-427">[CII-SR-427] - PayableSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-SR-428" flag="warning" id="CII-SR-428">[CII-SR-428] - SetTriggerCode should not be present</assert>
<assert test="$CII-SR-429" flag="warning" id="CII-SR-429">[CII-SR-429] - TypeCode should not be present</assert>
<assert test="$CII-SR-430" flag="warning" id="CII-SR-430">[CII-SR-430] - AmountTypeCode should not be present</assert>
<assert test="$CII-SR-431" flag="warning" id="CII-SR-431">[CII-SR-431] - Name should not be present</assert>
<assert test="$CII-SR-432" flag="warning" id="CII-SR-432">[CII-SR-432] - CostReferenceDimensionPattern should not be present</assert>
<assert test="$CII-SR-433" flag="warning" id="CII-SR-433">[CII-SR-433] - PurchaseSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-SR-434" flag="warning" id="CII-SR-434">[CII-SR-434] - SalesSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-SR-435" flag="warning" id="CII-SR-435">[CII-SR-435] - SpecifiedTradeSettlementFinancialCard should not be present</assert>
<assert test="$CII-SR-436" flag="warning" id="CII-SR-436">[CII-SR-436] - SpecifiedAdvancePayment should not be present</assert>
<assert test="$CII-SR-437" flag="warning" id="CII-SR-437">[CII-SR-437] - UltimatePayeeTradeParty should not be present</assert>
<assert test="$CII-SR-452" flag="warning" id="CII-SR-452">[CII-SR-452] - Only one SpecifiedTradePaymentTerms should be present</assert>
<assert test="$CII-SR-453" flag="warning" id="CII-SR-453">[CII-SR-453] - Only one SpecifiedTradePaymentTerms Description should be present</assert>
<assert test="$CII-SR-461" flag="fatal" id="CII-SR-461">[CII-SR-461] - Only one TaxPointDate shall be present</assert>
<assert test="$CII-SR-462" flag="fatal" id="CII-SR-462">[CII-SR-462] - Only one DueDateTypeCode shall be present</assert>
</rule>
<rule context="$SpecifiedTradeSettlementHeaderMonetarySummation">
<assert test="$CII-SR-411" flag="warning" id="CII-SR-411">[CII-SR-411] - InformationAmount should not be present</assert>
<assert test="$CII-SR-412" flag="warning" id="CII-SR-412">[CII-SR-412] - TotalDiscountAmount should not be present</assert>
<assert test="$CII-SR-413" flag="warning" id="CII-SR-413">[CII-SR-413] - TotalAllowanceChargeAmount should not be present</assert>
<assert test="$CII-SR-414" flag="warning" id="CII-SR-414">[CII-SR-414] - RetailValueExcludingTaxInformationAmount should not be present</assert>
<assert test="$CII-SR-415" flag="warning" id="CII-SR-415">[CII-SR-415] - TotalDepositFeeInformationAmount should not be present</assert>
<assert test="$CII-SR-416" flag="warning" id="CII-SR-416">[CII-SR-416] - ProductValueExcludingTobaccoTaxInformationAmount should not be present</assert>
<assert test="$CII-SR-417" flag="warning" id="CII-SR-417">[CII-SR-417] - TotalRetailValueInformationAmount should not be present</assert>
<assert test="$CII-SR-418" flag="warning" id="CII-SR-418">[CII-SR-418] - GrossLineTotalAmount should not be present</assert>
<assert test="$CII-SR-419" flag="warning" id="CII-SR-419">[CII-SR-419] - NetLineTotalAmount should not be present</assert>
<assert test="$CII-SR-420" flag="warning" id="CII-SR-420">[CII-SR-420] - NetIncludingTaxesLineTotalAmount should not be present</assert>
</rule>
<rule context="$Invoice">
<assert test="$CII-DT-013" flag="fatal" id="CII-DT-013">[CII-DT-013] - languageID should not be present</assert>
<assert test="$CII-DT-014" flag="fatal" id="CII-DT-014">[CII-DT-014] - languageLocaleID should not be present</assert>
<assert test="$CII-SR-438" flag="warning" id="CII-SR-438">[CII-SR-438] - ValuationBreakdownStatement should not be present</assert>
</rule>
<rule context="$DocumentContextParameter">
<assert test="$CII-SR-004" flag="warning" id="CII-SR-04">[CII-SR-004] - Value should not be present</assert>
<assert test="$CII-SR-005" flag="warning" id="CII-SR-05">[CII-SR-005] - SpecifiedDocumentVersion should not be present</assert>
</rule>
<rule context="$IDTypeNoAttributes">
<!-- Rules DT-001 to DT-004 need to be copied here to take effect -->
<assert test="$CII-DT-001" flag="fatal" id="CII-DT-001">[CII-DT-001] - schemeName should not be present</assert>
<assert test="$CII-DT-002" flag="fatal" id="CII-DT-002">[CII-DT-002] - schemeAgencyName should not be present</assert>
<assert test="$CII-DT-003" flag="fatal" id="CII-DT-003">[CII-DT-003] - schemeDataURI should not be present</assert>
<assert test="$CII-DT-004" flag="fatal" id="CII-DT-004">[CII-DT-004] - schemeURI should not be present</assert>
<assert test="$CII-DT-005" flag="fatal" id="CII-DT-005">[CII-DT-005] - schemeID should not be present</assert>
<assert test="$CII-DT-006" flag="fatal" id="CII-DT-006">[CII-DT-006] - schemeAgencyID should not be present</assert>
<assert test="$CII-DT-007" flag="fatal" id="CII-DT-007">[CII-DT-007] - schemeVersionID should not be present</assert>
</rule>
<rule context="$IDType">
<assert test="$CII-DT-001" flag="fatal" id="CII-DT-001">[CII-DT-001] - schemeName should not be present</assert>
<assert test="$CII-DT-002" flag="fatal" id="CII-DT-002">[CII-DT-002] - schemeAgencyName should not be present</assert>
<assert test="$CII-DT-003" flag="fatal" id="CII-DT-003">[CII-DT-003] - schemeDataURI should not be present</assert>
<assert test="$CII-DT-004" flag="fatal" id="CII-DT-004">[CII-DT-004] - schemeURI should not be present</assert>
</rule>
<rule context="$TypeCodeType">
<assert test="$CII-DT-008" flag="fatal" id="CII-DT-008">[CII-DT-008] - name should not be present</assert>
<assert test="$CII-DT-009" flag="fatal" id="CII-DT-009">[CII-DT-009] - listURI should not be present</assert>
</rule>
<rule context="$NoAttributesTypeCodeType">
<assert test="$CII-DT-010" flag="fatal" id="CII-DT-010">[CII-DT-010] - listID should not be present</assert>
<assert test="$CII-DT-011" flag="fatal" id="CII-DT-011">[CII-DT-011] - listAgencyID should not be present</assert>
<assert test="$CII-DT-012" flag="fatal" id="CII-DT-012">[CII-DT-012] - listVersionID should not be present</assert>
</rule>
<rule context="$CategoryCodeNoAttributes">
<assert test="$CII-DT-045" flag="warning" id="CII-DT-045">[CII-DT-045] - @listID should not be present</assert>
<assert test="$CII-DT-046" flag="warning" id="CII-DT-046">[CII-DT-046] - @listAgencyID should not be present</assert>
<assert test="$CII-DT-047" flag="warning" id="CII-DT-047">[CII-DT-047] - @listVersionID should not be present</assert>
<assert test="$CII-DT-048" flag="warning" id="CII-DT-048">[CII-DT-048] - @listURI should not be present</assert>
</rule>
<rule context="$ReferencedDocumentType">
<assert test="$CII-DT-015" flag="fatal" id="CII-DT-015">[CII-DT-015] - URIID should not be present</assert>
<assert test="$CII-DT-016" flag="fatal" id="CII-DT-016">[CII-DT-016] - StatusCode should not be present</assert>
<assert test="$CII-DT-017" flag="fatal" id="CII-DT-017">[CII-DT-017] - CopyIndicator should not be present</assert>
<assert test="$CII-DT-018" flag="fatal" id="CII-DT-018">[CII-DT-018] - TypeCode should not be present</assert>
<assert test="$CII-DT-019" flag="fatal" id="CII-DT-019">[CII-DT-019] - GlobalID should not be present</assert>
<assert test="$CII-DT-020" flag="fatal" id="CII-DT-020">[CII-DT-020] - RevisionID should not be present</assert>
<assert test="$CII-DT-021" flag="fatal" id="CII-DT-021">[CII-DT-021] - Name should not be present</assert>
<assert test="$CII-DT-022" flag="fatal" id="CII-DT-022">[CII-DT-022] - AttachmentBinaryObject should not be present</assert>
<assert test="$CII-DT-023" flag="fatal" id="CII-DT-023">[CII-DT-023] - Information should not be present</assert>
<assert test="$CII-DT-024" flag="fatal" id="CII-DT-024">[CII-DT-024] - ReferenceTypeCode should not be present</assert>
<assert test="$CII-DT-025" flag="fatal" id="CII-DT-025">[CII-DT-025] - SectionName should not be present</assert>
<assert test="$CII-DT-026" flag="fatal" id="CII-DT-026">[CII-DT-026] - PreviousRevisionID should not be present</assert>
<assert test="$CII-DT-027" flag="fatal" id="CII-DT-027">[CII-DT-027] - FormattedIssueDateTime should not be present</assert>
<assert test="$CII-DT-028" flag="fatal" id="CII-DT-028">[CII-DT-028] - EffectiveSpecifiedPeriod should not be present</assert>
<assert test="$CII-DT-029" flag="fatal" id="CII-DT-029">[CII-DT-029] - IssuerTradeParty should not be present</assert>
<assert test="$CII-DT-030" flag="fatal" id="CII-DT-030">[CII-DT-030] - AttachedSpecifiedBinaryFile should not be present</assert>
</rule>
<rule context="$AmountType">
<assert test="$CII-DT-031" flag="fatal" id="CII-DT-031">[CII-DT-031] - currencyID should not be present</assert>
<assert test="$CII-DT-032" flag="fatal" id="CII-DT-032">[CII-DT-032] - currencyCodeListVersionID should not be present</assert>
</rule>
<rule context="$QuantityType">
<assert test="$CII-DT-033" flag="fatal" id="CII-DT-033">[CII-DT-033] - unitCode should not be present</assert>
<assert test="$CII-DT-034" flag="fatal" id="CII-DT-034">[CII-DT-034] - unitCodeListID should not be present</assert>
<assert test="$CII-DT-035" flag="fatal" id="CII-DT-035">[CII-DT-035] - unitCodeListAgencyID should not be present</assert>
<assert test="$CII-DT-036" flag="fatal" id="CII-DT-036">[CII-DT-036] - unitCodeListAgencyName should not be present</assert>
</rule>
<rule context="$TradeTaxType">
<assert test="$CII-DT-037" flag="fatal" id="CII-DT-037">[CII-DT-037] - TypeCode shall be 'VAT'</assert>
<assert test="$CII-DT-038" flag="warning" id="CII-DT-038">[CII-DT-038] - CalculatedRate should not be present</assert>
<assert test="$CII-DT-039" flag="warning" id="CII-DT-039">[CII-DT-039] - CalculationSequenceNumeric should not be present</assert>
<assert test="$CII-DT-040" flag="warning" id="CII-DT-040">[CII-DT-040] - BasisQuantity should not be present</assert>
<assert test="$CII-DT-041" flag="warning" id="CII-DT-041">[CII-DT-041] - BasisAmount should not be present</assert>
<assert test="$CII-DT-042" flag="warning" id="CII-DT-042">[CII-DT-042] - UnitBasisAmount should not be present</assert>
<assert test="$CII-DT-043" flag="warning" id="CII-DT-043">[CII-DT-043] - LineTotalBasisAmount should not be present</assert>
<assert test="$CII-DT-044" flag="warning" id="CII-DT-044">[CII-DT-044] - AllowanceChargeBasisAmount should not be present</assert>
<assert test="$CII-DT-049" flag="warning" id="CII-DT-049">[CII-DT-049] - CurrencyCode should not be present</assert>
<assert test="$CII-DT-050" flag="warning" id="CII-DT-050">[CII-DT-050] - Jurisdiction should not be present</assert>
<assert test="$CII-DT-051" flag="warning" id="CII-DT-051">[CII-DT-051] - CustomsDutyIndicator should not be present</assert>
<assert test="$CII-DT-052" flag="warning" id="CII-DT-052">[CII-DT-052] - ExemptionReasonCode should not be present</assert>
<assert test="$CII-DT-098" flag="warning" id="CII-DT-098">[CII-DT-098] - ExemptionReason should not be present</assert>
<assert test="$CII-DT-053" flag="warning" id="CII-DT-053">[CII-DT-053] - TaxBasisAllowanceRate should not be present</assert>
<assert test="$CII-DT-054" flag="warning" id="CII-DT-054">[CII-DT-054] - TaxPointDate should not be present</assert>
<assert test="$CII-DT-055" flag="warning" id="CII-DT-055">[CII-DT-055] - Type should not be present</assert>
<assert test="$CII-DT-056" flag="warning" id="CII-DT-056">[CII-DT-056] - InformationAmount should not be present</assert>
<assert test="$CII-DT-057" flag="warning" id="CII-DT-057">[CII-DT-057] - CategoryName should not be present</assert>
<assert test="$CII-DT-058" flag="warning" id="CII-DT-058">[CII-DT-058] - DueDateTypeCode should not be present</assert>
<assert test="$CII-DT-059" flag="warning" id="CII-DT-059">[CII-DT-059] - @format should not be present</assert>
<assert test="$CII-DT-060" flag="warning" id="CII-DT-060">[CII-DT-060] - SpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-DT-061" flag="warning" id="CII-DT-061">[CII-DT-061] - ServiceSupplyTradeCountry should not be present</assert>
<assert test="$CII-DT-062" flag="warning" id="CII-DT-062">[CII-DT-062] - BuyerRepayableTaxSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-DT-063" flag="warning" id="CII-DT-063">[CII-DT-063] - SellerPayableTaxSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-DT-064" flag="warning" id="CII-DT-064">[CII-DT-064] - SellerRefundableTaxSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-DT-065" flag="warning" id="CII-DT-065">[CII-DT-065] - BuyerDeductibleTaxSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-DT-066" flag="warning" id="CII-DT-066">[CII-DT-066] - BuyerNonDeductibleTaxSpecifiedTradeAccountingAccount should not be present</assert>
<assert test="$CII-DT-067" flag="warning" id="CII-DT-067">[CII-DT-067] - PlaceApplicableTradeLocation should not be present</assert>
</rule>
<rule context="$BillingSpecifiedPeriodType">
<assert test="$CII-DT-068" flag="fatal" id="CII-DT-068">[CII-DT-068] - DateTime shall not be used.</assert>
<assert test="$CII-DT-069" flag="fatal" id="CII-DT-069">[CII-DT-069] - DurationMeasure shall not be used.</assert>
<assert test="$CII-DT-070" flag="fatal" id="CII-DT-070">[CII-DT-070] - InclusiveIndicator shall not be used.</assert>
<assert test="$CII-DT-071" flag="fatal" id="CII-DT-071">[CII-DT-071] - Description shall not be used.</assert>
<assert test="$CII-DT-072" flag="fatal" id="CII-DT-072">[CII-DT-072] - DateTime shall not be used.</assert>
<assert test="$CII-DT-073" flag="fatal" id="CII-DT-073">[CII-DT-073] - CompleteDateTime shall not be used.</assert>
<assert test="$CII-DT-074" flag="fatal" id="CII-DT-074">[CII-DT-074] - OpenIndicator shall not be used.</assert>
<assert test="$CII-DT-075" flag="fatal" id="CII-DT-075">[CII-DT-075] - SeasonCode shall not be used.</assert>
<assert test="$CII-DT-076" flag="fatal" id="CII-DT-076">[CII-DT-076] - ID shall not be used.</assert>
<assert test="$CII-DT-077" flag="fatal" id="CII-DT-077">[CII-DT-077] - Name shall not be used.</assert>
<assert test="$CII-DT-078" flag="fatal" id="CII-DT-078">[CII-DT-078] - SequenceNumeric shall not be used.</assert>
<assert test="$CII-DT-079" flag="fatal" id="CII-DT-079">[CII-DT-079] - StartDateFlexibilityCode shall not be used.</assert>
<assert test="$CII-DT-080" flag="fatal" id="CII-DT-080">[CII-DT-080] - ContinuousIndicator shall not be used.</assert>
<assert test="$CII-DT-081" flag="fatal" id="CII-DT-081">[CII-DT-081] - PurposeCode shall not be used.</assert>
</rule>
<rule context="$PostalTradeAddressType">
<assert test="$CII-DT-082" flag="fatal" id="CII-DT-082">[CII-DT-082] - ID shall not be used.</assert>
<assert test="$CII-DT-083" flag="fatal" id="CII-DT-083">[CII-DT-083] - PostOfficeBox shall not be used.</assert>
<assert test="$CII-DT-084" flag="fatal" id="CII-DT-084">[CII-DT-084] - BuildingName shall not be used.</assert>
<assert test="$CII-DT-086" flag="fatal" id="CII-DT-086">[CII-DT-086] - LineFour shall not be used.</assert>
<assert test="$CII-DT-087" flag="fatal" id="CII-DT-087">[CII-DT-087] - LineFive shall not be used.</assert>
<assert test="$CII-DT-088" flag="fatal" id="CII-DT-088">[CII-DT-088] - StreetName shall not be used.</assert>
<assert test="$CII-DT-089" flag="fatal" id="CII-DT-089">[CII-DT-089] - CitySubDivisionName shall not be used.</assert>
<assert test="$CII-DT-090" flag="fatal" id="CII-DT-090">[CII-DT-090] - CountryName shall not be used.</assert>
<assert test="$CII-DT-091" flag="fatal" id="CII-DT-091">[CII-DT-091] - CountrySubDivisionID shall not be used.</assert>
<assert test="$CII-DT-092" flag="fatal" id="CII-DT-092">[CII-DT-092] - AttentionOf shall not be used.</assert>
<assert test="$CII-DT-093" flag="fatal" id="CII-DT-093">[CII-DT-093] - CareOf shall not be used.</assert>
<assert test="$CII-DT-094" flag="fatal" id="CII-DT-094">[CII-DT-094] - BuildingNumber shall not be used.</assert>
<assert test="$CII-DT-095" flag="fatal" id="CII-DT-095">[CII-DT-095] - DepartmentName shall not be used.</assert>
<assert test="$CII-DT-096" flag="fatal" id="CII-DT-096">[CII-DT-096] - AdditionalStreetName shall not be used.</assert>
</rule>
<rule context="$DateTimeString">
<assert test="$CII-DT-097" flag="fatal" id="CII-DT-097">[CII-DT-097] - Date time string with format attribute 102 shall be YYYYMMDD.</assert>
</rule>
</pattern>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long