FPF 1.1 — un format ouvert pour l'identité de facturation
JSON + JSON Schema, licence AGPL-3.0. Conçu pour le QR code : les données sont compressées (deflate) et encodées en base64url dans le fragment d'URL — jamais envoyées à aucun serveur.
Exemple
{
"fpf": "1.1",
"kind": "buyer",
"legal": { "country": "FR", "name": "ACME SAS",
"ids": [{ "scheme": "0002", "value": "542051180" }] },
"einvoice": { "eas": "0225", "address": "542051180_54205118000066" },
"contact": { "buyerReference": "CDE-2026-4471" }
}
Versions
Il n'existe qu'une version, la 1.1. Un lecteur doit accepter toutes les versions publiées — un QR code imprimé n'a pas de date de péremption — et il lui suffit aujourd'hui de connaître celle-ci.
Une version 1.0 a été publiée brièvement puis retirée avant qu'aucun
lien ne soit remis à personne. Un document portant "fpf": "1.0" doit
être refusé, jamais lu.
Transport
https://facturpass.com/#2.<base64url(deflate-raw(JSON))>
Préfixe 1. = base64url sans compression ;
2. = deflate-raw + base64url (nominal).
Décodage en 3 lignes avec DecompressionStream.
Pour les intégrateurs
Ce qu'un logiciel de caisse, un ERP ou une plateforme gagne à lire les pass FPF, ce que coûte l'implémentation et les pièges du profil France sont réunis sur une page dédiée : Implémenter FPF dans votre logiciel.
Schéma, spécification complète, profil France, exemples et implémentations de référence sont sur GitHub : github.com/FacturPass/fpf.
La licence AGPL-3.0 couvre le code de cette implémentation de référence et de ce site ; elle ne couvre pas le format FPF lui-même, que quiconque peut librement réimplémenter.