Funktionsübersicht
Fakturo liest XRechnung (CII/UBL), ZUGFeRD/Factur-X und Mails mit Rechnungen, prüft sie, zeigt sie an und speichert sie als PDF. Mit --watch überwacht es einen Ordner, archiviert nach GoBD-Grundsätzen und meldet Auffälligkeiten per Mail.
Oberfläche
- Öffnen / Ordner / Drag & Drop: Dateien oder Ordner laden, auch per Ziehen auf das Fenster. Mehrere Rechnungen erscheinen links in einer Liste.
- Liste: Volltextfilter (Nummer, Aussteller, Betrag, IBAN, Positionen, Notiz) und Statusfilter (Prüffehler, Warnungen, ohne Beanstandung, Dubletten und IBAN-Wechsel, nicht lesbar, je Bearbeitungsstatus). Rechtsklick: Status setzen, Notiz (F2), im Explorer zeigen, entfernen (Entf), Liste leeren.
- Rechnungsansicht: Kopfdaten, Parteien, Positionen, Steuer, Summen, Zahlungsangaben und Prüfergebnis. Ein Klick auf einen Wert kopiert ihn.
- Rohansicht (XML) mit Suche und Anhänge: eingebettete Dateien öffnen, einzeln oder alle speichern.
- PDF speichern, Drucken, Zoom und Dunkelmodus im Menü Ansicht. Der Dialog „Über Fakturo“ steht im selben Menü.
Prüfungen und Verlauf
Jede Rechnung wird offline auf Plausibilität geprüft. Stufen: Fehler, Warnung, Hinweis, in Ordnung. Das ist keine Validierung gegen die offiziellen KoSIT-/Schematron-Regeln.
- Pflichtangaben (Nummer, Datum, Parteien, Positionen) mit Verweis auf die BT-Nummern.
- Summen von Positionen, Netto, Steuer, Brutto und Zahlbetrag (Toleranz 0,01) sowie Steuer je Kategorie und Satz.
- IBAN-Prüfsumme (Modulo 97), Format der Leitweg-ID, Hinweis bei überschrittener Fälligkeit.
- Dubletten: identische Datei, gleiche Rechnungsnummer desselben Ausstellers, gleicher Betrag am gleichen Tag unter anderer Nummer.
- IBAN-Wechsel: Die Zahlungs-IBAN weicht von früheren Rechnungen desselben Ausstellers ab. Das ist die Warnung vor der Betrugsmasche „geänderte Bankverbindung“.
Für diese Prüfungen merkt sich Fakturo je Rechnung nur Kennzahlen (Nummer, Datum, Betrag, IBAN, Prüfsumme der Datei, Aussteller-Kennung), keine Inhalte. Der Verlauf gehört zum jeweiligen Mandanten und lässt sich über Ansicht → Verlauf ein- und ausschalten oder löschen.
Export und PDF
| Funktion | Ergebnis |
|---|---|
| PDF speichern | Lesbare Ansicht mit Seitenrändern, bei IBAN und Betrag mit GiroCode-QR (EPC) für die Überweisung |
| XML | Rechnungs-XML als Datei |
| Positionen (CSV) | Eine Zeile je Rechnungsposition |
| Übersicht (CSV) | Eine Zeile je Rechnung der angezeigten Liste, mit Prüfung, Status und Notiz. Excel-tauglich (Semikolon, Dezimalkomma, UTF-8 mit BOM, Schutz vor Formel-Einschleusung) |
| Alle als PDF | Jede Rechnung der Liste in einen Zielordner |
| Prüfbericht (PDF) | Prüfergebnis aller Rechnungen mit SHA-256 des XML, Status und Notiz |
| PDF-Layout | Logo, Kopfzeile, Fußzeile (auf jeder Seite) und Eingangsstempel mit Datum auf Seite 1 |
Das Layout gilt je Mandant und auch im Stapel- und Watch-Modus. Logo: PNG, JPG, GIF, SVG oder WebP bis 700 KB. Platzhalter: {Datum} {Zeit} {Nummer} {Aussteller} {Empfänger} {Betrag}. Das Stempeldatum ist der Tag, an dem die Rechnung zuerst gesehen wurde.
Status und Notiz
Jede Rechnung hat einen Bearbeitungsstand (Offen, Geprüft, Freigegeben, Bezahlt, Abgelehnt) und eine Notiz.
- Der Stand hängt an der XML-Prüfsumme. Dieselbe Rechnung hat in jeder Datei denselben Stand.
- Gespeichert als anhängendes Protokoll
verlauf.status.tsvmit Zeit, Benutzer und Quelle. - Sichtbar in Liste, Filter, Suche, CSV und Prüfbericht.
Mandantenprofile Neu
Je Firma ein eigener Satz an Einstellungen, umschaltbar über den Knopf „Mandant: …“ in der Werkzeugleiste.
- Der Mandant „Standard“ nutzt weiter den Datenordner selbst, alle anderen liegen unter
%LOCALAPPDATA%\Fakturo\profiles\<Name>. - Im Menü des Knopfs: Mandant wählen, neu anlegen, bearbeiten, löschen. Löschen entfernt Verlauf, Status und Layout des Mandanten, das Archiv bleibt unangetastet.
- Auf der Kommandozeile wählt
--profile "Name"den Mandanten. Verlauf, Layout, Archiv, Mail und die Ordner der Überwachung kommen dann aus dem Profil.
Kommandozeile
Fakturo.exe --convert <Eingang> [<Ausgang>] [Optionen] Fakturo.exe --watch <Eingangsordner> [<Ausgang>] [Optionen] Fakturo.exe --watch --profile "Müller" Fakturo.exe --verify <Archivordner> Fakturo.exe --mailtest <Mail-Datei> Fakturo.exe --watch ... --install-task | --remove-task
Ohne Parameter oder mit einer Datei startet die Oberfläche. --help zeigt die Hilfe. Pfade mit Leerzeichen in Anführungszeichen setzen.
| Parameter | Gilt für | Wirkung |
|---|---|---|
--convert | Stapel | Datei oder Ordner ohne Oberfläche in PDF umwandeln. Standard-Ausgang: Ordner der Quelle |
--watch | Watch | Eingangsordner dauerhaft überwachen. Standard-Ausgang: <Eingang>\PDF |
--profile | beide | Mandant wählen. Bei --watch dürfen Eingang und Ausgang aus dem Profil kommen |
--recurse | Stapel | Unterordner einbeziehen, Struktur wird gespiegelt |
--overwrite | Stapel | Vorhandene PDFs überschreiben (Standard: überspringen) |
--attachments | beide | Eingebettete Anhänge in <Name>_Anlagen speichern |
--report | beide | Zusätzlich <Name>_Pruefbericht.pdf |
--history <Datei> | beide | Verlaufsdatei für Dubletten und IBAN-Wechsel |
--branding <Datei> | beide | Layoutdatei (Logo, Kopf-/Fußzeile, Stempel) |
--archive <Ordner> | beide | Jede erfolgreich umgewandelte Rechnung im GoBD-Archiv ablegen |
--mail <Datei> | beide | SMTP-Meldungen bei Auffälligkeiten |
--strict | beide | Rechnungen mit Prüffehlern gelten als fehlgeschlagen |
--log <Datei> | beide | Protokolldatei, Standard <Ausgang>\Fakturo.log |
--install-task / --remove-task | Watch | Autostart-Aufgabe in der Aufgabenplanung anlegen oder entfernen |
--verify <Ordner> | allein | Archiv prüfen, Exit-Code 1 bei Auffälligkeiten |
--mailtest <Datei> | allein | Testmail senden |
Exit-Codes: 0 = alles in Ordnung, 1 = mindestens eine Datei fehlgeschlagen (bei --verify: Auffälligkeiten), 2 = Aufruf- oder Startfehler. Fehler stehen auf der Konsole und im Log, nicht in Meldungsfenstern.
Watch-Ordner
Fakturo.exe --watch "D:\Rechnungen\Eingang" "D:\Rechnungen\PDF" --archive "D:\Archiv" --mail "C:\Fakturo\mail.ini" --report
- Geprüft werden
.xml,.pdf,.emlund.msgim Eingangsordner (ohne Unterordner). Namen mit~oder.am Anfang werden ignoriert. - Eine Datei wird erst verarbeitet, wenn sie 2 Sekunden unverändert und nicht gesperrt ist. Die ältesten kommen zuerst.
- Eine Mail mit mehreren Rechnungen ergibt je Rechnung ein PDF. Das PDF entsteht erst als
.tmpund wird dann umbenannt, vorhandene Namen werden nie überschrieben.
| Ergebnis | Quelldatei landet in | Zusätzlich |
|---|---|---|
| Erfolgreich | Eingang\Verarbeitet | PDF im Ausgang, Zeile im Rechnungsjournal.csv, Verlauf, ggf. Archiv |
| Fehler | Eingang\Fehler | <Name>.fehler.txt mit dem Protokoll. Mit --strict zählen auch Prüffehler |
| Dublette | Eingang\Dubletten | Kein PDF |
Dateien im Ausgang: Fakturo.log, Rechnungsjournal.csv (für die Buchhaltung, Excel-tauglich), Fakturo-Verlauf.tsv und Fakturo-Verlauf.status.tsv.
Steuerung: Fakturo.lock verhindert eine zweite Überwachung desselben Ordners. Zum Beenden eine Datei Fakturo.stop in den Eingangsordner legen oder im Tray „Überwachung beenden“ wählen. Ausstehende Meldungen werden noch verschickt.
Autostart-Aufgabe Neu
Die Überwachung läuft als Aufgabe der Windows-Aufgabenplanung und nicht als Dienst, weil WebView2 eine angemeldete Benutzersitzung braucht.
- Start: 30 Sekunden nach der Anmeldung des Benutzers, mit normalen Benutzerrechten, ohne Zeitlimit.
- Stabil: Bei einem Absturz startet die Aufgabe nach einer Minute neu. Eine zweite Instanz wird verhindert.
- Name:
Fakturo\Überwachung <Mandant>, je Mandant eine Aufgabe.
Drei Wege zur Einrichtung
| Weg | Aufruf |
|---|---|
| Oberfläche | Mandant bearbeiten → „Überwachung als Autostart-Aufgabe einrichten“ (speichert den Mandanten und startet die Aufgabe sofort) |
| Kommandozeile | Fakturo.exe --watch "D:\Eingang" --profile "Müller" --install-task |
| PowerShell | .\Scripts\Install-FakturoTask.ps1 -Eingang D:\Eingang -Ausgang D:\PDF -Mandant Müller (mit -Entfernen wieder löschen) |
Tray-Symbol und Explorer Neu
Doppelklick im Explorer
- Ansicht → Als Standardprogramm anbieten registriert Fakturo für .xml, .eml, .msg und .pdf und öffnet die Windows-Einstellung „Standard-Apps“.
- Kontextmenü: „Mit Fakturo öffnen“ über Ansicht → Shell-Integration (unter Windows 11 bei „Weitere Optionen“).
GoBD-Archiv
Ablage je Rechnung unter <Archiv>\<Jahr>\<Aussteller>\<Nummer>_<Kennung>\
| Datei | Inhalt |
|---|---|
Rechnung.xml | Das strukturierte Original |
Original_<Name> | Die ursprüngliche Datei (XML, ZUGFeRD-PDF oder Mail) |
Ansicht.pdf | Lesbare PDF-Ansicht |
manifest.txt | Rechnungsdaten und SHA-256 jeder Datei |
- Die Dateien werden schreibgeschützt.
Archivprotokoll.tsvim Archivstamm verkettet alle Ablagen per Hash, damit fallen auch geänderte Manifeste, fehlende oder zusätzliche Dateien und entfernte Protokolleinträge auf. - Bereits archivierte Rechnungen bleiben unverändert.
- GUI: Export → In GoBD-Archiv ablegen, Export → Archiv prüfen. Kommandozeile:
--archiveund--verify. Den Archivordner legt jeder Mandant selbst fest.
Mail-Meldungen
Textdatei für --mail oder im Mandanten hinterlegt, eine Zeile je Einstellung. Zeilen mit # sind Kommentare.
| Schlüssel | Bedeutung |
|---|---|
host | SMTP-Server (Pflicht) |
port | Standard 25, üblich 587 |
security | starttls oder none (Port 465 mit SSL wird nicht unterstützt) |
user, password | Anmeldung, falls nötig |
passwordenv | Name einer Umgebungsvariable mit dem Kennwort |
from, to | Absender und Empfänger (Pflicht), mehrere Empfänger mit ; |
subject | Betreff-Anfang, Standard [Fakturo] |
on | Gemeldete Arten, Standard fehler,dublette,iban,pruefung |
trustcert | 1 akzeptiert selbst ausgestellte Zertifikate (nur interne Server) |
Arten: fehler, dublette, iban, pruefung, warnung. Pro Durchlauf geht höchstens eine Sammelmail raus. Schlägt der Versand fehl, werden die Meldungen behalten und nach 5 Minuten erneut versucht. Anhänge enthält die Mail nicht. Das Kennwort steht im Klartext in der Datei, schützen Sie sie per Dateirechten.
Speicherorte
| Pfad | Zweck |
|---|---|
%LOCALAPPDATA%\Fakturo\settings.txt | GUI-Einstellungen (Dunkelmodus, aktiver Mandant, Tray, Verlauf) |
%LOCALAPPDATA%\Fakturo\verlauf.tsv | Verlauf des Mandanten „Standard“ (Status in verlauf.status.tsv) |
%LOCALAPPDATA%\Fakturo\layout.ini | PDF-Layout des Mandanten „Standard“ |
%LOCALAPPDATA%\Fakturo\profiles\<Name>\ | Verlauf, Status, Layout und profile.ini je weiterem Mandanten |
Grenzen
- Plausibilitätsprüfung, keine Schematron-Validierung. Für die verbindliche Prüfung bleibt das KoSIT-Prüftool.
- Keine Seitenzahlen im PDF, kein PDF/A, kein DATEV-Export, keine Rechnungserstellung.
- Längere Rechnungen brauchen mit Kopf- und Fußzeile mehr Seiten.
- Die Autostart-Aufgabe läuft nur, solange der Benutzer angemeldet ist.