Transparence

Ce qui est teste, et comment

Cette page decrit exactement les controles effectues par FacturXValidator SaaS. Le rapport produit est une aide technique indicative : il ne remplace pas une validation officielle complete Factur-X, EN 16931, PDF/A-3, XSD ou Schematron.

1

Controle de l'upload

Bloquant

Avant toute analyse, le serveur verifie que chaque fichier respecte les contraintes configurees.

  • Nombre maximum de fichiers par lot via Upload:MaxFilesPerBatch.
  • Taille maximum par fichier via Upload:MaxFileSizeMb.
  • Extension obligatoire .pdf.
  • Content-Type autorise, par defaut application/pdf ou application/x-pdf.
  • Signature binaire du fichier : les premiers octets doivent commencer par %PDF-.

Le nom original n'est jamais utilise pour stocker le fichier. Un nom aleatoire cote serveur est genere.

2

Lecture technique du PDF

Bloquant / indicatif

Le fichier est ouvert avec la bibliotheque NuGet PDFsharp afin de verifier qu'il est lisible comme document PDF.

  • Si le PDF ne peut pas etre ouvert, le rapport signale une erreur.
  • Le nombre de pages lisibles est ajoute aux informations du rapport.
  • La presence d'indices PDF/A-3 est recherchee dans les metadonnees PDF.

La compatibilite PDF/A-3 est seulement indicative. Une certification PDF/A-3 complete necessite un validateur specialise.

3

Detection du XML embarque

Bloquant

Factur-X repose sur un PDF lisible contenant un XML structure. L'application recherche donc un XML compatible dans le contenu du PDF.

  • Recherche des noms usuels : factur-x.xml, zugferd-invoice.xml, xrechnung.xml.
  • Recherche d'un document XML contenant CrossIndustryInvoice.
  • Lecture du contenu brut et des streams PDF compresses en FlateDecode.
  • Signalement si le nom du fichier XML n'est pas confirme ou differe de factur-x.xml.

Certains PDF peuvent stocker les pieces jointes avec des structures que cette extraction simple ne couvre pas encore.

4

Parsing XML securise

Bloquant

Le XML detecte est parse cote serveur avec une configuration restrictive.

  • Le XML doit etre bien forme.
  • Les DTD sont interdites.
  • Les resolvers externes sont desactives pour eviter les acces reseau ou fichiers non souhaites.
  • Une limite de taille documentaire est appliquee pendant le parsing.

Aucun contenu provenant du PDF ou du XML n'est execute.

5

Syntaxe UN/CEFACT CII

Bloquant

Le service verifie que le XML ressemble a une facture CII attendue pour Factur-X.

  • La racine XML doit etre CrossIndustryInvoice.
  • L'espace de noms doit correspondre a la famille UN/CEFACT CrossIndustryInvoice.
  • Le profil Factur-X est detecte si le contexte documentaire contient une indication exploitable.
6

Champs principaux extraits

Bloquant si absent

Les champs ci-dessous sont extraits depuis le XML et affiches dans le rapport quand ils sont presents.

  • Profil Factur-X : MINIMUM, BASIC WL, BASIC, EN16931 ou EXTENDED.
  • Numero de facture et date d'emission.
  • Vendeur et acheteur.
  • Total HT, total TVA, total TTC et devise.
  • Lignes de facture pour les profils qui les exigent generalement.
7

Coherence des montants

Bloquant

Si les montants HT, TVA et TTC sont presents, l'application applique un controle arithmetique simple.

  • Calcul attendu : Total TTC = Total HT + Total TVA.
  • Tolerance configurable via FacturX:AmountTolerance, par defaut 0.02.
  • Un ecart superieur a la tolerance produit une erreur.

Ce controle ne remplace pas les regles fiscales detaillees par taux, exonerations, arrondis ou lignes.

8

XSD et Schematron

Point d'extension

L'architecture prevoit une interface ISchemaValidationService et un dossier /app/data/schemas pour integrer les schemas officiels.

  • Le service actuel signale explicitement que la validation XSD/Schematron complete n'est pas executee.
  • Le chemin des schemas est configurable via FacturX:SchemasPath.
  • Une implementation future pourra charger les XSD et les regles Schematron officielles Factur-X / EN 16931.

Une facture peut donc passer certains controles de base sans etre officiellement conforme.

Lecture du resultat

Conforme signifie qu'aucune erreur ni avertissement n'a ete detecte par les controles actuellement implementes. Avertissements signifie qu'un point doit etre verifie. Non conforme signifie qu'au moins une erreur bloquante a ete detectee.

La mention "Conforme" doit toujours etre comprise dans le perimetre de cette page, pas comme une certification fiscale, comptable, juridique ou normative complete.

Une erreur inattendue est survenue. Recharger x

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.