Back to the error catalogue
BR-FR-17BT-123
input

France

The qualification code of an attachment is not admitted

The description of an additional document (BT-123) serves as a qualification code in the French flow and must belong to the base's closed list — for instance LISIBLE for the human-readable rendering of the invoice.

Only the issuer holds this value: Factlint reports it and never fabricates it. Test your invoice to find out whether it is affected.

The message your validator prints

Copied verbatim from the sealed artefact: this is the exact sentence the check prints when this rule fails.

cii

BR-FR-17/BT-123 : Le code de qualification de la pièce jointe " " est invalide. Il doit appartenir à la liste des codes autorisés. Veuillez corriger la valeur de BT-123.

ubl

[BR-FR-17/BT-123] : Le code de qualification de la pièce jointe " " est invalide. Il doit appartenir à la liste des codes autorisés. Veuillez corriger la valeur de BT-123.

Quoted from schematron-fnfe 1.4.0.03, licensed under Apache-2.0.

Common searches around this code

These phrases mirror what an integrator searches for: code, syntax, rule, business field and correction.

BR-FR-17 The qualification code of an attachment is not admittedBR-FR-17 French BR-FR-CTC rulesBR-FR-17 BT-123BR-FR-17/BT-123 : Le code de qualification de la pièce jointe " " est invalide. Il doit appartenir à la liste des codes autorisés. Veuillez corriger la valeur de BT-123.BR-FR-17 correction

Test your file with this error in mind

Upload the invoice involved: the report will say whether this code appears, where it appears in the document, and whether Factlint can only report it or also fix it.

To automate this check in an ERP flow, call the validation API and link every returned code to its public page.

Why this error happens

Where the European standard leaves this field free, the French flow makes it a code: it tells the platform what the attachment is and what to do with it. Free text — “signed purchase order” — is not a code, and the attachment is not processed. The rule comes from the FNFE Schematron package, not from the European standard: an invoice perfectly compliant with EN 16931 triggers it as soon as it is judged against the French base.

How to fix it

Replace the text with the list code matching the attachment, and put the free text elsewhere if you need it. Factlint does not guess the nature of an attachment.

Severity returned by the rule set

Blocking since 1 September 2026: the current base, `fr-2026-09`, seals the FNFE 1.4.0.03 artefact in fatal mode, and it is the one the pinned engine applies by default. An invoice issued in August 2026 is judged against `fr-2026-08`, where the same rule comes out as a warning — which already rules out a “compliant” verdict. The API returns the severity of the rule set pinned for the judged invoice.

XML correction example

BEFORE (invalid)
<ram:Name>Bon de commande signé</ram:Name>
AFTER (compliant)
<ram:Name>LISIBLE</ram:Name>