VeriFactu Phase 3 : Envoi à l'AEAT
Qu'est-ce que la Phase 3
La Phase 3 de VeriFactu est l'envoi automatique des enregistrements de facturation à l'Agence Fiscale (AEAT) via des messages SOAP/XML. Elle complète les phases précédentes (hachage SHA-256 et QR) par la transmission effective de chaque ajout et annulation de facture au système SII de l'AEAT.
Avec cette phase active, Frihet génère le XML conformément à l'Ordre HAC/1177/2024, le signe avec votre certificat numérique et l'envoie directement aux serveurs de l'AEAT. Tout se déroule en arrière-plan, sans intervention manuelle.
Certificat numérique
Pour envoyer des enregistrements à l'AEAT, vous avez besoin d'un certificat numérique valide. Frihet accepte les certificats aux formats .pfx ou .p12.
Où obtenir un certificat
| Émetteur | Type | Coût |
|---|---|---|
| FNMT (Fabrica Nacional de Moneda y Timbre) | Personne physique ou morale | Gratuit |
| CamCert (Camaras de Comercio) | Entreprise | Variable |
| ACCV (Comunitat Valenciana) | Régional | Gratuit |
Télécharger le certificat
- Allez dans Paramètres > Conformité
- Dans la section Certificat Numérique, cliquez sur Télécharger le certificat
- Sélectionnez votre fichier
.pfxou.p12 - Saisissez le mot de passe du certificat
Le mot de passe de votre certificat est chiffré avec AES-256-GCM avant d'être stocké. Il n'est jamais conservé en texte clair.
Sandbox vs Production
Le bouton bascule Mode sandbox dans Paramètres > Conformité permet d'envoyer des enregistrements à l'environnement de test de l'AEAT avant d'activer l'envoi réel.
- Sandbox : les enregistrements sont envoyés au point d'accès de test (endpoint). L'AEAT les valide mais ne les enregistre pas officiellement. Utile pour vérifier que le certificat et les données sont corrects.
- Production : les enregistrements sont envoyés au point d'accès officiel (endpoint). Les factures sont enregistrées dans le système SII de l'AEAT.
Activez le mode sandbox pendant les premiers jours pour confirmer que votre certificat fonctionne correctement et que les données sont générées sans erreurs.
Envoi automatique
Activation
- Allez dans Paramètres > Conformité
- Activez le bouton bascule Envoyer automatiquement à l'AEAT
Avec ce bouton bascule actif, chaque facture émise ou annulée est envoyée automatiquement :
Flux d'ajout (facture émise)
- Le hachage SHA-256 de la facture est calculé (chaîne immuable)
- Le XML d'ajout est généré conformément à la spécification AEAT
- Le XML est signé avec votre certificat numérique
- Il est envoyé via SOAP au point d'accès (endpoint) de l'AEAT
- La réponse est stockée (CSV attribué ou erreur)
Flux d'annulation (facture annulée)
- Le hachage d'annulation est calculé avec les 5 champs requis
- Le XML d'annulation est généré
- Il est signé et envoyé au point d'accès (endpoint) de l'AEAT
- La réponse et l'état d'annulation sont stockés
Les deux flux sont "fire-and-forget" : l'utilisateur peut continuer à travailler pendant que l'envoi est traité en arrière-plan.
Envoi manuel
Si l'envoi automatique n'est pas actif, ou si vous avez besoin de renvoyer une facture spécifique :
- Ouvrez la facture en question
- Cliquez sur le menu d'actions (trois points)
- Sélectionnez Envoyer à l'AEAT
- Une boîte de dialogue de confirmation s'affiche avec la prévisualisation du hachage
- Confirmez pour initier l'envoi
L'envoi manuel suit le même flux technique que l'envoi automatique.
États d'envoi
Chaque facture affiche un badge avec son état d'envoi à l'AEAT :
| État | Badge | Description |
|---|---|---|
| En attente | Contour (sans couleur) | Hachage calculé, envoi non initié |
| Envoyé | Gris | Message SOAP envoyé, en attente de réponse de l'AEAT |
| Accepté | Vert | L'AEAT a accepté l'enregistrement et a attribué un code CSV |
| Rejeté | Rouge | L'AEAT a rejeté l'enregistrement. Voir le détail de l'erreur |
| Erreur | Rouge | Erreur technique lors de l'envoi (réseau, certificat, délai d'attente) |
Consulter l'état
L'état d'envoi est visible dans :
- La vue détaillée de chaque facture (badge à côté du numéro)
- La liste générale des factures (colonne d'état)
- Le livre de registre étendu (colonnes supplémentaires)
Tentatives automatiques
Lorsqu'un envoi échoue en raison d'une erreur technique (délai d'attente, erreur réseau, service AEAT indisponible), Frihet réessaie automatiquement :
- Fréquence : toutes les 15 minutes
- Nombre maximum de tentatives : 3
- Après 3 échecs : l'état reste en Erreur et nécessite une intervention manuelle
Pour relancer manuellement une facture avec l'état Erreur :
- Ouvrez la facture
- Sur le badge d'état rouge, cliquez sur Réessayer
- Une nouvelle tentative d'envoi est exécutée
Indicateurs dans le PDF
Les factures acceptées par l'AEAT incluent des informations supplémentaires dans le PDF généré :
- Badge "Enregistrée à l'AEAT" dans l'en-tête du document
- Code CSV attribué par l'AEAT, à côté du QR de vérification
Ces indicateurs n'apparaissent que lorsque l'état d'envoi est Accepté.
Livre de registre étendu
Avec la Phase 3 active, le livre de registre des factures émises inclut 3 colonnes supplémentaires :
| Colonne | Description |
|---|---|
| État Envoi AEAT | État de l'envoi de l'enregistrement d'ajout (En attente, Envoyé, Accepté, Rejeté, Erreur) |
| CSV AEAT | Code de vérification sécurisé attribué par l'AEAT lors de l'acceptation de l'enregistrement |
| État Annulation AEAT | État de l'envoi de l'enregistrement d'annulation (le cas échéant) |
Ces colonnes sont ajoutées à la fin du CSV exporté, après les 12 colonnes standard.
Dépannage
"Certificat non configuré"
Aucun certificat numérique n'a été téléchargé. Allez dans Paramètres > Conformité et téléchargez votre fichier .pfx ou .p12.
"NIF non configuré"
Le profil fiscal n'a pas de NIF. Allez dans Paramètres > Profil Fiscal et complétez votre identifiant fiscal.
Erreur SOAP / Erreur de connexion
Causes possibles :
- Certificat expiré : vérifiez la date de validité de votre certificat. Les certificats FNMT ont une validité de 4 ans.
- Mot de passe incorrect : téléchargez à nouveau le certificat avec le mot de passe correct.
- Service AEAT non disponible : l'AEAT a des fenêtres de maintenance. Le système réessayera automatiquement.
- Données fiscales incomplètes : vérifiez que votre NIF, adresse fiscale et informations d'entreprise sont complètes.
Un certificat expiré bloque tous les envois. Renouvelez votre certificat auprès de la FNMT ou de CamCert avant la date d'échéance.
Facture rejetée par l'AEAT
L'AEAT peut rejeter un enregistrement pour les raisons suivantes :
- Le NIF de l'émetteur ne correspond pas au certificat
- Format de date incorrect
- Type de facture non valide pour l'opération
Vérifiez le message d'erreur dans le détail de la facture. Corrigez les données et utilisez Réessayer pour envoyer à nouveau.
Calendrier légal
L'obligation d'envoi à l'AEAT a des délais échelonnés selon le RDL 15/2025 :
| Type de contribuable | Date limite |
|---|---|
| Sociétés (S.L., S.A.) | 1er janvier 2027 |
| Auto-entrepreneurs (personne physique) | 1er juillet 2027 |
Frihet prend déjà en charge l'envoi à l'AEAT. Il est recommandé d'activer le mode sandbox à l'avance pour valider la configuration avant que l'obligation n'entre en vigueur.
Relation avec d'autres phases
- Phase 1 (Hachage SHA-256) : est calculée automatiquement sur chaque facture. C'est la base de l'enregistrement. Voir VeriFactu.
- Phase 2 (QR AEAT) : le code QR sur le PDF renvoie au siège électronique de l'AEAT pour vérification.
- Phase 3 (Envoi AEAT) : cette page. Transmission effective de l'enregistrement à l'AEAT via SOAP/XML.
Précédent : VeriFactu | Suivant : Immuabilité et enregistrement