Hi,
we have an invoice with only charge allowance for freight costs.
This invoice is valid with the mustang validator Mustang-CLI-2.5.6.jar.
We just tried the new version Mustang-CLI-2.14.0.jar and the invoice is invalid now.
It complain about BT-107 and the new rule BR-FXEXT-CO-11, but it should only check on BT-108.
Error Message:
[main] INFO com.helger.schematron.xslt.SchematronResourceXSLTCache - Compiling XSLT instance [cpPath=/xslt/ZF_230/FACTUR-X_EXTENDED.xslt; urlResolved=true; URL=jar:file:/Z:/Bottomline/nonPRD/DEV/validators/mustangproject/Mustang-CLI-2.14.0.jar!/xslt/ZF_230/FACTUR-X_EXTENDED.xslt]
[main] INFO org.mustangproject.validator.XMLValidator - FailedAssert
[main] ERROR org.mustangproject.validator.ZUGFeRDValidator - Error 4:
[BR-FXEXT-CO-11]-Absolute Value of (Sum of allowances on document level (BT-107) - Σ Document level allowance amounts (BT-92))<= 0,01 * Number of Document level allowance amounts (BT-92). [ID FX-SCH-A-000304] from /xslt/ZF_230/FACTUR-X_EXTENDED.xslt)
[main] INFO org.mustangproject.validator.XMLValidator - FailedAssert
[main] ERROR org.mustangproject.validator.ZUGFeRDValidator - Error 4:
Value of 'ram:ID' is not allowed. [ID FX-SCH-A-000026] from /xslt/ZF_230/FACTUR-X_EXTENDED.xslt)
[main] INFO org.mustangproject.validator.ZUGFeRDValidator - Parsed PDF:absent XML:invalid Signature:null Checksum:675EF6C7BB5196CFC7A51C569AA0ABD8AEC0372F Profile:urn:cen.eu:en16931:2017#conformant#urn:zugferd.de:2p0:extended Version:2 Took:4992ms Errors:[4,4]
<?xml version="1.0" encoding="UTF-8"?>
<validation filename="iguSalesInvoice;MHerk;25092024_100257_71198795_P.pdf.xml" datetime="2024-09-26 11:02:42">
<xml>
<info>
<version>2</version>
<profile>urn:cen.eu:en16931:2017#conformant#urn:zugferd.de:2p0:extended</profile>
<validator version="2.14.0"/>
<rules>
<fired>126</fired>
<failed>2</failed>
</rules>
<duration unit="ms">4779</duration>
</info>
<messages>
<error type="4" location="/*:CrossIndustryInvoice[namespace-uri()='urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100'][1]/*:SupplyChainTradeTransaction[namespace-uri()='urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100'][1]/*:ApplicableHeaderTradeSettlement[namespace-uri()='urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100'][1]/*:SpecifiedTradeSettlementHeaderMonetarySummation[namespace-uri()='urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100'][1]" criterion="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), $totalAmount in xs:decimal(ram:AllowanceTotalAmount), $nbAllowanceItems in xs:decimal(count(../ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false'])), $tolerance in xs:decimal(0.01), $maxTolerance in $nbAllowanceItems * $tolerance, $diff in xs:decimal($totalAmount - $calculatedAmount), $abs in xs:decimal(abs($diff)) return $abs le $maxTolerance or (not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']) and not (ram:AllowanceTotalAmount))">[BR-FXEXT-CO-11]-Absolute Value of (Sum of allowances on document level (BT-107) - Σ Document level allowance amounts (BT-92))<= 0,01 * Number of Document level allowance amounts (BT-92). [ID FX-SCH-A-000304] from /xslt/ZF_230/FACTUR-X_EXTENDED.xslt)</error>
<error type="4" location="/*:CrossIndustryInvoice[namespace-uri()='urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100'][1]/*:ExchangedDocumentContext[namespace-uri()='urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100'][1]/*:GuidelineSpecifiedDocumentContextParameter[namespace-uri()='urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100'][1]/*:ID[namespace-uri()='urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100'][1]" criterion="document('FACTUR-X_EXTENDED_codedb.xml')//cl[@id=1]/enumeration[@value=$codeValue1]">Value of 'ram:ID' is not allowed. [ID FX-SCH-A-000026] from /xslt/ZF_230/FACTUR-X_EXTENDED.xslt)</error>
</messages>
<summary status="invalid"/>
</xml>
<messages></messages>
<summary status="invalid"/>
</validation>