Comment fonctionne un QR code de virement SEPA (EPC)
Le code contient un court texte défini par le Conseil européen des paiements (EPC) dans sa recommandation EPC069-12 pour les virements SEPA. Il compte jusqu'à douze lignes séparées par des sauts de ligne : BCD, la version 002, le jeu de caractères 1 pour UTF-8, le service SCT, le BIC facultatif, le nom du bénéficiaire (70 caractères maximum), l'IBAN, le montant sous la forme EUR12.50, un code motif laissé vide, soit une référence créancier structurée soit un libellé libre (140 caractères maximum), et un message au payeur (70 maximum). Les lignes vides en fin de texte sont supprimées et l'ensemble reste sous les 331 octets qu'impose la recommandation.
Les applications bancaires d'Allemagne et d'Autriche connaissent ce format sous le nom de GiroCode, celles des Pays-Bas et de Belgique sous le nom d'EPC QR, celles de Finlande comme QR code de paiement ; il est aussi pris en charge au Luxembourg, en Italie, en Estonie, en Lettonie et en Lituanie. En France, il est bien moins répandu qu'en Allemagne et la prise en charge varie d'une banque à l'autre ; en Belgique, la plupart des grandes banques le lisent, mais pas toutes ; en Suisse, les banques utilisent surtout leur propre QR-facture et peu d'applications lisent le format EPC. Le payeur ouvre son application, choisit de scanner ou de photographier un virement, et le bénéficiaire, l'IBAN, le montant et la référence apparaissent dans le formulaire. Il vérifie les informations et valide le virement comme d'habitude.
L'IBAN est nettoyé et vérifié avant la construction du code : les espaces sont retirés, les lettres mises en majuscules, la longueur contrôlée selon le pays (27 caractères pour un IBAN français comme FR14 2004 1010 0505 0001 3M02 606) et la clé de contrôle validée par l'algorithme mod 97. Une référence qui est une référence créancier ISO 11649 valide (RF suivi de chiffres de contrôle) est placée automatiquement dans le champ structuré ; tout autre texte va dans le champ libre. Ce site ne traite ni ne voit aucun paiement : il construit seulement le texte du code, et le virement se fait dans l'application du payeur.
Exemples d'utilisation
- Un indépendant ou une petite entreprise imprime le code sur la facture à côté des coordonnées bancaires : le client paie sans saisir l'IBAN.
- Une association place un code avec la cotisation annuelle et un libellé comme Cotisation 2026 sur son courrier aux membres.
- Un propriétaire partage avec ses locataires un code pour le loyer, avec le montant et le libellé qui doit figurer sur le relevé bancaire.
- Une association caritative ou une paroisse affiche un code de don sans montant sur une affiche ou dans une lettre d'information.
Conseils avant d'imprimer
- Le BIC est facultatif pour les virements SEPA au sein de l'UE depuis la version 002 : laissez-le vide sauf si votre banque l'exige.
- Gardez un libellé parlant mais court : un numéro de facture ou un identifiant client, c'est ce que vous chercherez plus tard sur votre relevé.
- Saisissez le montant avec un point ou une virgule ; les deux sont acceptés et écrits EUR49.90 dans le code. Seuls des montants en euros sont possibles dans ce format.
- Scannez le code avec votre propre application bancaire avant d'imprimer. Si l'IBAN ou le nom ne correspond pas à votre compte, corrigez la faute de frappe maintenant. Comme toutes les banques françaises ne lisent pas ce format, indiquez aussi l'IBAN en clair à côté du code.