VeriFactu – Elektronische Abrechnung
Pool-Control generiert VeriFactu-konforme Abrechnungsaufzeichnungen: verketteter SHA-256-Fingerabdruck, SOAP-XML und QR-Code im PDF.
Was ist implementiert?
| Funktion | Status |
|---|---|
| Fingerabdruck und Verkettung bei Rechnungsausstellung | Verfügbar |
| XML VeriFactu (SOAP-Entwurf) | Verfügbar |
| Validierung QR im PDF | Verfügbar |
| XML-Download aus Rechnungsdetails | Verfügbar |
| Berichtigungen (R1-Gutschrift) mit Bezug zur Originalrechnung | Verfügbar |
| Unveränderlichkeit: Ausgestellte Rechnungen nicht bearbeiten | Verfügbar |
| Unternehmenszertifiziert (.pfx) | Einstellungen → Unternehmen → VeriFactu-Zertifikat |
| Senden an AEAT Vorproduktion | Mandantenzertifikat + „ALLOW_AEAT_SEND=confirm“ auf dem Server |
| XAdES-Signatur | Ausstehend (genehmigte Produktion) |
| Echte AEAT-Produktion | Blockiert (ALLOW_PROD + XAdES) |
Üblicher Ablauf
- Erstellen oder generieren Sie einen Rechnungsentwurf.
- Überprüfen Sie die Daten und drücken Sie Ausgeben – Nummer, Fingerabdruck und XML werden zugewiesen.
- Die Rechnung kann nicht bearbeitet werden (nur mit Gutschrift berichtigt werden).
- Laden Sie PDF (mit QR) oder XML herunter.
- Optional: AEAT (PRE) senden aus dem Detail (nur wenn der Server über ein Zertifikat des verpflichteten Ausstellers verfügt).
Anforderungen für den AEAT-Versand
- Laden Sie das .pfx/.p12-Zertifikat des verpflichteten Ausstellers in Unternehmenseinstellungen hoch (die NIF des Zertifikats muss mit der NIF des Unternehmens übereinstimmen).
- Firmenname = Name in der AEAT-Zählung (muss mit dem Zertifikat übereinstimmen).
- Softwarehersteller-NIF konfiguriert in SuperAdmin → VeriFactu (anders als die NIF des Mandanten).
- Standardmäßige Vorproduktionsumgebung („verifactuProduction = false“).
- In der lokalen Entwicklung können Sie „VERIFACTU_CERT_PATH“ verwenden (nicht in der Render-Produktion).
- Beim Hochladen des Zertifikats in den Einstellungen: Sie werden über die AES-256-GCM-Verschlüsselung, den AEAT-Zweck und die Löschmöglichkeit informiert; Einzelheiten finden Sie unter Datenschutzbestimmungen und in den Unternehmenseinstellungen.
Automatische Testmatrix| Suite | Was ist gültig |
|-------|------------| | verifactu-hash.test.ts | Grundfläche F1/F2/R1 | | verifactu-xml.test.ts | Empfänger-XML, Verkettung | | verifactu-aeat-response.test.ts | Richtiger/Falscher Parser | | verifactu-compliance.test.ts | API-Rechtsregeln (Unveränderlichkeit, VF-freie Käufe) | | pnpm test:verifactu-xsd | XML-Beispiele (Struktur/XSD, wenn xmllint) | | RUN_AEAT_INTEGRATION=1 | Tatsächlicher PRE-Versand (optional, kein CI) |
Interne Testkonten
| Konto | Subdomain | Verwendung |
|---|---|---|
| Öffentliche Demo | AquaDemo | Tester – fiktive Daten (CIF-Demo) |
| VF-Labor | vf-lab | VeriFactu testet mit echten Entwicklerdaten – nicht die öffentliche Demo |
Laborzugang (Seed): admin@vf-lab.test / password123
Befehl zum Neuerstellen dynamischer Labordaten:
cd packages/server && pnpm seed:vf-lab -- --resetKäufe und VeriFactu
Die Lieferantenrechnungen, Quittungen, Zahlungen an den Lieferanten und Kaufstornierungen/Gutschriften im ERP werden nicht als VeriFactu-Registrierung an AEAT gesendet.
| Dokument | VeriFactu von Pool-Control? | Grund |
|---|---|---|
| Verkaufsrechnung (Kunde) | Ja – Hash, XML, QR, PRE-Send | Sie sind der Pflichtaussteller |
| Gutschrift / Berichtigung Verkauf (R1) | Ja | Korrigieren Sie eine von Ihnen ausgestellte Rechnung |
| Lieferantenrechnung (Einkauf) | Nein | Es wird von Ihrem Provider registriert; Sie buchen nur die Quittung |
| Zahlung oder Stornierung des Kaufs | Nein | Es handelt sich nicht um einen Registrierungsdatensatz Ihrer ausgestellten Abrechnung |
Wenn Ihr Lieferant zu VeriFactu verpflichtet ist, sendet er das XML an das Finanzministerium; Pool-Control ersetzt diese Lieferung nicht.
Gesetzliche Registrierung vs. interne Revision
| Schicht | Was hält | Wo kann man es sehen |
|---|---|---|
| VeriFactu-Registrierung (obligatorischer Aussteller) | SHA-256-Fingerabdruck, Verkettung, SOAP XML, AEAT-Status | Rechnungsstellung: technische Felder + XML-Download |
| Betriebswirtschaftliche Prüfung | Wer hat AEAT PRE-Einreichungen ausgestellt, Bearbeitungsversuche blockiert, AEAT PRE-Einreichungen | Einstellungen → Audit (SETTINGS_VIEW_LOGS) |
Relevante Prüfaktionen: „INVOICE_ISSUED“, „VERIFACTU_EDIT_BLOCKED“, „VERIFACTU_AEAT_SEND“.
Exportierbares Logbuch (Massen-CSV/XML zur Inspektion) ist ausstehend; Heute ist die technische Dokumentation in jeder ausgestellten Rechnung enthalten.
PRE-Umgebung bis zur offiziellen Registrierung bei der Volkszählung
Bis das Unternehmen registriert ist und die AEAT-Zählung mit dem Zertifikat und dem Firmennamen übereinstimmt:
- Verwenden Sie nur Vorproduktion („verifactuProduction = false“, Host „prewww1“).
- Sendungen nur mit
ALLOW_AEAT_SEND=confirmund Überwachung. - Validierung im Mandanten
vf-lab(keine öffentliche AquaDemo-Demo). - Aktivieren Sie nicht die AEAT-Produktion oder „ALLOW_PROD“ in Render.Wenn die offizielle Registrierung fertig ist: Mieterzertifikat in den Einstellungen, Korrekt PRE-Test aus der App, dann Genehmigung (XAdES) vor der Produktion.
Korrigieren ≠ löschen
Ausgestellte Rechnungen können nicht gelöscht werden. Zur Korrektur: Korrigieren → Gutschrift (R1) und ggf. neue Rechnung verwenden.