Consentement à ePrivacy et au RGPD par Cookie Consent

La QR-facture : elle ne sera bientôt plus un secret (bancaire suisse) pour vous

Illustration du Swiss QR d'une QR facture... rouge (donc non conforme) Illustration du Swiss QR d'une QR-facture... rouge (donc non conforme)

Ah, la Suisse... A quoi pensez-vous immédiatement, vous qui vivez peut-être à l'ouest du Rhône ? A ses montagnes enneignées, à ses vaches mauves (d'où proviennent ses chocolats et ses fromages), à son secret bancaire. Et... si vous n'avez que ça en tête : à ses QR-factures.

Si vous êtes sans doute incollable sur les premiers poncifs exposés ci-dessus - poncifs dont certains sont complètement faux, puisque Milka appartient désormais au groupe américain Mondelēz International et n'est paraît-il pas produit en Suisse - peut-être vous demandez-vous plus sérieusement ce qu'est une QR-facture ? (c'est probablement le cas si vous n'avez pas la chance d'être vous-même citoyen ou résident suisse).

Une vache mauve paissant dans une pature suisse Une vache mauve paissant dans une pâture suisse (c) PXhere

Succédant à d'anciennes pratiques devenus désuettes le 30 septembre 2022, la QR-facture est un moyen simple de faire réaliser un paiement, généralement au bénéfice d'une institution ou d'une entreprise, à l'aide d'un document imprimé.

Les informations relatives au paiement (y compris l'IBAN du bénéficiaire) y apparaissent deux fois :

  • une fois "en clair" : elles sont donc lisibles par un être humain raisonnablement constitué
  • et une seconde fois sous la forme d'un QR Code : à l'attention des machines ; ce code - subtil clin d'oeil - présente la particularité graphique de comporter en son centre une petite croix blanche sur fond noir (dont vous trouverez ici une version PNG - merci à © Six Group), en référence bien sûr à la croix blanche sur fond rouge du drapeau helvète. D'où le terme "Swiss QR Code" souvent employé par les spécialistes de ce domaine

Ayant en main sa QR-facture, le débiteur (le client) n'a plus qu'à dégainer l'App de sa banque suisse préférée, flasher le code puis valider, ce qui entraînera le paiement. Ou, à la mode "grand-mère" : se présenter dans un bureau de poste avec le document.

Vue d'une QR-facture créée manuellement avec le générateur de PostFinance Vue d'une QR-facture créée avec le générateur de PostFinance

L'industrialisation du processus

Une petite entreprise ou pourquoi pas un particulier pourraient envisager de générer leurs propres QR-factures au goutte-à-goutte, via par exemple le site tout à fait officiel de PostFinance (l'équivalent suisse de la Banque Postale française).

Mais dès lors qu'il s'agit d'industrialiser le processus de génération des QR-factures, il va falloir croquer un peu dans la barre ovomaltine et envisager d'utiliser une solution de composition à données variables pour générer ces documents à grande vitesse et potentiellement sur de gros volumes.

Ce moteur de compositon devra certainement :

  • puiser les données de chaque facture dans une source de données (telle qu'un fichier Excel, un fichier CSV, une base de données Microsoft Access ou même des bases de données "serveur" telles que MySQL, SQL Server ou Oracle)
  • les mettre en forme (par exemple : en insérant des espaces dans la version "en clair" de l'IBAN, pour le rendre plus lisible)
  • fusionner ces données mises en forme avec un modèle de document - préférablement conçu dans une solution de mise en page professionnelle ; ceci implique donc de savoir "dessiner" le QR Code et y apposer la croix suisse
  • produire un fichier de sortie et l'envoyer à toute imprimante de production ou presse numérique, capables de produire le résultat attendu, tant en termes de qualité que de productivité.

Drapeau suisse Drapeau suisse (c) PXHere

Un risque à ne pas courir serait de générer d'abord les QR Codes, puis de composer le reste du document dans un second temps, le rapprochement de la bonne image avec les bons textes "en clair" étant toujours une opération potentiellement... stressante. A l'idéal, on recherchera donc un moteur de composition qui saura réaliser l'ensemble de ces tâches à la volée, non seulement pour qu'aucune intervention manuelle ne soit nécessaire lors de la production, mais aussi pour sécuriser l'ensemble du processus.

Par exemple avec uDirect - la solution de composition de XMPie pour stations de travail PC ou Mac - et ses grandes soeurs PersonalEffect Print et PersonalEffect Print Pro - hébergées sur une plateforme serveur. Toutes trois reposent sur Adobe InDesign, la solution de mise en page de documents en tête de son marché depuis plus de 20 ans.

Les détails qui tuent

Voici parmi de nombreux autres quelques aspects techniques à ne pas négliger :

  • en Suisse comme ailleurs, "Der Teufel steckt im Detail" - comme on dit à Bern, à Zürich ou à Niederhelfenschwil : Six Group (en) précise que le QR Code doit être généré avec le niveau de correction "M" ; chez XMPie, c'est donc la valeur "ECLevel=Medium" qui devrait être spécifiée
  • et comme on le dit aussi à Lausanne, à Genève ou à Yverdon-les-Bains : "Le diable se cache dans les DÉtails" : dans la plupart des systèmes informatiques et des langages de programmation communément rencontrés, la précision des valeurs numériques a une limite parfois méconnue ; chez Microsoft, le tableur Excel peut sérieusement commencer à s'emmêler les pinceaux au delà de 15 chiffres : tout ce qui "dépasse" sera considéré comme zéro ; par exemple, avec un nombre tel que "196107504725398" (le numéro de sécurité social français d'un homme né en Paris en octobre 1996"), Excel ne perdra aucune précision. Mais avec un nombre de l'ordre de dix pentillions tel que 1234567890123456, faites le test : Excel devrait vous restituer 1234567890123450. 👿

    Chez XMPie, la documentation en ligne stipule qu'une limitation de précision existe au delà de 14 chiffres ; un numéro de sécurité social français avec sa clé pourra donc ne pas être traité correctement s'il est conservé sous la forme d'un numérique. Différemment de la situation rencontrée avec le seizième chiffre d'Excel, le quinzième chiffre de XMPie ne sera pas forcément zéro, mais l'expérience a montré qu'il pourrait être approximatif dans 20% des situations. 👿

    Dans tous les cas, il "suffit" d'y penser (admettons que c'est parfois plus facile à dire qu'à faire) et de conserver la donnée sous la forme d'un texte plutôt que d'un numérique. Avec Excel : en ajoutant par exemple une apostrophe à gauche du nombre. Cela concerne toutes les données dont on soupçonne qu'elles dépasseront un jour la limite fatidique, sans forcément prévenir à l'avance. Dans les QR-factures, ça peut être la partie numérique de l'IBAN, ou la référence.

    Avec XMPie uDirect, on forcera donc le typage du champ ; puis, dans la situation évoquée plus haut, où nous voulions ajouter des espaces dans l'IBAN imprimée en clair en utilisant des fonctions telles que SubString plutôt que FormatNumber. Palette XMPie uDirect avec champs typés Palette XMPie uDirect avec champs typés ; les champs précédés d'un "T" sont de type texte, ceux précédés d'un "#" sont numériques

Si vous souhaitez vraiment tout savoir sur la norme QR-facture, elle est à votre disposition au format PDF, ici en version 2.2, valable depuis le 22 février 2021 et là en version 2.3, valable à partir du 21 novembre 2025, le tout mis à votre disposition par Six Group.

Plus d'info svp ! Retour au blog

Articles associés

© west-digital.fr 15/04/2024 - Ce billet a été rédigé sans utiliser aucune intelligence artificielle - ça se voit ? 😜