Allowed tax exemption reason code for the advance payment

Error FX-SCH-A-000956 Factur-X

Value of 'ram:ExemptionReasonCode' is not allowed.

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

If ram:ExemptionReasonCode has a value, that value must be included in the code list used by the rule. A value not in the list is not allowed. An empty value passes this specific check.

What the rule means

The code identifies the reason for a tax exemption. The check confirms that any supplied reason code is included in the designated code list.

Please use an allowed tax exemption reason code for the advance payment

The tax exemption reason code provided for the advance payment is not in the designated code list. This check accepts an empty value.

What to do
  1. Locate ram:ExemptionReasonCode in the advance payment’s ram:IncludedTradeTax.
  2. Compare its value with the code list designated for this rule.
  3. Replace a value that is not listed with an allowed code, or leave the value empty.
  4. Regenerate the invoice and validate it again.
Technical details

The test allows an empty code value. Otherwise, the value must occur as an enumeration in code list 25 in FACTUR-X_EXTENDED_codedb.xml.

Where the rule applies

The rule applies to ram:ExemptionReasonCode within the ram:IncludedTradeTax tax information for an advance payment.

Context (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedAdvancePayment/ram:IncludedTradeTax/ram:ExemptionReasonCode
Test expression (assert/@test)
string-length($codeValue25)=0 or document('FACTUR-X_EXTENDED_codedb.xml')/codedb/cl[@id=25]/enumeration[@value=$codeValue25]