Use an allowed URI identifier code

Error FX-SCH-A-001058 Factur-X

Value of '@schemeID' 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 @schemeID is not included in the code list used by this rule. The test allows an empty value or a value included in the code list.

What the rule means

An allowed code assigns the URI identifier to a defined scheme. The test compares the value with the code list for schemeID.

Please use an allowed code for the URI identifier

The code in @schemeID on ram:URIID is not allowed by this rule. You can check the value against the applicable code list.

What to do
  1. Find ram:URIID in ram:URIUniversalCommunication.
  2. Check the value of @schemeID against the code list applicable to URI identifiers.
  3. Generate the invoice again and validate it.
Technical details

The test passes when $codeValue13 is empty or its value matches an entry in codedb/cl[@id=13]/enumeration.

Where the rule applies

The rule applies to the value of @schemeID on ram:URIID within ram:URIUniversalCommunication of the seller party for an invoice line.

Context (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ ram:SpecifiedLineTradeAgreement/ram:ItemSellerTradeParty/ram:URIUniversalCommunication/ ram:URIID
Test expression (assert/@test)
string-length($codeValue13)=0 or document('FACTUR-X_EXTENDED_codedb.xml')/codedb/cl[@id=13]/enumeration[@value=$codeValue13]