eInvoicing-EN16931
eInvoicing-EN16931 copied to clipboard
CII: BR-61 test bug
Hi everyone,
There are two related bugs in the current BR-61 test for CII:
- The BR-61 in EN16931-model.sch is in the context "$Payment_instructions". This is wrong. It should be in the context "$CreditTransfer_information".
So, please change
<rule context="$Payment_instructions ">
<assert test="$BR-49" flag="fatal" id="BR-49">[BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).</assert>
<assert test="$BR-61" flag="fatal" id="BR-61">[BR-61]-If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.</assert>
</rule>
to
<rule context="$Payment_instructions ">
<assert test="$BR-49" flag="fatal" id="BR-49">[BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).</assert>
</rule>
<rule context="$CreditTransfer_information ">
<assert test="$BR-61" flag="fatal" id="BR-61">[BR-61]-If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.</assert>
</rule>
- "$CreditTransfer_information" is incorrect and currently not used. It states
<param name="CreditTransfer_information " value="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayerPartyDebtorFinancialAccount"/>
but it should be
<param name="CreditTransfer_information " value="//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayeePartyCreditorFinancialAccount"/>
(PayeePartyCreditor... instead of PayerPartyDebtor...) Currently it is checking for BT-91 instead of BT-84.
Thanks a lot, Andreas