Problem with BT-107 Extended Format

37 views
Skip to first unread message

Mathias Herkt

unread,
Sep 26, 2024, 5:10:34 AMSep 26
to ZUGFeRD
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.invoice_charge_total.png

invoice_charge.png


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))&lt;= 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>

jochen...@gmail.com

unread,
Oct 5, 2024, 9:21:34 AMOct 5
to ZUGFeRD
Hello,
can you please attach the sample so that the issue can be reproduced?
thanks

Reply all
Reply to author
Forward
0 new messages