The @currencyID must be an allowed currency code

Error FX-SCH-A-001006 Factur-X

Value of '@currencyID' is not allowed.

Mandatory rule: As long as it is violated, the invoice is invalid and will be rejected by validators.
What is wrong

The value of @currencyID on ram:TaxTotalAmount is not included in the corresponding code list. An empty value also passes this check.

What the rule means

An allowed currency code identifies the currency of the tax amount unambiguously. This rule cannot confirm an unlisted value as a valid currency code.

Please use an allowed currency code for the tax amount

The value of @currencyID on ram:TaxTotalAmount is not in the corresponding code list. You can correct the entry using an allowed currency code.

What to do
  1. Find the affected ram:TaxTotalAmount in ram:SpecifiedTradeSettlementHeaderMonetarySummation.
  2. Check the value of @currencyID against the allowed values in code list 49.
  3. Regenerate the invoice and validate it again.
Technical details

The string value of the evaluated @currencyID is checked: the condition passes if the value is empty or occurs in the enumeration of code list 49.

Where the rule applies

The rule applies to @currencyID on ram:TaxTotalAmount in the invoice currency within ram:SpecifiedTradeSettlementHeaderMonetarySummation.

Context (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../ ../ram:InvoiceCurrencyCode]
Test expression (assert/@test)
string-length($codeValue49)=0 or document('FACTUR-X_EXTENDED_codedb.xml')/codedb/cl[@id=49]/enumeration[@value=$codeValue49]