FX-SCH-A-000595: Invoice currency rejected by Factur-X
The invoice currency is tested against Factur-X codedb list 24. The predicate permits an empty code at this layer, while another presence rule can reject its absence. ZZZ fails the list and EUR passes this controlled example. A currency change can also affect the European currency and tax-total checks because amount currency attributes remain fixed.
Source predicates and fields
CII facturx evaluates /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode and checks the selected field condition, including the alternatives in the predicate; the referenced elements are ..
context: /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode
test: string-length($codeValue24)=0 or document('FACTUR-X_EN16931_codedb.xml')/codedb/cl[@id=24]/enumeration[@value=$codeValue24]$codeValue2 := .
$codeValue24 := .The controlled example
.//ram:InvoiceCurrencyCode : ZZZ → EUR
ZZZEURCo-occurrence in our mutation corpus
In the 1,338 stored synthetic mutations, FX-SCH-A-000595 appeared in 0 runs. No other code was recorded alongside this code in those runs.
Synthetic design, cohorts and count definitions
Separate round-7 synthetic pair, other codes: BR-CL-04, BR-CO-15, PEPPOL-EN16931-R008
Engine diagnostic and report location
Value of 'ram:InvoiceCurrencyCode' is not allowed.
/*: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]/*:InvoiceCurrencyCode[namespace-uri()='urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100'][1]