VeriFactu — Facturation électronique
Pool-Control génère des enregistrements de facturation conformes VeriFactu : empreinte digitale SHA-256 chaînée, SOAP XML et code QR dans le PDF.
Ce qui est implémenté
| Fonction | Statut |
|---|---|
| Empreinte digitale et chaînage lors de l'émission de la facture | Disponible |
| XML VeriFactu (projet SOAP) | Disponible |
| QR de validation en PDF | Disponible |
| Téléchargement XML à partir du détail de la facture | Disponible |
| Rectifications (crédit R1) en référence à la facture originale | Disponible |
| Immuabilité : ne modifiez pas les factures émises | Disponible |
| Entreprise certifiée (.pfx) | Paramètres → Entreprise → Certificat VeriFactu |
| Envoi à AEAT pré-production | Attestation de locataire +ALLOW_AEAT_SEND=confirmsur le serveur |
| Signature XAdES | En attente (production approuvée) |
| Véritable production AEAT | Bloqué (ALLOW_PROD+ XAdES) |
Flux habituel
- Créez ou générez une facture projet.
- Vérifiez les données et appuyez sur Problème : le numéro, l'empreinte digitale et le XML sont attribués.
- La facture ne peut pas être modifiée (uniquement rectifiée avec crédit).
- Téléchargez le PDF (avec QR) ou XML.
- Facultatif : Envoyer AEAT (PRE) à partir du détail (uniquement si le serveur dispose d'un certificat de l'émetteur obligé).
Exigences pour l'expédition AEAT
- Téléchargez le certificat .pfx/.p12 de l'émetteur obligé dans Paramètres de l'entreprise (le NIF du certificat doit correspondre au NIF de l'entreprise).
- Nom de l'entreprise = nom dans le recensement AEAT (doit correspondre au certificat).
- NIF du producteur de logiciel configuré dans SuperAdmin → VeriFactu (différent du NIF du locataire).
- Environnement de pré-production par défaut (
verifactuProduction = false). - En développement local, vous pouvez utiliser
VERIFACTU_CERT_PATH(pas dans la production de rendu). - Lors du téléchargement du certificat dans Paramètres : vous êtes informé du cryptage AES-256-GCM, de la finalité AEAT et de la possibilité de suppression ; détail dans política de privacidad et paramètres de l'entreprise.
Matrice de test automatique
| Suite | Qu'est-ce qui est valable |
|---|---|
verifactu-hash.test.ts | Empreinte F1/F2/R1 |
verifactu-xml.test.ts | XML du destinataire, chaînage |
verifactu-aeat-response.test.ts | Analyseur correct/incorrect |
verifactu-compliance.test.ts | Règles juridiques API (immuabilité, achats sans VF) |
pnpm test:verifactu-xsd | Exemples XML (structure/XSD si xmllint) |
RUN_AEAT_INTEGRATION=1 | PRÉ-expédition réelle (facultatif, pas de CI) |
Comptes de test internes
| Compte | Sous-domaine | Utilisation |
|---|---|---|
| Démo publique | AquaDemo | Testeurs — Données fictives (démo CIF) |
| Laboratoire VF | vf-lab | Tests VeriFactu avec des données réelles de développeur — pas la démo publique |
Accès laboratoire (semences) :admin@vf-lab.test/password123Commande pour recréer des données de laboratoire dynamiques :
cd packages/server && pnpm seed:vf-lab -- --resetAchats et VeriFactu
Les factures fournisseurs, reçus, paiements au fournisseur et annulations/crédits d'achat dans l'ERP ne sont pas envoyés à AEAT en tant qu'enregistrement VeriFactu.
| Documenter | VeriFactu de Pool-Control ? | Raison |
|---|---|---|
| Facture de vente (client) | Oui : hachage, XML, QR, envoi PRE | Vous êtes émetteur obligatoire |
| Crédit / rectification vente (R1) | Oui | Rectifier une facture que vous avez émise |
| Facture fournisseur (achat) | Non | Il est enregistré par votre fournisseur ; vous postez uniquement le reçu |
| Paiement ou annulation d'achat | Non | Il ne s'agit pas d'un relevé d'enregistrement de votre facturation émis |
Si votre fournisseur est obligé de VeriFactu, il envoie le XML au Trésor ; Pool-Control ne remplace pas cet envoi.
Enregistrement légal vs audit interne
| Couche | Ce qui garde | Où le voir |
|---|---|---|
| Enregistrement VeriFactu (émetteur obligatoire) | Empreinte digitale SHA-256, chaînage, SOAP XML, statut AEAT | Facture émise : champs techniques + téléchargement XML |
| Audit d'entreprise | Qui a émis, tentatives de modification bloquées, soumissions AEAT PRE | Paramètres → Audit (SETTINGS_VIEW_LOGS) |
Actions d'audit pertinentes :INVOICE_ISSUED,VERIFACTU_EDIT_BLOCKED,VERIFACTU_AEAT_SEND.
Le journal de bord exportable (CSV/XML en masse pour inspection) est en attente ; Aujourd'hui, le dossier technique figure dans chaque facture émise.
Environnement PRE jusqu'à l'inscription officielle au recensement
Jusqu'à ce que l'entreprise soit enregistrée et que le recensement AEAT corresponde au certificat et au nom de l'entreprise :
- Utilisez uniquement la pré-production (verifactuProduction = false, hôteprewww1).
- Envois uniquement avec
ALLOW_AEAT_SEND=confirmet surveillance. - Valider en locataire
vf-lab(pas de démo publique AquaDemo). - Ne pas activer la production AEAT ou
ALLOW_PRODdans le rendu.
Lorsque l'inscription officielle est prête : attestation de locataire dans Paramètres, Corriger PRE test depuis l'application, puis approbation (XAdES) avant mise en production.
Rectifier ≠ supprimer
Les factures émises ne peuvent pas être supprimées. Pour corriger : utiliser Rectifier → crédit (R1) et, le cas échéant, nouvelle facture.