Use an allowed scheme value for the global identifier

Error FX-SCH-A-001116 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 non-empty value of schemeID on ram:GlobalID is not present in the code list for this identifier scheme type.

What the rule means

If the value of schemeID is not empty, it must match an entry in the designated code list.

Please use an allowed scheme for the global identifier

The value provided for schemeID on ram:GlobalID is not listed as an allowed scheme type. Use a value from the designated code list.

What to do
  1. Check the value of schemeID on ram:GlobalID and replace any value that is not listed.
  2. Regenerate the invoice and check it again.
What it looks like
✗ Triggers the message
<ram:GlobalID schemeID="NOT_IN_LIST">ABC123</ram:GlobalID>
✓ Correct
<ram:GlobalID schemeID="">ABC123</ram:GlobalID>
Good to know

An empty value is also accepted by this check.

Technical details

The check accepts an empty value or a value present in the enumeration with ID 11 in FACTUR-X_EXTENDED_codedb.xml.

Where the rule applies

The rule checks the value of the schemeID attribute on the ram:GlobalID of the ultimate ship-to party on an invoice line.

Context (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ ram:SpecifiedLineTradeDelivery/ram:UltimateShipToTradeParty/ram:GlobalID
Test expression (assert/@test)
string-length($codeValue11)=0 or document('FACTUR-X_EXTENDED_codedb.xml')/codedb/cl[@id=11]/enumeration[@value=$codeValue11]