Aller au contenu

Outils gratuits

Validateur gratuit de factures Peppol

Vérifiez votre facture ou votre avoir UBL selon les règles EN 16931 et Peppol BIS Billing 3. Consultez les erreurs, les avertissements et les liens vers les corrections disponibles.

  • Gratuit
  • Sans inscription
  • XML de facture non stocké

ou déposez votre fichier XML ici

Facture ou avoir UBLXMLJusqu'à 5 Mio

Pas de fichier sous la main ? Faites passer une facture d'exemple dans le validateur :

Les exemples sont des factures fictives. Téléchargez le XML : exemple valide ou exemple avec erreurs, ou lisez la présentation champ par champ de l'exemple valide.

Votre XML n'est envoyé que lorsque vous lancez la validation. Le XML de facture et les résultats anonymes sont traités de façon transitoire et ne sont pas stockés.

Comment votre fichier est traité
  • Votre XML n'est envoyé que lorsque vous lancez la validation. Un exemple n'envoie que cet exemple.
  • Il part de votre navigateur vers l'API Ironfang Finance. Le XML anonyme et son résultat sont traités de façon transitoire et ne sont pas stockés.
  • Les métadonnées de requête et de sécurité, sans contenu, y compris l'adresse IP, peuvent être conservées jusqu'à 90 jours.
  • Des limites de débit s'appliquent aux utilisateurs anonymes. La taille maximale d'entrée est de 5 Mio.
  • Consultez la politique de confidentialité.
Options avancées

Laissez les deux options sur Détecter, sauf si la validation indique que le profil ou le type ne peut pas être détecté. Ces options ne fixent pas de version. Elles déclarent le profil et le type de document pour lesquels l'API détermine la version actuelle utilisable pour l'envoi, au lieu de les détecter à partir du document ; le résultat indique la version utilisée. Un type de document déclaré qui contredit l'élément racine détecté est refusé avant la validation. Un document dont l'élément racine ne peut pas être lu doit avoir les deux déclarés, et il est alors signalé comme non valide à l'étape XML ou schéma.

Besoin de contrôles automatisés ? Découvrir l'API de validation.

Exemple de résultat

Voyez comment une erreur est expliquée

Voici un vrai constat issu de notre exemple avec erreurs : le total des montants de ligne y indique 750.00, mais ses deux lignes totalisent 740.00. Le validateur signale aussi BR-CO-13, le total hors TVA qui en dépend.

Télécharger son XML
ErreurBR-CO-10

Les montants des lignes ne correspondent pas au total

Le total des lignes au niveau du document doit être égal à la somme des montants nets des lignes individuelles.

Correction suggérée : Additionnez en arithmétique décimale les valeurs LineExtensionAmount des éléments InvoiceLine ou CreditNoteLine. Placez la somme arrondie dans LegalMonetaryTotal/LineExtensionAmount.

Emplacement dans le XML/*:Invoice[*][1]/cac:LegalMonetaryTotal[1]

Comment corriger BR-CO-10 (ouvre un nouvel onglet)Texte officiel de la règle (en anglais) (ouvre un nouvel onglet)

Détails techniques pour BR-CO-10

Message du validateur : Une règle métier EN 16931 n'est pas respectée à cet endroit.

Ce qu'un contrôle vous apporte

API Ironfang Finance

Validez automatiquement vos factures dans votre application

Lancez les mêmes contrôles via l'API Ironfang Finance et traitez les résultats dans vos propres processus.

  • Arrêtez une facture avant son envoi : l'API renvoie le même résultat et les mêmes constats en JSON.
  • Gardez un historique : les résultats obtenus avec un compte sont conservés 30 jours, et vous pouvez les lister, les lire ou les supprimer.
  • Démarrez rapidement avec les SDK TypeScript et Python, une CLI et une GitHub Action.

250 validations gratuites chaque mois. Aucune carte requise. Ce validateur est gratuit et utilisable sans compte. La création de compte est pour l'instant en anglais.

Ironfang Finance / valider une facture Peppol

Portée de clé requise :finance:einvoices:write

Requête

curl --request POST \
  'https://api.ironfang.uk/finance/v1/einvoices/validate' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/xml' \
  --header 'Accept: application/json' \
  --header 'Idempotency-Key: invoice-2026-001' \
  --data-binary '@invoice.xml'

Exemple de réponse, extrait

200 OK
Content-Type: application/json

{
  "operation_id": "019f29a4-3158-7b81-8f64-f1072146de30",
  "status": "completed",
  "outcome": "valid",
  "ruleset": {
    "id": "fwrs_example_invoice_2026a"
  },
  "findings": [],
  "findings_summary": {
    "returned": 0, "total": 0,
    "cap": 1000, "truncated": false
  }
}

Envoyez votre fichier XML comme corps de la requête. L'en-tête facultatif Idempotency-Key vous permet de renvoyer la même requête sans deuxième validation ni facturation. Les documents non valides renvoient aussi 200, avec outcome: invalid et leurs constats. XRechnung et ZUGFeRD / Factur-X utilisent la route V2 ; consultez le démarrage rapide de l'API.

Questions

Des réponses courtes sur le validateur gratuit. Les détails techniques ci-dessous décrivent entièrement les limites et le traitement du XML.

Quels documents puis-je vérifier ?
Une facture (Invoice) ou un avoir (CreditNote) UBL 2.1 en XML établi selon Peppol BIS Billing 3, un document à la fois, jusqu'à 5 Mio. Les factures PDF, les archives et les fichiers compressés ne sont pas acceptés.
Ai-je besoin d'un compte ?
Non. Le validateur de cette page est gratuit et utilisable sans inscription, dans les limites de débit appliquées aux utilisateurs anonymes. Un compte n'est nécessaire que pour effectuer les mêmes contrôles via l'API.
Que devient mon fichier ?
Il n'est envoyé à l'API Ironfang Finance que lorsque vous lancez la validation. Le XML de facture et les résultats anonymes sont traités de façon transitoire et ne sont pas stockés. Les métadonnées de requête et de sécurité, sans contenu, y compris votre adresse IP, peuvent être conservées jusqu'à 90 jours.
Que signifie un résultat réussi ?
Le document que vous avez soumis a réussi les contrôles du schéma UBL 2.1, d'EN 16931 et de Peppol BIS Billing 3 pour la version du jeu de règles indiquée dans le résultat. Un résultat réussi ne certifie pas la facture, ne garantit pas qu'un destinataire l'acceptera et n'envoie rien via le réseau Peppol.
Puis-je lancer ces contrôles depuis mon propre logiciel ?
Oui. L'API Ironfang Finance effectue la même validation et renvoie les constats en JSON. Un compte gratuit comprend 250 validations par mois civil UTC.
Détails techniques : jeux de règles, limites et traitement du XML

Ce qui est vérifié

Votre document est validé selon le jeu de règles actuel utilisable pour l'envoi, une version exacte et immuable : le schéma UBL 2.1, les règles métier EN 16931 et les règles Peppol BIS Billing 3, dans cet ordre. Chaque constat porte un identifiant stable, l'identifiant officiel lorsque la norme en fournit un, et un identifiant Ironfang FW- pour les contrôles aux limites de l'entrée et du XML. Le résultat vous indique si le document est valide selon ce jeu de règles. Il ne certifie pas le document, ne garantit pas qu'un destinataire l'acceptera et n'envoie rien via le réseau Peppol.

Limites

Un document XML d'au plus 5 Mio par requête, et des limites de débit pour les utilisateurs anonymes. Les archives et les fichiers compressés sont refusés avant la validation. Avec les deux options sur Détecter, un document dont le profil ne peut pas être détecté, y compris un document comportant un DOCTYPE avant son élément racine, est refusé avant la validation comme profil non détecté. Dès qu'un jeu de règles peut être sélectionné, détecté ou déclaré, un DOCTYPE, des déclarations d'entités ou des références à des entités autres que les cinq entités prédéfinies de XML, ou XInclude sont signalés comme non valides à l'étape XML ; les règles ne sont pas atteintes.

Traitement du XML

  • UTF-8, ou UTF-16 avec une marque d'ordre des octets.
  • Un DOCTYPE, des entités autres que les cinq entités prédéfinies, ou XInclude sont refusés avant la validation ou signalés comme non valides à l'étape XML, jamais validés.
  • Au plus 1 000 constats sont renvoyés ; un résultat indique quand la liste a été raccourcie.
  • Le rapport lisible et le téléchargement JSON ne sont pas signés et ne contiennent aucun XML de facture.

Ressources Ironfang Finance