🔧 Format du QR code — Documentation intégrateurs

Spécification technique à destination des éditeurs de logiciels de caisse et des développeurs qui souhaitent lire un QR code QR-Facture pour pré-remplir une facture.

Version 1 (v1)

1. Principe

Le QR code QR-Facture encode, sous forme d'une chaîne JSON en UTF-8, les coordonnées légales de facturation d'une entreprise. Un lecteur (caisse, application) scanne le QR, récupère la chaîne, la parse en JSON et mappe les champs vers sa facture.

Aucune donnée n'est stockée sur un serveur : tout est contenu dans le QR lui-même. Le QR est généré avec un niveau de correction d'erreur M.

2. Structure des données

CléDescriptionExemplePrésence
entrepriseRaison socialeMEDIA TECHNOLOGIESrequis
sirenSIREN (9 chiffres)484804786requis
siretSIRET du siège (14 chiffres)48480478600024requis
tvaN° TVA intracommunautaireFR56484804786requis
adresseVoie (numéro + libellé)9 rue Georges Enescorequis
cpCode postal94000requis
villeCommuneCréteilrequis
paysPaysFrancerequis
emailEmail de facturationinfo@exemple.froptionnel
telTéléphone01 75 43 05 05optionnel
serviceService / départementComptabilitéoptionnel
Un lecteur doit ignorer sans erreur toute clé inconnue et tout champ optionnel absent (ou présent avec une valeur vide ""), afin de rester compatible avec les versions futures.

3. Exemple de contenu

Contenu brut encodé dans le QR (chaîne JSON) :

{
  "entreprise": "MEDIA TECHNOLOGIES",
  "siren": "484804786",
  "siret": "48480478600024",
  "tva": "FR56484804786",
  "adresse": "9 rue Georges Enesco",
  "cp": "94000",
  "ville": "Créteil",
  "pays": "France",
  "email": "info@exemple.fr",
  "tel": "",
  "service": ""
}

4. Lecture (exemple JavaScript)

Après décodage du QR par votre lecteur, le contenu texte se parse directement :

const data = JSON.parse(qrTextContent);
const facture = {
  raisonSociale: data.entreprise,
  siren:         data.siren,
  siret:         data.siret,
  tvaIntra:      data.tva,
  adresse:       `${data.adresse}, ${data.cp} ${data.ville}`,
  email:         data.email || ""
};
Prévoyez un try / catch autour du JSON.parse : un QR scanné qui n'est pas au format QR-Facture ne doit pas faire planter la caisse.

5. Évolutions prévues

La version 1 documente le format actuel. Sont à l'étude, sans rupture de compatibilité :

• Un alignement des champs avec les standards de la facturation électronique (EN 16931 / Factur-X) ;
• Un numéro de version explicite dans la charge utile ;
• Des extensions liées au paiement B2B.

6. Partenariats & contact

Vous éditez un logiciel de caisse et souhaitez intégrer la lecture du QR-Facture ? L'intégration est gratuite et ouverte. Écrivez-nous : info@media-technologies.eu.

← Retour à l'accueil