This commit is contained in:
jstaerk
2024-11-17 21:08:00 +01:00
parent b90fed87ac
commit fcb2813a10
47 changed files with 14367 additions and 14008 deletions

View File

@@ -190,7 +190,7 @@ public class XMLValidator extends Validator {
boolean isEN16931 = false;
boolean isExtended = false;
boolean isXRechnung = false;
String currentZFVersionDir = "ZF_230";
String currentZFVersionDir = "ZF_232";
int mainSchematronSectionErrorTypeCode=4;
String xsltFilename = null;
// urn:ferd:CrossIndustryDocument:invoice:1p0:extended,

View File

@@ -5,8 +5,8 @@
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
targetNamespace="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
elementFormDefault="qualified">
<xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.0.07_BASICWL_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.0.07_BASICWL_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.07.2_BASICWL_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.07.2_BASICWL_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
<xs:complexType name="CreditorFinancialAccountType">
<xs:sequence>
<xs:element name="IBANID" type="udt:IDType" minOccurs="0"/>

View File

@@ -5,8 +5,8 @@
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
targetNamespace="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
elementFormDefault="qualified">
<xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.0.07_BASIC_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.0.07_BASIC_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.07.2_BASIC_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.07.2_BASIC_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
<xs:complexType name="CreditorFinancialAccountType">
<xs:sequence>
<xs:element name="IBANID" type="udt:IDType" minOccurs="0"/>

View File

@@ -5,8 +5,8 @@
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
targetNamespace="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
elementFormDefault="qualified">
<xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.0.07_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.07.2_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
<xs:complexType name="CreditorFinancialAccountType">
<xs:sequence>
<xs:element name="IBANID" type="udt:IDType" minOccurs="0"/>

View File

@@ -5,8 +5,8 @@
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
targetNamespace="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
elementFormDefault="qualified">
<xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.0.07_EXTENDED_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.0.07_EXTENDED_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.07.2_EXTENDED_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.07.2_EXTENDED_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
<xs:complexType name="AdvancePaymentType">
<xs:sequence>
<xs:element name="PaidAmount" type="udt:AmountType"/>

View File

@@ -5,8 +5,8 @@
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
targetNamespace="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
elementFormDefault="qualified">
<xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.0.07_MINIMUM_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.0.07_MINIMUM_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="Factur-X_1.07.2_MINIMUM_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd"/>
<xs:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="Factur-X_1.07.2_MINIMUM_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd"/>
<xs:complexType name="DocumentContextParameterType">
<xs:sequence>
<xs:element name="ID" type="udt:IDType"/>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso">
<title>Schema for Factur-X; 1.0.07; Accounting, BASIC without Lines</title>
<title>Schema for Factur-X; 1.07.2; Accounting, BASIC without Lines</title>
<ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/>
<ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/>
<ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/>
@@ -164,7 +164,7 @@
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ram:CategoryTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000091" test="/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']">
[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 id="FX-SCH-A-000092" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000092" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>
@@ -236,7 +236,7 @@
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ram:CategoryTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000109" test="/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']">
[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 id="FX-SCH-A-000110" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000110" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>
@@ -322,12 +322,16 @@
[BR-CO-27]-Either the IBAN or a Proprietary ID (BT-84) shall be used.</assert>
</rule>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayeePartyCreditorFinancialAccount">
<assert id="FX-SCH-A-000134" test="(ram:IBANID) or (ram:ProprietaryID)">
[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>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayerPartyDebtorFinancialAccount">
<assert id="FX-SCH-A-000133" test="(ram:IBANID) or (ram:ProprietaryID)">
[BR-50]-A Payment account identifier (BT-84) shall be present if Credit transfer (BG-16) information is provided in the Invoice.</assert>
<assert id="FX-SCH-A-000134" test="(ram:IBANID) or (ram:ProprietaryID)">
[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>
</pattern>
<pattern>

View File

@@ -2,6 +2,7 @@
<codedb>
<cl id="1">
<enumeration value="urn:factur-x.eu:1p0:basicwl"/>
<enumeration value="urn:zugferd.de:2p0:basicwl"/>
</cl>
<cl id="2">
<enumeration value="71"/>
@@ -692,6 +693,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="6">
<enumeration value="0002"/>
@@ -919,6 +928,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="7">
<enumeration value="AD"/>
@@ -1189,6 +1206,7 @@
<enumeration value="0147"/>
<enumeration value="0151"/>
<enumeration value="0170"/>
<enumeration value="0177"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0188"/>
@@ -1220,6 +1238,7 @@
<enumeration value="0221"/>
<enumeration value="0225"/>
<enumeration value="0230"/>
<enumeration value="0235"/>
<enumeration value="9901"/>
<enumeration value="9910"/>
<enumeration value="9913"/>
@@ -1336,7 +1355,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -1429,6 +1447,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -1453,6 +1472,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="12">
@@ -1588,6 +1608,8 @@
<enumeration value="VATEX-EU-143-1J"/>
<enumeration value="VATEX-EU-143-1K"/>
<enumeration value="VATEX-EU-143-1L"/>
<enumeration value="VATEX-EU-144"/>
<enumeration value="VATEX-EU-146-1E"/>
<enumeration value="VATEX-EU-148"/>
<enumeration value="VATEX-EU-148-A"/>
<enumeration value="VATEX-EU-148-B"/>
@@ -1603,6 +1625,7 @@
<enumeration value="VATEX-EU-151-1C"/>
<enumeration value="VATEX-EU-151-1D"/>
<enumeration value="VATEX-EU-151-1E"/>
<enumeration value="VATEX-EU-159"/>
<enumeration value="VATEX-EU-309"/>
<enumeration value="VATEX-EU-79-C"/>
<enumeration value="VATEX-EU-AE"/>
@@ -1884,7 +1907,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -1977,6 +1999,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -2001,6 +2024,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="20">
@@ -2065,7 +2089,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -2158,6 +2181,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -2182,6 +2206,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="21">

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso">
<title>Schema for Factur-X; 1.0.07; EN16931-COMPLIANT-BASIC</title>
<title>Schema for Factur-X; 1.07.2; EN16931-COMPLIANT-BASIC</title>
<ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/>
<ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/>
<ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/>
@@ -118,7 +118,7 @@
[BR-65]-The Item classification identifier (BT-158) shall have a Scheme identifier.</assert>
<assert id="FX-SCH-A-000210" test="(ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[upper-case(ram:TypeCode) = 'VAT']/ram:CategoryCode)">
[BR-CO-04]-Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).</assert>
<assert id="FX-SCH-A-000211" test="string-length(substring-after(ram:SpecifiedTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount,'.'))&lt;=2">
<assert id="FX-SCH-A-000211" test="string-length(substring-after(ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount,'.'))&lt;=2">
[BR-DEC-23]-The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.</assert>
</rule>
</pattern>
@@ -246,7 +246,7 @@
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ram:CategoryTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000091" test="/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']">
[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 id="FX-SCH-A-000092" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000092" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>
@@ -318,7 +318,7 @@
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ram:CategoryTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000109" test="/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']">
[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 id="FX-SCH-A-000110" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000110" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>
@@ -406,12 +406,16 @@
[BR-CO-27]-Either the IBAN or a Proprietary ID (BT-84) shall be used.</assert>
</rule>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayeePartyCreditorFinancialAccount">
<assert id="FX-SCH-A-000134" test="(ram:IBANID) or (ram:ProprietaryID)">
[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>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayerPartyDebtorFinancialAccount">
<assert id="FX-SCH-A-000133" test="(ram:IBANID) or (ram:ProprietaryID)">
[BR-50]-A Payment account identifier (BT-84) shall be present if Credit transfer (BG-16) information is provided in the Invoice.</assert>
<assert id="FX-SCH-A-000134" test="(ram:IBANID) or (ram:ProprietaryID)">
[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>
</pattern>
<pattern>
@@ -546,7 +550,7 @@
<rule context="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000245" test="/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']">
[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 id="FX-SCH-A-000246" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000246" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>

View File

@@ -2,6 +2,7 @@
<codedb>
<cl id="1">
<enumeration value="urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic"/>
<enumeration value="urn:cen.eu:en16931:2017#compliant#urn:zugferd.de:2p0:basic"/>
</cl>
<cl id="2">
<enumeration value="71"/>
@@ -692,6 +693,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="6">
<enumeration value="10"/>
@@ -3298,6 +3307,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="12">
<enumeration value="0002"/>
@@ -3525,6 +3542,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="13">
<enumeration value="AD"/>
@@ -3795,6 +3820,7 @@
<enumeration value="0147"/>
<enumeration value="0151"/>
<enumeration value="0170"/>
<enumeration value="0177"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0188"/>
@@ -3826,6 +3852,7 @@
<enumeration value="0221"/>
<enumeration value="0225"/>
<enumeration value="0230"/>
<enumeration value="0235"/>
<enumeration value="9901"/>
<enumeration value="9910"/>
<enumeration value="9913"/>
@@ -3942,7 +3969,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -4035,6 +4061,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -4059,6 +4086,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="18">
@@ -4180,6 +4208,8 @@
<enumeration value="VATEX-EU-143-1J"/>
<enumeration value="VATEX-EU-143-1K"/>
<enumeration value="VATEX-EU-143-1L"/>
<enumeration value="VATEX-EU-144"/>
<enumeration value="VATEX-EU-146-1E"/>
<enumeration value="VATEX-EU-148"/>
<enumeration value="VATEX-EU-148-A"/>
<enumeration value="VATEX-EU-148-B"/>
@@ -4195,6 +4225,7 @@
<enumeration value="VATEX-EU-151-1C"/>
<enumeration value="VATEX-EU-151-1D"/>
<enumeration value="VATEX-EU-151-1E"/>
<enumeration value="VATEX-EU-159"/>
<enumeration value="VATEX-EU-309"/>
<enumeration value="VATEX-EU-79-C"/>
<enumeration value="VATEX-EU-AE"/>
@@ -4476,7 +4507,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -4569,6 +4599,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -4593,6 +4624,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="24">
@@ -4657,7 +4689,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -4750,6 +4781,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -4774,6 +4806,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="25">

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso">
<title>Schema for Factur-X; 1.0.07; EN16931-COMPLIANT (FULLY)</title>
<title>Schema for Factur-X; 1.07.2; EN16931-COMPLIANT (FULLY)</title>
<ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/>
<ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/>
<ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/>
@@ -130,7 +130,7 @@
[BR-65]-The Item classification identifier (BT-158) shall have a Scheme identifier.</assert>
<assert id="FX-SCH-A-000210" test="(ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[upper-case(ram:TypeCode) = 'VAT']/ram:CategoryCode)">
[BR-CO-04]-Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).</assert>
<assert id="FX-SCH-A-000211" test="string-length(substring-after(ram:SpecifiedTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount,'.'))&lt;=2">
<assert id="FX-SCH-A-000211" test="string-length(substring-after(ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount,'.'))&lt;=2">
[BR-DEC-23]-The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.</assert>
</rule>
</pattern>
@@ -258,7 +258,7 @@
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ram:CategoryTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000091" test="/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']">
[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 id="FX-SCH-A-000092" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000092" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>
@@ -330,7 +330,7 @@
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ram:CategoryTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000109" test="/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']">
[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 id="FX-SCH-A-000110" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000110" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>
@@ -418,12 +418,16 @@
[BR-CO-27]-Either the IBAN or a Proprietary ID (BT-84) shall be used.</assert>
</rule>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayeePartyCreditorFinancialAccount">
<assert id="FX-SCH-A-000134" test="(ram:IBANID) or (ram:ProprietaryID)">
[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>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayerPartyDebtorFinancialAccount">
<assert id="FX-SCH-A-000133" test="(ram:IBANID) or (ram:ProprietaryID)">
[BR-50]-A Payment account identifier (BT-84) shall be present if Credit transfer (BG-16) information is provided in the Invoice.</assert>
<assert id="FX-SCH-A-000134" test="(ram:IBANID) or (ram:ProprietaryID)">
[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>
</pattern>
<pattern>
@@ -558,7 +562,7 @@
<rule context="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000245" test="/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']">
[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 id="FX-SCH-A-000246" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000246" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>

View File

@@ -692,6 +692,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="6">
<enumeration value="AA"/>
@@ -4561,6 +4569,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="16">
<enumeration value="0002"/>
@@ -4788,6 +4804,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="17">
<enumeration value="0002"/>
@@ -4805,6 +4829,7 @@
<enumeration value="0147"/>
<enumeration value="0151"/>
<enumeration value="0170"/>
<enumeration value="0177"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0188"/>
@@ -4836,6 +4861,7 @@
<enumeration value="0221"/>
<enumeration value="0225"/>
<enumeration value="0230"/>
<enumeration value="0235"/>
<enumeration value="9901"/>
<enumeration value="9910"/>
<enumeration value="9913"/>
@@ -4969,7 +4995,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -5062,6 +5087,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -5086,6 +5112,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="25">
@@ -5207,6 +5234,8 @@
<enumeration value="VATEX-EU-143-1J"/>
<enumeration value="VATEX-EU-143-1K"/>
<enumeration value="VATEX-EU-143-1L"/>
<enumeration value="VATEX-EU-144"/>
<enumeration value="VATEX-EU-146-1E"/>
<enumeration value="VATEX-EU-148"/>
<enumeration value="VATEX-EU-148-A"/>
<enumeration value="VATEX-EU-148-B"/>
@@ -5222,6 +5251,7 @@
<enumeration value="VATEX-EU-151-1C"/>
<enumeration value="VATEX-EU-151-1D"/>
<enumeration value="VATEX-EU-151-1E"/>
<enumeration value="VATEX-EU-159"/>
<enumeration value="VATEX-EU-309"/>
<enumeration value="VATEX-EU-79-C"/>
<enumeration value="VATEX-EU-AE"/>
@@ -5506,7 +5536,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -5599,6 +5628,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -5623,6 +5653,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="32">
@@ -5687,7 +5718,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -5780,6 +5810,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -5804,6 +5835,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="33">

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso">
<title>Schema for Factur-X; 1.0.07; EN16931-CONFORMANT-EXTENDED</title>
<title>Schema for Factur-X; 1.07.2; EN16931-CONFORMANT-EXTENDED</title>
<ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/>
<ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/>
<ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/>
@@ -102,6 +102,12 @@
[BR-54]-Each Item attribute (BG-32) shall contain an Item attribute name (BT-160) and an Item attribute value (BT-161).</assert>
</rule>
</pattern>
<pattern>
<rule context="//ram:ApplicableProductCharacteristic/ram:TypeCode">
<assert flag="warning" id="FX-SCH-A-000345" test="not(contains(normalize-space(.), ' ')) and contains(' A AAA AAB AAC AAD AAF AAG AAH AAI AAJ AAK AAM AAN AAO AAP AAQ AAR AAS AAT AAU AAV AAW AAX AAY AAZ ABA ABB ABC ABD ABE ABF ABG ABH ABI ABJ ABK ABL ABM ABN ABO ABP ABS ABT ABX ABY ABZ ACA ACE ACG ACN ACP ACS ACV ACW ACX ADR ADS ADT ADU ADV ADW ADX ADY ADZ AEA AEB AEC AED AEE AEF AEG AEH AEI AEJ AEK AEL AEM AEN AEO AEP AEQ AER AES AET AEU AEV AEW AEX AEY AEZ AF AFA AFB AFC AFD AFE AFF AFG AFH AFI AFJ AFK AFL AFM AFN AFO AFP AFQ AFR AFS AFT AFU AFV AFW AFX B BL BMY BMZ BNA BNB BNC BND BNE BNF BNG BNH BNI BNJ BNK BNL BNM BNN BNO BNP BNQ BNR BNS BNT BNU BNV BNW BNX BNY BNZ BR BRA BRB BRC BRD BRE BRF BRG BRH BRI BRJ BRK BRL BRM BRN BRO BRP BRQ BRR BRS BRT BRU BRV BS BSW BSX BSY BSZ BTA BTB BTC BTD BTE BTF BTG BTH BTI BTJ BTK BTL BTM BW CHN CHO CM CT CV CZ D DI DL DN DP DR DS DW E EA F FI FL FN FV GG GW HF HM HT IB ID L LM LN LND M MO MW N OD PRS PTN RA RF RJ RMW RP RUN RY SQ T TC TH TN TT VGM VH VW WA WD WM WU XH XQ XZ YS ZAL ZAS ZB ZBI ZC ZCA ZCB ZCE ZCL ZCO ZCR ZCU ZFE ZFS ZGE ZH ZK ZMG ZMN ZMO ZN ZNA ZNB ZNI ZO ZP ZPB ZS ZSB ZSE ZSI ZSL ZSN ZTA ZTE ZTI ZV ZW ZWA ZZN ZZR ZZZ BEST_BEFORE_DATE COLOR_TEXT COMMISSION DEPOSIT_SYSTEM DEPOSIT_TYPE ENERGY_CLASS EXPIRATION_DATE FEE KIND_OF_ARTICLE MATERIAL METER_LOCATION METER_NUMBER ORGANIC_CONTROL_BODY PACKAGING_MATERIAL PACKAGING_TYPE PROMOTIONAL_VARIANT SEAL_NUMBER SIZE_CODE SIZE_TEXT TRADING_UNIT WASTE_CODE WASTE_FRACTION WEEE_NUMBER ', concat(' ', normalize-space(.), ' '))">
[BR-FXEXT-04]-To ensure automated processing of the article attributes without bilateral reconciliation, only values from the code list UNTDED 6313+Factur-X-Extension should be used. </assert>
</rule>
</pattern>
<pattern>
<rule context="//ram:ApplicableTradeSettlementFinancialCard">
<assert id="FX-SCH-A-000281" test="string-length(ram:ID)&lt;=10">
@@ -138,7 +144,7 @@
[BR-65]-The Item classification identifier (BT-158) shall have a Scheme identifier.</assert>
<assert id="FX-SCH-A-000210" test="(ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[upper-case(ram:TypeCode) = 'VAT']/ram:CategoryCode)">
[BR-CO-04]-Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).</assert>
<assert id="FX-SCH-A-000211" test="string-length(substring-after(ram:SpecifiedTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount,'.'))&lt;=2">
<assert id="FX-SCH-A-000211" test="string-length(substring-after(ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount,'.'))&lt;=2">
[BR-DEC-23]-The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.</assert>
</rule>
</pattern>
@@ -272,7 +278,7 @@
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ram:CategoryTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000091" test="/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']">
[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 id="FX-SCH-A-000092" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000092" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>
@@ -342,7 +348,7 @@
<rule context="//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ram:CategoryTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000109" test="/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']">
[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 id="FX-SCH-A-000110" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000110" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>
@@ -380,9 +386,9 @@
[BR-14]-An Invoice shall have the Invoice total amount with VAT (BT-112).</assert>
<assert id="FX-SCH-A-000005" test="(ram:DuePayableAmount)">
[BR-15]-An Invoice shall have the Amount due for payment (BT-115).</assert>
<assert id="FX-SCH-A-000304" test="for $calculatedAmount in xs:decimal(round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ram:ActualAmount)* 10 * 10 ) div 100),&#13;&#10; $totalAmount in xs:decimal(ram:AllowanceTotalAmount),&#13;&#10; $nbAllowanceItems in xs:decimal(count(../ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false'])),&#13;&#10; $tolerance in xs:decimal(0.01),&#13;&#10; $maxTolerance in $nbAllowanceItems * $tolerance,&#13;&#10; $diff in xs:decimal($totalAmount - $calculatedAmount),&#13;&#10; $abs in xs:decimal(abs($diff))&#13;&#10; return&#13;&#10; $abs le $maxTolerance or (not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']) and not (ram:AllowanceTotalAmount))">
<assert id="FX-SCH-A-000304" test="(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']) and not (ram:AllowanceTotalAmount)) or&#13;&#10;(for $calculatedAmount in xs:decimal(round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ram:ActualAmount)* 10 * 10 ) div 100),&#13;&#10; $totalAmount in xs:decimal(ram:AllowanceTotalAmount),&#13;&#10; $nbAllowanceItems in xs:decimal(count(../ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false'])),&#13;&#10; $tolerance in xs:decimal(0.01),&#13;&#10; $maxTolerance in $nbAllowanceItems * $tolerance,&#13;&#10; $diff in xs:decimal($totalAmount - $calculatedAmount),&#13;&#10; $abs in xs:decimal(abs($diff))&#13;&#10; return&#13;&#10; $abs le $maxTolerance)">
[BR-FXEXT-CO-11]-Absolute Value of (Sum of allowances on document level (BT-107) - Σ Document level allowance amounts (BT-92))&lt;= 0,01 * Number of Document level allowance amounts (BT-92).</assert>
<assert id="FX-SCH-A-000305" test="for $calculatedAmount in xs:decimal(xs:decimal(round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ram:ActualAmount)* 100 ) div 100)+ xs:decimal(round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedLogisticsServiceCharge/ram:AppliedAmount)* 10 * 10 ) div 100)),&#13;&#10; $totalAmount in xs:decimal(ram:ChargeTotalAmount),&#13;&#10; $nbChargeItems in xs:decimal(count(../ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']) + count(../ram:SpecifiedLogisticsServiceCharge)),&#13;&#10; $tolerance in xs:decimal(0.01),&#13;&#10; $maxTolerance in $nbChargeItems * $tolerance,&#13;&#10; $diff in xs:decimal($totalAmount - $calculatedAmount),&#13;&#10; $abs in xs:decimal(abs($diff))&#13;&#10; return&#13;&#10; $abs le $maxTolerance or (not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true'])and not (ram:ChargeTotalAmount))">
<assert id="FX-SCH-A-000305" test="(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true'])and not (ram:ChargeTotalAmount)) &#13;&#10;or&#13;&#10;(for $calculatedAmount in xs:decimal(xs:decimal(round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ram:ActualAmount)* 100 ) div 100)+ xs:decimal(round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedLogisticsServiceCharge/ram:AppliedAmount)* 10 * 10 ) div 100)),&#13;&#10; $totalAmount in xs:decimal(ram:ChargeTotalAmount),&#13;&#10; $nbChargeItems in xs:decimal(count(../ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']) + count(../ram:SpecifiedLogisticsServiceCharge)),&#13;&#10; $tolerance in xs:decimal(0.01),&#13;&#10; $maxTolerance in $nbChargeItems * $tolerance,&#13;&#10; $diff in xs:decimal($totalAmount - $calculatedAmount),&#13;&#10; $abs in xs:decimal(abs($diff))&#13;&#10; return&#13;&#10; $abs le $maxTolerance)">
[BR-FXEXT-CO-12]-Absolute Value of (Sum of charges on document level (BT-108) - Σ Document level charge amounts (BT-99) - Σ Logistics Service fee amounts (BT-x-272))&lt;= 0,01 * (Number of Document level charge amounts (BT-99) + Number of Logistics Service fee amounts (BT-X-272)).</assert>
<assert id="FX-SCH-A-000306" test="for $BT109 in xs:decimal(ram:TaxBasisTotalAmount),&#13;&#10; $BT131Sum in xs:decimal(round(sum(../../ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount) * xs:decimal(100)) div xs:decimal(100)),&#13;&#10; $BT92Sum in xs:decimal(round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ram:ActualAmount)* 10 * 10 ) div 100),&#13;&#10; $BT99Sum in xs:decimal(xs:decimal(round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ram:ActualAmount)* 100 ) div 100)+ xs:decimal(round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedLogisticsServiceCharge/ram:AppliedAmount)* 10 * 10 ) div 100)),&#13;&#10; $nbLineItems in xs:decimal(count(../../ram:IncludedSupplyChainTradeLineItem)),&#13;&#10; $nbAllowanceItems in xs:decimal(count(../ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false'])),&#13;&#10; $nbChargeItems in xs:decimal(count(../ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']) + count(../ram:SpecifiedLogisticsServiceCharge)),&#13;&#10; $tolerance in xs:decimal(0.01),&#13;&#10; $maxTolerance in $tolerance * ($nbLineItems + $nbAllowanceItems + $nbChargeItems),&#13;&#10; $diff in xs:decimal($BT109 - $BT131Sum + $BT92Sum - $BT99Sum),&#13;&#10; $abs in xs:decimal(abs($diff))&#13;&#10; return&#13;&#10; $abs le $maxTolerance">
[BR-FXEXT-CO-13]-Absolute Value of (Invoice total amount without VAT (BT-109) - ∑ Invoice line net amounts (BT-131) + Σ Document level allowance amounts (BT-92) - Σ Document level charge amounts (BT-99)) &lt;= 0,01 * (Number of line net amounts (BT-131) + Number of Document level allowance amounts (BT-92) + Number of Document level charge amounts (BT-99)).</assert>
@@ -428,12 +434,16 @@
[BR-CO-27]-Either the IBAN or a Proprietary ID (BT-84) shall be used.</assert>
</rule>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayeePartyCreditorFinancialAccount">
<assert id="FX-SCH-A-000134" test="(ram:IBANID) or (ram:ProprietaryID)">
[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>
</pattern>
<pattern>
<rule context="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayerPartyDebtorFinancialAccount">
<assert id="FX-SCH-A-000133" test="(ram:IBANID) or (ram:ProprietaryID)">
[BR-50]-A Payment account identifier (BT-84) shall be present if Credit transfer (BG-16) information is provided in the Invoice.</assert>
<assert id="FX-SCH-A-000134" test="(ram:IBANID) or (ram:ProprietaryID)">
[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>
</pattern>
<pattern>
@@ -560,7 +570,7 @@
<rule context="//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'M']">
<assert id="FX-SCH-A-000245" test="/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']">
[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 id="FX-SCH-A-000246" test="ram:RateApplicablePercent &gt; 0">
<assert id="FX-SCH-A-000246" test="ram:RateApplicablePercent &gt;= 0">
[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>
</pattern>
@@ -1131,8 +1141,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerAgentTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -1165,8 +1175,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerAgentTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -1371,8 +1381,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -1405,8 +1415,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTaxRepresentativeTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -1548,8 +1558,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -1582,8 +1592,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -1796,8 +1806,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:ProductEndUserTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -1830,8 +1840,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:ProductEndUserTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -2036,8 +2046,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SalesAgentTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -2070,8 +2080,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SalesAgentTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -2278,8 +2288,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -2312,8 +2322,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -2462,8 +2472,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -2496,8 +2506,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -2849,6 +2859,13 @@
Element 'ram:ModeCode' must occur exactly 1 times.</assert>
</rule>
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:RelatedSupplyChainConsignment/ram:SpecifiedLogisticsTransportMovement/ram:ModeCode">
<let name="codeValue34" value="."/>
<assert id="FX-SCH-A-000346" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=34]/enumeration[@value=$codeValue34]">
Value of 'ram:ModeCode' is not allowed.</assert>
</rule>
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipFromTradeParty">
<assert id="FX-SCH-A-000163" test="count(ram:ID)&lt;=1">
@@ -2938,8 +2955,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipFromTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -2972,8 +2989,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipFromTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -3115,8 +3132,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -3149,8 +3166,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -3292,8 +3309,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:UltimateShipToTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -3326,8 +3343,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:UltimateShipToTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -3435,8 +3452,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:DueDateTypeCode">
<let name="codeValue37" value="."/>
<assert id="FX-SCH-A-000180" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=37]/enumeration[@value=$codeValue37]">
<let name="codeValue38" value="."/>
<assert id="FX-SCH-A-000180" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=38]/enumeration[@value=$codeValue38]">
Value of 'ram:DueDateTypeCode' is not allowed.</assert>
</rule>
</pattern>
@@ -3473,8 +3490,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:TaxPointDate/udt:DateString[@format]">
<let name="codeValue36" value="@format"/>
<assert id="FX-SCH-A-000022" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=36]/enumeration[@value=$codeValue36]">
<let name="codeValue37" value="@format"/>
<assert id="FX-SCH-A-000022" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=37]/enumeration[@value=$codeValue37]">
Value of '@format' is not allowed.</assert>
</rule>
</pattern>
@@ -3531,8 +3548,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode">
<let name="codeValue34" value="."/>
<assert id="FX-SCH-A-000040" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=34]/enumeration[@value=$codeValue34]">
<let name="codeValue35" value="."/>
<assert id="FX-SCH-A-000040" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=35]/enumeration[@value=$codeValue35]">
Value of 'ram:InvoiceCurrencyCode' is not allowed.</assert>
</rule>
</pattern>
@@ -3589,8 +3606,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceReferencedDocument/ram:TypeCode">
<let name="codeValue42" value="."/>
<assert id="FX-SCH-A-000023" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=42]/enumeration[@value=$codeValue42]">
<let name="codeValue43" value="."/>
<assert id="FX-SCH-A-000023" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=43]/enumeration[@value=$codeValue43]">
Value of 'ram:TypeCode' is not allowed.</assert>
</rule>
</pattern>
@@ -3691,8 +3708,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceeTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -3725,8 +3742,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceeTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -3870,8 +3887,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoicerTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -3904,8 +3921,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoicerTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -4049,8 +4066,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -4083,8 +4100,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -4228,8 +4245,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayerTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -4262,8 +4279,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayerTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -4324,8 +4341,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ReceivableSpecifiedTradeAccountingAccount/ram:TypeCode">
<let name="codeValue43" value="."/>
<assert id="FX-SCH-A-000023" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=43]/enumeration[@value=$codeValue43]">
<let name="codeValue44" value="."/>
<assert id="FX-SCH-A-000023" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=44]/enumeration[@value=$codeValue44]">
Value of 'ram:TypeCode' is not allowed.</assert>
</rule>
</pattern>
@@ -4480,8 +4497,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedAdvancePayment/ram:InvoiceSpecifiedReferencedDocument/ram:TypeCode">
<let name="codeValue44" value="."/>
<assert id="FX-SCH-A-000023" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=44]/enumeration[@value=$codeValue44]">
<let name="codeValue45" value="."/>
<assert id="FX-SCH-A-000023" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=45]/enumeration[@value=$codeValue45]">
Value of 'ram:TypeCode' is not allowed.</assert>
</rule>
</pattern>
@@ -4692,8 +4709,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;false&quot;]/ram:ReasonCode">
<let name="codeValue38" value="."/>
<assert id="FX-SCH-A-000186" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=38]/enumeration[@value=$codeValue38]">
<let name="codeValue39" value="."/>
<assert id="FX-SCH-A-000186" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=39]/enumeration[@value=$codeValue39]">
Value of 'ram:ReasonCode' is not allowed.</assert>
</rule>
</pattern>
@@ -4798,8 +4815,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=&quot;true&quot;]/ram:ReasonCode">
<let name="codeValue39" value="."/>
<assert id="FX-SCH-A-000186" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=39]/enumeration[@value=$codeValue39]">
<let name="codeValue40" value="."/>
<assert id="FX-SCH-A-000186" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=40]/enumeration[@value=$codeValue40]">
Value of 'ram:ReasonCode' is not allowed.</assert>
</rule>
</pattern>
@@ -4987,8 +5004,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:PayeeTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -5021,8 +5038,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -5149,8 +5166,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode and @currencyID]">
<let name="codeValue40" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=40]/enumeration[@value=$codeValue40]">
<let name="codeValue41" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=41]/enumeration[@value=$codeValue41]">
Value of '@currencyID' is not allowed.</assert>
</rule>
</pattern>
@@ -5162,8 +5179,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../../ram:TaxCurrencyCode and @currencyID]">
<let name="codeValue41" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=41]/enumeration[@value=$codeValue41]">
<let name="codeValue42" value="@currencyID"/>
<assert id="FX-SCH-A-000045" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=42]/enumeration[@value=$codeValue42]">
Value of '@currencyID' is not allowed.</assert>
</rule>
</pattern>
@@ -5239,8 +5256,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode">
<let name="codeValue35" value="."/>
<assert id="FX-SCH-A-000023" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=35]/enumeration[@value=$codeValue35]">
<let name="codeValue36" value="."/>
<assert id="FX-SCH-A-000023" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=36]/enumeration[@value=$codeValue36]">
Value of 'ram:TypeCode' is not allowed.</assert>
</rule>
</pattern>
@@ -5259,22 +5276,22 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxApplicableTradeCurrencyExchange/ram:SourceCurrencyCode">
<let name="codeValue34" value="."/>
<assert id="FX-SCH-A-000332" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=34]/enumeration[@value=$codeValue34]">
<let name="codeValue35" value="."/>
<assert id="FX-SCH-A-000332" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=35]/enumeration[@value=$codeValue35]">
Value of 'ram:SourceCurrencyCode' is not allowed.</assert>
</rule>
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxApplicableTradeCurrencyExchange/ram:TargetCurrencyCode">
<let name="codeValue34" value="."/>
<assert id="FX-SCH-A-000333" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=34]/enumeration[@value=$codeValue34]">
<let name="codeValue35" value="."/>
<assert id="FX-SCH-A-000333" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=35]/enumeration[@value=$codeValue35]">
Value of 'ram:TargetCurrencyCode' is not allowed.</assert>
</rule>
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode">
<let name="codeValue34" value="."/>
<assert id="FX-SCH-A-000196" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=34]/enumeration[@value=$codeValue34]">
<let name="codeValue35" value="."/>
<assert id="FX-SCH-A-000196" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=35]/enumeration[@value=$codeValue35]">
Value of 'ram:TaxCurrencyCode' is not allowed.</assert>
</rule>
</pattern>
@@ -6273,8 +6290,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -6435,8 +6452,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeDelivery/ram:UltimateShipToTradeParty/ram:PostalTradeAddress/ram:CountryID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000036" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:CountryID' is not allowed.</assert>
</rule>
</pattern>
@@ -6915,13 +6932,6 @@
Element 'ram:Value' must occur exactly 1 times.</assert>
</rule>
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:ApplicableProductCharacteristic/ram:TypeCode">
<let name="codeValue8" value="."/>
<assert id="FX-SCH-A-000023" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=8]/enumeration[@value=$codeValue8]">
Value of 'ram:TypeCode' is not allowed.</assert>
</rule>
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:ApplicableProductCharacteristic/ram:TypeCode[@listID]">
<report test="true()">
@@ -6960,8 +6970,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:DesignatedProductClassification/ram:ClassCode[@listID]">
<let name="codeValue9" value="@listID"/>
<assert id="FX-SCH-A-000297" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
<let name="codeValue8" value="@listID"/>
<assert id="FX-SCH-A-000297" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=8]/enumeration[@value=$codeValue8]">
Value of '@listID' is not allowed.</assert>
</rule>
</pattern>
@@ -7010,6 +7020,13 @@
Attribute '@schemeID' is required in this context.</assert>
</rule>
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:IncludedReferencedProduct/ram:GlobalID[@schemeID]">
<let name="codeValue10" value="@schemeID"/>
<assert id="FX-SCH-A-000031" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
Value of '@schemeID' is not allowed.</assert>
</rule>
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:IncludedReferencedProduct/ram:ID[@schemeID]">
<report test="true()">
@@ -7073,8 +7090,8 @@
</pattern>
<pattern>
<rule context="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:OriginTradeCountry/ram:ID">
<let name="codeValue10" value="."/>
<assert id="FX-SCH-A-000026" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=10]/enumeration[@value=$codeValue10]">
<let name="codeValue9" value="."/>
<assert id="FX-SCH-A-000026" test="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=9]/enumeration[@value=$codeValue9]">
Value of 'ram:ID' is not allowed.</assert>
</rule>
</pattern>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" schemaVersion="iso">
<title>Schema for Factur-X; 1.0.07; Accounting, MINIMUM</title>
<title>Schema for Factur-X; 1.07.2; Accounting, MINIMUM</title>
<ns prefix="rsm" uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"/>
<ns prefix="qdt" uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"/>
<ns prefix="ram" uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"/>

View File

@@ -2,6 +2,7 @@
<codedb>
<cl id="1">
<enumeration value="urn:factur-x.eu:1p0:minimum"/>
<enumeration value="urn:zugferd.de:2p0:minimum"/>
</cl>
<cl id="2">
<enumeration value="71"/>
@@ -289,6 +290,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="5">
<enumeration value="AD"/>
@@ -605,7 +614,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -698,6 +706,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -722,6 +731,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="7">
@@ -786,7 +796,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -879,6 +888,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -903,6 +913,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
</codedb>

View File

@@ -211,7 +211,7 @@
<xsl:variable name="CEF-EAS-EXT-CODES" select="' 0002 0007 0009 0037 0060 0088 0096 0097 0106 0130 0135 0142 0151 0183 0184 0190 0191 0192 0193 0194 0195 0196 0198 0199 0200 0201 0202 0203 0204 0208 0209 0210 0211 0212 0213 9901 9902 9904 9905 9906 9907 9910 9913 9914 9915 9918 9919 9920 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9955 9957 AN AQ AS AU EM XR01 XR02 XR03 '" />
<xsl:template match="text()" mode="M7" priority="-1" />
<xsl:template match="@*|node()" mode="M7" priority="-2">
<xsl:apply-templates mode="M7" select="*" />
<xsl:apply-templates mode="M7" select="@*|*" />
</xsl:template>
<!--PATTERN cii-pattern-->
@@ -344,7 +344,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -365,7 +365,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -386,7 +386,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -422,7 +422,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -503,7 +503,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -539,7 +539,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -575,7 +575,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -626,7 +626,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -662,7 +662,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -713,7 +713,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -734,11 +734,11 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<xsl:template match="text()" mode="M8" priority="-1" />
<xsl:template match="@*|node()" mode="M8" priority="-2">
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--PATTERN cii-extension-pattern-->
@@ -764,7 +764,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -787,7 +787,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -810,7 +810,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -833,7 +833,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -856,10 +856,10 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
<xsl:template match="text()" mode="M9" priority="-1" />
<xsl:template match="@*|node()" mode="M9" priority="-2">
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
</xsl:stylesheet>

View File

@@ -214,7 +214,7 @@
<xsl:variable name="CEF-EAS-EXT-CODES" select="concat($DIGA-CODES, $CEF-EAS-CODES)" />
<xsl:template match="text()" mode="M7" priority="-1" />
<xsl:template match="@*|node()" mode="M7" priority="-2">
<xsl:apply-templates mode="M7" select="*" />
<xsl:apply-templates mode="M7" select="@*|*" />
</xsl:template>
<!--PATTERN cii-pattern-->
@@ -396,7 +396,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -417,7 +417,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -438,7 +438,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -474,7 +474,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -555,7 +555,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -591,7 +591,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -627,7 +627,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -678,7 +678,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -714,7 +714,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -765,7 +765,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -786,11 +786,11 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<xsl:template match="text()" mode="M8" priority="-1" />
<xsl:template match="@*|node()" mode="M8" priority="-2">
<xsl:apply-templates mode="M8" select="*" />
<xsl:apply-templates mode="M8" select="@*|*" />
</xsl:template>
<!--PATTERN cii-extension-pattern-->
@@ -816,7 +816,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -839,7 +839,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -862,7 +862,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -885,7 +885,7 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
<!--RULE -->
@@ -908,10 +908,10 @@
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
<xsl:template match="text()" mode="M9" priority="-1" />
<xsl:template match="@*|node()" mode="M9" priority="-2">
<xsl:apply-templates mode="M9" select="*" />
<xsl:apply-templates mode="M9" select="@*|*" />
</xsl:template>
</xsl:stylesheet>

View File

@@ -2,6 +2,7 @@
<codedb>
<cl id="1">
<enumeration value="urn:factur-x.eu:1p0:basicwl"/>
<enumeration value="urn:zugferd.de:2p0:basicwl"/>
</cl>
<cl id="2">
<enumeration value="71"/>
@@ -692,6 +693,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="6">
<enumeration value="0002"/>
@@ -919,6 +928,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="7">
<enumeration value="AD"/>
@@ -1189,6 +1206,7 @@
<enumeration value="0147"/>
<enumeration value="0151"/>
<enumeration value="0170"/>
<enumeration value="0177"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0188"/>
@@ -1220,6 +1238,7 @@
<enumeration value="0221"/>
<enumeration value="0225"/>
<enumeration value="0230"/>
<enumeration value="0235"/>
<enumeration value="9901"/>
<enumeration value="9910"/>
<enumeration value="9913"/>
@@ -1336,7 +1355,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -1429,6 +1447,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -1453,6 +1472,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="12">
@@ -1588,6 +1608,8 @@
<enumeration value="VATEX-EU-143-1J"/>
<enumeration value="VATEX-EU-143-1K"/>
<enumeration value="VATEX-EU-143-1L"/>
<enumeration value="VATEX-EU-144"/>
<enumeration value="VATEX-EU-146-1E"/>
<enumeration value="VATEX-EU-148"/>
<enumeration value="VATEX-EU-148-A"/>
<enumeration value="VATEX-EU-148-B"/>
@@ -1603,6 +1625,7 @@
<enumeration value="VATEX-EU-151-1C"/>
<enumeration value="VATEX-EU-151-1D"/>
<enumeration value="VATEX-EU-151-1E"/>
<enumeration value="VATEX-EU-159"/>
<enumeration value="VATEX-EU-309"/>
<enumeration value="VATEX-EU-79-C"/>
<enumeration value="VATEX-EU-AE"/>
@@ -1884,7 +1907,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -1977,6 +1999,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -2001,6 +2024,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="20">
@@ -2065,7 +2089,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -2158,6 +2181,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -2182,6 +2206,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="21">

View File

@@ -2,6 +2,7 @@
<codedb>
<cl id="1">
<enumeration value="urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic"/>
<enumeration value="urn:cen.eu:en16931:2017#compliant#urn:zugferd.de:2p0:basic"/>
</cl>
<cl id="2">
<enumeration value="71"/>
@@ -692,6 +693,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="6">
<enumeration value="10"/>
@@ -3298,6 +3307,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="12">
<enumeration value="0002"/>
@@ -3525,6 +3542,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="13">
<enumeration value="AD"/>
@@ -3795,6 +3820,7 @@
<enumeration value="0147"/>
<enumeration value="0151"/>
<enumeration value="0170"/>
<enumeration value="0177"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0188"/>
@@ -3826,6 +3852,7 @@
<enumeration value="0221"/>
<enumeration value="0225"/>
<enumeration value="0230"/>
<enumeration value="0235"/>
<enumeration value="9901"/>
<enumeration value="9910"/>
<enumeration value="9913"/>
@@ -3942,7 +3969,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -4035,6 +4061,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -4059,6 +4086,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="18">
@@ -4180,6 +4208,8 @@
<enumeration value="VATEX-EU-143-1J"/>
<enumeration value="VATEX-EU-143-1K"/>
<enumeration value="VATEX-EU-143-1L"/>
<enumeration value="VATEX-EU-144"/>
<enumeration value="VATEX-EU-146-1E"/>
<enumeration value="VATEX-EU-148"/>
<enumeration value="VATEX-EU-148-A"/>
<enumeration value="VATEX-EU-148-B"/>
@@ -4195,6 +4225,7 @@
<enumeration value="VATEX-EU-151-1C"/>
<enumeration value="VATEX-EU-151-1D"/>
<enumeration value="VATEX-EU-151-1E"/>
<enumeration value="VATEX-EU-159"/>
<enumeration value="VATEX-EU-309"/>
<enumeration value="VATEX-EU-79-C"/>
<enumeration value="VATEX-EU-AE"/>
@@ -4476,7 +4507,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -4569,6 +4599,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -4593,6 +4624,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="24">
@@ -4657,7 +4689,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -4750,6 +4781,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -4774,6 +4806,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="25">

View File

@@ -692,6 +692,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="6">
<enumeration value="AA"/>
@@ -4561,6 +4569,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="16">
<enumeration value="0002"/>
@@ -4788,6 +4804,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="17">
<enumeration value="0002"/>
@@ -4805,6 +4829,7 @@
<enumeration value="0147"/>
<enumeration value="0151"/>
<enumeration value="0170"/>
<enumeration value="0177"/>
<enumeration value="0183"/>
<enumeration value="0184"/>
<enumeration value="0188"/>
@@ -4836,6 +4861,7 @@
<enumeration value="0221"/>
<enumeration value="0225"/>
<enumeration value="0230"/>
<enumeration value="0235"/>
<enumeration value="9901"/>
<enumeration value="9910"/>
<enumeration value="9913"/>
@@ -4969,7 +4995,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -5062,6 +5087,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -5086,6 +5112,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="25">
@@ -5207,6 +5234,8 @@
<enumeration value="VATEX-EU-143-1J"/>
<enumeration value="VATEX-EU-143-1K"/>
<enumeration value="VATEX-EU-143-1L"/>
<enumeration value="VATEX-EU-144"/>
<enumeration value="VATEX-EU-146-1E"/>
<enumeration value="VATEX-EU-148"/>
<enumeration value="VATEX-EU-148-A"/>
<enumeration value="VATEX-EU-148-B"/>
@@ -5222,6 +5251,7 @@
<enumeration value="VATEX-EU-151-1C"/>
<enumeration value="VATEX-EU-151-1D"/>
<enumeration value="VATEX-EU-151-1E"/>
<enumeration value="VATEX-EU-159"/>
<enumeration value="VATEX-EU-309"/>
<enumeration value="VATEX-EU-79-C"/>
<enumeration value="VATEX-EU-AE"/>
@@ -5506,7 +5536,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -5599,6 +5628,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -5623,6 +5653,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="32">
@@ -5687,7 +5718,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -5780,6 +5810,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -5804,6 +5835,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="33">

View File

@@ -153,7 +153,7 @@
<!--SCHEMA SETUP-->
<xsl:template match="/">
<svrl:schematron-output schemaVersion="iso" title="Schema for Factur-X; 1.0.07; Accounting, MINIMUM">
<svrl:schematron-output schemaVersion="iso" title="Schema for Factur-X; 1.07.2; Accounting, MINIMUM">
<xsl:comment>
<xsl:value-of select="$archiveDirParameter" />  
<xsl:value-of select="$archiveNameParameter" />  
@@ -455,7 +455,7 @@
</xsl:template>
<!--SCHEMATRON PATTERNS-->
<svrl:text>Schema for Factur-X; 1.0.07; Accounting, MINIMUM</svrl:text>
<svrl:text>Schema for Factur-X; 1.07.2; Accounting, MINIMUM</svrl:text>
<!--PATTERN -->

View File

@@ -2,6 +2,7 @@
<codedb>
<cl id="1">
<enumeration value="urn:factur-x.eu:1p0:minimum"/>
<enumeration value="urn:zugferd.de:2p0:minimum"/>
</cl>
<cl id="2">
<enumeration value="71"/>
@@ -289,6 +290,14 @@
<enumeration value="0228"/>
<enumeration value="0229"/>
<enumeration value="0230"/>
<enumeration value="0231"/>
<enumeration value="0232"/>
<enumeration value="0233"/>
<enumeration value="0234"/>
<enumeration value="0235"/>
<enumeration value="0236"/>
<enumeration value="0237"/>
<enumeration value="0238"/>
</cl>
<cl id="5">
<enumeration value="AD"/>
@@ -605,7 +614,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -698,6 +706,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -722,6 +731,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
<cl id="7">
@@ -786,7 +796,6 @@
<enumeration value="GYD"/>
<enumeration value="HKD"/>
<enumeration value="HNL"/>
<enumeration value="HRK"/>
<enumeration value="HTG"/>
<enumeration value="HUF"/>
<enumeration value="IDR"/>
@@ -879,6 +888,7 @@
<enumeration value="UYU"/>
<enumeration value="UYW"/>
<enumeration value="UZS"/>
<enumeration value="VED"/>
<enumeration value="VES"/>
<enumeration value="VND"/>
<enumeration value="VUV"/>
@@ -903,6 +913,7 @@
<enumeration value="YER"/>
<enumeration value="ZAR"/>
<enumeration value="ZMW"/>
<enumeration value="ZWG"/>
<enumeration value="ZWL"/>
</cl>
</codedb>