Aller au contenu

Facturation électronique en Belgique

Envoyer et recevoir des factures Peppol : guide étape par étape

Dernière vérification SUPPORTED WITH LIMITATIONS

Traduction de la version anglaise, mise à jour en premier. Les indications réglementaires renvoient aux sources citées et à leur date de consultation.

Pour envoyer ou recevoir des factures via Peppol, il vous faut un compte auprès d'un point d'accès accrédité, un identifiant de participant enregistré dans le SMP de ce prestataire, et un logiciel qui produit et lit des documents Peppol BIS Billing 3.0. Envoyer consiste à : valider la facture, rechercher le destinataire, remettre le document à votre point d'accès, puis attendre l'accusé de réception de transport et l'éventuelle réponse métier. Recevoir est la même chose en sens inverse, avec l'obligation d'accepter au minimum les factures et notes de crédit BIS Billing 3.0. Les prix sont fixés par chaque prestataire, pas par le réseau.

Ce dont vous avez besoin avant la première facture

Trois choses, et aucune ne peut être obtenue directement auprès d'OpenPeppol : un prestataire de services, un identifiant et un document conforme.

Un point d'accès
Un prestataire de services accrédité par une autorité Peppol. Il signe le Service Provider Agreement, passe les tests de conformité et détient le certificat PKI exigé par le réseau. La plupart des entreprises n'en contractent pas un elles-mêmes ; elles utilisent un logiciel de facturation ou de comptabilité connecté à l'un d'eux. Le SPF belge publie une liste de solutions logicielles conformes.
Un identifiant de participant
Votre adresse sur le réseau — en Belgique le numéro d'entreprise sous le schéma 0208, en Allemagne une Leitweg-ID pour les organismes publics ou le numéro de TVA (9930) pour les entreprises, aux Pays-Bas le numéro KvK (0106). Les règles et un tableau des schémas se trouvent sur la page Identifiants Peppol.
Un document conforme
Une facture ou une note de crédit en Peppol BIS Billing 3.0 (UBL 2.1) qui respecte les règles Schematron EN 16931 et Peppol. Les points d'accès émetteurs valident les documents sortants ; un fichier qui échoue n'entre jamais dans le réseau.

Envoyer une facture : étape par étape

La séquence ci-dessous est ce qui se passe entre votre logiciel et celui du destinataire, quel que soit le prestataire intermédiaire.

  1. S'enregistrer auprès du point d'accès. Créez l'entité juridique (raison sociale, adresse, pays, identifiants) chez le prestataire. Les prestataires approuvent généralement l'entité avant qu'elle ne puisse envoyer, et enregistrent les identifiants que vous fournissez dans leur SMP — les annonçant sur le réseau pour que d'autres puissent vous adresser des documents.
  2. Construire la facture. Produisez un document UBL BIS Billing 3.0 avec les identifiants de customisation et de profil de la spécification, les EndpointID du vendeur et de l'acheteur avec schemeID, et chaque pièce jointe intégrée (base64) ou liée dans le document. Les pièces jointes envoyées par e-mail séparé ne font pas partie de la facture ; en Belgique, le SPF précise qu'elles font juridiquement partie de la facture et doivent voyager avec elle.
  3. Valider. Exécutez les jeux de règles Schematron EN 16931 et Peppol. Les règles fatales (par exemple un endpoint acheteur manquant ou un total de TVA qui ne correspond pas) bloquent l'envoi ; les avertissements non.
  4. Rechercher le destinataire. Le point d'accès résout l'identifiant de l'acheteur via le SML vers le SMP de l'acheteur et lit les types de documents qu'il accepte. Si l'identifiant est inconnu, ou si le SMP ne liste pas BIS Billing 3.0, la facture ne peut pas être envoyée via Peppol — convenez d'un autre canal sécurisé avec le client.
  5. Transmettre. Le point d'accès enveloppe le document dans l'enveloppe Peppol (SBDH), le signe et l'envoie via AS4 au point d'accès destinataire. Le point d'accès destinataire renvoie un accusé de réception AS4 signé. Cet accusé est la preuve que le point d'accès destinataire a pris le message — pas que le client l'a lu.
  6. Consigner le résultat. Les prestataires rapportent le résultat de manière asynchrone, généralement par webhook, avec les preuves (le document exact envoyé et l'accusé de réception). Conservez les preuves avec la facture.
  7. Attendre les réponses métier. Facultativement, le côté acheteur envoie une Message Level Response et, dans le profil « Billing with Response », une Invoice Response avec le statut de traitement (voir ci-dessous).

Le renvoi est la principale source de factures en double. Une transmission dont le résultat est inconnu — un timeout, un incident chez le prestataire — peut déjà avoir été livrée. Le comportement correct consiste à interroger le prestataire sur le statut à l'aide d'une référence idempotente, pas à renvoyer.

Recevoir des factures

La réception est ce que l'obligation belge exige de toute entreprise identifiée à la TVA, y compris celles qui ne vendent qu'à des consommateurs. Les étapes :

  1. Enregistrez-vous comme destinataire auprès de votre point d'accès et faites publier votre identifiant dans son SMP avec, au minimum, les types de documents facture et note de crédit BIS Billing 3.0. Les prestataires de services belges doivent enregistrer le numéro d'entreprise ; la FAQ du SPF note que la publication sur le réseau vaut accord pour recevoir des factures structurées.
  2. Décidez comment les documents parviennent à votre logiciel : un webhook du prestataire, une interrogation de l'API du prestataire, ou une intégration maintenue par votre éditeur de logiciel.
  3. Validez le document entrant avec les mêmes jeux de règles que ceux utilisés par l'émetteur. Une facture structurellement invalide peut être rejetée au niveau du message.
  4. Importez la facture dans votre journal des achats : rapprochez le fournisseur par son identifiant, vérifiez les totaux, comptabilisez-la comme facture fournisseur.
  5. Répondez lorsque votre processus le permet — une Invoice Response « rejected » est la manière Peppol de refuser une facture qui ne vous était pas destinée, et le SPF belge renvoie exactement à ce mécanisme.

L'autofacturation est un type de document distinct : c'est le fournisseur, et non le client, qui doit s'enregistrer pour recevoir les factures et notes de crédit d'autofacturation. Les notes de crédit et de débit qui corrigent une facture structurée sont envoyées dans le même format et par le même canal que l'original.

Accusés et réponses : accusé AS4, MLR et Invoice Response

Peppol distingue trois niveaux d'accusé de réception, et les confondre est le malentendu le plus courant sur « ma facture a-t-elle été livrée ».

NiveauQui l'envoieCe qu'il ditObligatoire ?
Accusé AS4Point d'accès destinataire (coin 3)Le message a été reçu intact par le point d'accès destinataireOui — fait partie du protocole de transport
Message Level Response (MLR)Côté destinataire, après validationAP = accepté (pas d'erreur fatale), RE = rejeté (erreurs fatales, avec description), AB = accusé sans validationNon — les destinataires peuvent l'envoyer ; s'ils le font, un élément de réponse et un motif en cas de rejet
Invoice ResponseAcheteur (coin 4), profil 02 « Billing with Response »AB reçu, IP en cours de traitement, UQ en question, CA accepté sous condition, RE rejeté, AP accepté, PD payéNon — seulement lorsque l'acheteur implémente le profil

Un accusé AS4 prouve donc le transport, un MLR prouve que le fichier a pu être traité, et une Invoice Response rapporte ce que l'acheteur a décidé. Beaucoup de destinataires n'envoient aucun des deux derniers. Un logiciel doit afficher chaque niveau pour ce qu'il est et ne jamais transformer un accusé de transport en « payé » ou « accepté ».

Erreurs courantes et leur signification

SymptômeCause habituelleCorrection
« Participant not found » / destinataire inconnuL'identifiant n'est enregistré dans aucun SMP, utilise un schéma obsolète ou comporte une faute de frappe (zéro initial omis, préfixe TVA dans une valeur 0208)Vérifiez le Peppol Directory ; demandez au client sous quel schéma il est enregistré
« Document type not supported »Le SMP du destinataire ne liste pas BIS Billing 3.0, ou vous avez envoyé un document d'autofacturation ou PINT qu'il n'accepte pasEnvoyez le type de document listé par le SMP, ou convenez d'un autre canal
Erreur fatale Schematron (p. ex. BR-CO-15, PEPPOL-EN16931-R…)Totaux, ventilation de la taxe, élément obligatoire manquant, mauvais schéma sur l'EndpointIDValidez avant d'envoyer ; l'identifiant de la règle nomme le terme métier
Catégories de taxe mixtes O et E/S rejetéesL'EN 16931 interdit actuellement de combiner « hors champ » avec d'autres catégories sur une même factureLe SPF belge admet la catégorie E avec un motif d'exonération explicatif comme solution temporaire ; sinon, scindez la facture
Pièce jointe refuséeType de fichier absent de la liste EN 16931 (pdf, png, jpg, csv, xlsx, ods) ; XML seulement par accord jusqu'à la norme réviséeConvertissez ou intégrez en PDF
Doublon livréRenvoi après un résultat inconnuInterrogez le statut avec la référence d'origine ; émettez une note de crédit si un doublon a été comptabilisé
Délai de plusieurs heuresTraitement chez l'un des prestataires ou dans le logiciel de l'une des parties ; le réseau ne garantit pas le temps réelAttendez ; escaladez auprès du prestataire après plus d'un jour ouvrable

Ce que cela coûte

OpenPeppol ne facture pas les utilisateurs finaux ; les coûts naissent chez le prestataire de services. Les modèles observés sur le marché comprennent des frais par document, des abonnements mensuels avec volume inclus et des contrats entreprise sur devis ; certains produits comptables incluent la connexion dans leur abonnement. Les prix diffèrent suffisamment selon les prestataires et les volumes pour qu'aucun chiffre ici ne soit fiable — demandez au prestataire ou à votre éditeur de logiciel. Pour la Belgique, le SPF Finances a signalé des mesures fiscales pour la transition (une déduction pour investissement majorée et, pour 2024–2027, une déduction majorée pour les logiciels de facturation par abonnement) ; savoir si elles s'appliquent à une entreprise donnée nécessite une confirmation professionnelle.

Comment KRONENWERK envoie et reçoit via Peppol

KRONENWERK génère une facture UBL Peppol BIS Billing 3.0 pour chaque facture émise par une entreprise belge, la valide selon les règles Schematron Peppol et EN 16931 avant l'émission et consigne avec la facture le verdict fiscal et la vérification VIES du numéro de TVA de l'acheteur. Cette partie est PRISE EN CHARGE.

Le transport est PRIS EN CHARGE AVEC RESTRICTIONS. KRONENWERK n'est pas un point d'accès Peppol. Il envoie et reçoit via Peppol par l'intermédiaire d'un prestataire de point d'accès accrédité (Storecove) une fois l'entreprise connectée dans Paramètres → Envoi ; l'envoi en production dépend de ce compte et de sa configuration. Ce que fait la connexion lorsqu'elle est en place :

  • L'entreprise est enregistrée comme entité juridique chez le prestataire et son identifiant (schéma 0208 pour une entreprise belge) est publié ; une entreprise sans connexion obtient un échec explicite, jamais un envoi en son nom.
  • Chaque envoi est idempotent : la référence propre de la facture devient la clé d'idempotence du prestataire, de sorte qu'une nouvelle tentative ne peut pas créer une deuxième facture. Un résultat que le prestataire n'a pas rapporté est affiché comme inconnu, pas comme échoué.
  • Le statut de livraison est tiré des événements webhook du prestataire et des preuves de transport — le document tel qu'envoyé et l'accusé du point d'accès destinataire. La facture n'affiche « transport accepté » ou « livré » que lorsque le canal le rapporte ; un fichier généré ou validé n'est jamais affiché comme envoyé.
  • Les documents reçus signalés par le prestataire sont récupérés et importés en factures fournisseurs, comme les fichiers XRechnung, ZUGFeRD ou UBL téléversés.

Tant que la connexion n'est pas établie, une facture belge affiche « facture structurée prête · connexion Peppol requise », et le panneau e-mail précise qu'un e-mail ne la remplace pas. Les détails du produit se trouvent sur la facturation électronique dans KRONENWERK ; le cadre juridique belge sur le hub Belgique ; le réseau lui-même sur qu'est-ce que Peppol. Les développeurs qui s'intéressent au côté API — brouillons, webhooks tels que invoice.issued — devraient lire intégration Peppol. Un fichier reçu peut être vérifié sans compte avec le vérificateur de factures électroniques.

Questions fréquentes

Puis-je envoyer une facture Peppol par e-mail ?

Non. La livraison Peppol va de point d'accès à point d'accès via AS4. Un fichier UBL joint à un e-mail est une facture structurée mais pas une transmission Peppol ; en Belgique, un tel canal nécessite l'accord du client.

Comment savoir si ma facture est arrivée ?

Votre prestataire rapporte l'accusé AS4 du point d'accès destinataire ; cela prouve la réception par le point d'accès du destinataire. Savoir si l'acheteur l'a traitée n'est connu que s'il envoie une Message Level Response ou une Invoice Response, qui sont facultatives.

Ai-je besoin d'un enregistrement distinct pour recevoir ?

Votre identifiant doit être publié dans un SMP avec les types de documents que vous acceptez. Les prestataires le font généralement lorsqu'ils enregistrent votre entité juridique comme destinataire ; vérifiez que la facture et la note de crédit sont toutes deux listées.

Que se passe-t-il si j'envoie une facture à la mauvaise entreprise ?

Le destinataire devrait la rejeter, idéalement avec une Invoice Response « RE ». Vous devez néanmoins enregistrer la facture et la corriger par une note de crédit ; le SPF belge confirme que cela n'a pas changé avec la facturation électronique.

Un client peut-il m'obliger à utiliser son portail au lieu de Peppol ?

Pas en Belgique sans votre consentement écrit explicite, selon la FAQ du SPF. Vous pouvez insister sur Peppol.

Sources

  1. OpenPeppol — Peppol Interoperability Framework consulté le
  2. OpenPeppol — eDelivery Network specifications (AS4, SMP, SML, envelope) consulté le
  3. OpenPeppol — Peppol BIS Billing 3.0 consulté le
  4. OpenPeppol — Peppol Message Level Response 3.0 consulté le
  5. OpenPeppol — Invoice status code list (UNCL4343 subset, Invoice Response) consulté le
  6. OpenPeppol — Policy for use of Identifiers 4.4.0 consulté le
  7. Peppol Directory consulté le
  8. FPS BOSA / FPS Finance — FAQ, general questions about Peppol consulté le
  9. FPS BOSA / FPS Finance — FAQ, specific questions about e-invoicing (invoice response, attachments, credit notes) consulté le
  10. Storecove — API documentation consulté le

Comment KRONENWERK gère cela

La facturation électronique dans le produit Pays

À lire ensuite