CRATEAPI

BR-FR-CO-09

France · BR-FR (AFNOR/PDP) FATAL

This is a French BR-FR rule from the AFNOR XP Z12-012 standard - a national requirement for invoices exchanged through France's e-invoicing network (PDP platforms) under the September 2026 mandate. Typical French specifics: the seller's SIREN (scheme 0002), mandatory payment mentions (late penalties, recovery costs, discount terms), and the invoicing framework code. The official rule text below is in French - the referenced BT fields identify what to add or fix.

How to fix it
  1. Read the official text - each sub-rule names the exact business term (BT) involved.
  2. Check the seller identifiers: SIREN in CompanyID with schemeID="0002".
  3. Check the mandatory French invoice notes (BT-22 with PMT/PMD/AAB prefixes).
  4. Validate against the fr profile in our API to see all French findings at once.
Official rule text
[BR-FR-CO-09/BT-23] : Si le cadre de facturation (BT-23) est B2, S2 ou M2 (facture déjà payée), alors le montant déjà payé (BT-113) doit être égal au montant total TTC (BT-112). Montant payé : , Montant total : .

[BR-FR-CO-09/BT-23] : Si le cadre de facturation (BT-23) est B2, S2 ou M2, alors le net à payer (BT-115) doit être égal à 0. Net à payer : .

[BR-FR-CO-09/BT-23] : Si le cadre de facturation (BT-23) est B2, S2 ou M2, alors la date d’échéance (BT-9) doit être renseignée et correspondre à la date de paiement. Date d’échéance actuelle : .

Developers also reach this page searching for a “French e-invoice validation error”, a “Factur-X bill rejected” message, or how to fix a failed PDP compliance check — it's the same issue, explained above.

In short, in English: If the invoicing framework (BT-23) is B2, S2 or M2 (invoice already paid), the paid amount (BT-113) must equal the invoice total amount with VAT (BT-112).

Fix it faster

Paste your invoice XML in our free validator - every finding comes with its rule ID. Then generate, convert and render compliant invoices through one API.

Related rules