Back to the error catalogue
BR-FR-21BT-49
input

France

The buyer's electronic address does not carry its SIREN on a B2B flow

On a transaction declared B2B that is not a self-billed invoice, the buyer's electronic address (BT-49) must start with its SIREN (BT-47) and carry scheme 0225.

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-21/BT-49 : Si le traitement est BAR/B2B et que le type de document (BT-3) n’est pas en autofacture (389, 501, 500, 471, 473, 261, 502), alors le BT-49 (EndpointID) doit commencer par le SIREN (BT-47) et le BT-49-1 (schemeID) doit être égal à "0225". Valeurs actuelles : EndpointID=" ", schemeID=" ", SIREN=" ".

ubl

[BR-FR-21/BT-49] : Si le traitement est BAR/B2B et que le type de document (cbc:InvoiceTypeCode) n’est pas en autofacture (389, 501, 500, 471, 473, 261, 502), alors le BT-49 (cbc:EndpointID) doit commencer par le SIREN (cbc:ID[@schemeID='0002']) et le schemeID doit être égal à "0225". Valeurs actuelles : BAR = " ", EndpointID=" ", schemeID=" ", SIREN=" ".

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-21 The buyer's electronic address does not carry its SIREN on a B2B flowBR-FR-21 French BR-FR-CTC rulesBR-FR-21 BT-49BR-FR-21/BT-49 : Si le traitement est BAR/B2B et que le type de document (BT-3) n’est pas en autofacture (389, 501, 500, 471, 473, 261, 502), alors le BT-49 (EndpointID) doit commencer par le SIREN (BT-47) et le BT-49-1 (schemeID) doit être égal à "0225". Valeurs actuelles : EndpointID=" ", schemeID=" ", SIREN=" ".BR-FR-21 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

The 0225 address is the routing address of the French directory: it is built on the SIREN, possibly followed by an establishment or service suffix. An address in another scheme — an e-mail, a GLN — or built on another SIREN is not in the directory, and the invoice does not arrive. 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

Fill in BT-49 with your customer's reception address as the directory publishes it, in scheme 0225. Factlint does not query the directory and does not invent a routing address.

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:URIUniversalCommunication><ram:URIID schemeID="EM">[email protected]</ram:URIID></ram:URIUniversalCommunication>
AFTER (compliant)
<ram:URIUniversalCommunication><ram:URIID schemeID="0225">987654321</ram:URIID></ram:URIUniversalCommunication>