Steuerkram/docs/funktionen.md

7.8 KiB
Raw Blame History

Funktionen

Kontenrahmen SKR03

DATEV-konformer SKR03 2026 mit 157 Systemkonten (Klassen 0, 1, 2, 4, 8), zugeschnitten auf EÜR-Buchhalter ohne Bilanzierungspflicht. Alle Konten sind mit geprüften UStVA-Kennzahlen (ELSTER) und EÜR-Zeilennummern hinterlegt.

Vollständige Kontenliste: kontenrahmen.md


Belegverwaltung

  • Upload von PDF, PNG, JPEG, TIFF und ZUGFeRD-XML
  • SHA-256 Integritätsprüfung je Datei
  • Automatischer Weißrand-Zuschnitt bei JPEG/PNG via GD
  • KI-gestützter Kontierungsvorschlag (optional, siehe konfiguration.md)
  • Nextcloud-Import via WebDAV (optional)
  • Belege können nicht gelöscht werden, solange Buchungen darauf verweisen (GoBD)
  • Ereignisanzeige (/ereignisse/nextcloud-import): Log der letzten 500 Import-Ereignisse (importiert/übersprungen/Fehler); aktualisiert sich per Ein-/Aus-Button oben rechts automatisch alle 60 Sekunden (Zustand wird im Browser gemerkt)

Buchungen

EÜR-Buchungsmodell (Einnahme/Ausgabe) mit Kategorie- und Zahlungskonto.

  • Steuerarten für Auslandsumsätze: Inland, steuerfreie ig. Lieferung (Kz 41), steuerfreie Ausfuhr (Kz 44), ig. Erwerb 19 % (Kz 89/91), ig. Erwerb 7 % (Kz 93/94)
  • Bewirtungsausgaben: automatischer Split 70 %/30 % bei Konten 4650, 4651, 4652
  • Eigenanteil (30 %) bei Telefon/Internet (Konten 4920/4925): optional zubuchbar
  • Stornobuchungen: GoBD-konforme Gegenbuchung statt Löschung
  • GoBD-Schutz: MariaDB BEFORE UPDATE/DELETE-Trigger verhindern nachträgliche Manipulation gebuchter Sätze
  • Journal: gefilterte Übersicht aller Buchungen mit CSV-Export

Lieferantenverwaltung

CRUD für Lieferantenstammdaten. Lieferanten können Belegen zugeordnet werden; beim Buchen eines Belegs wird ein unbekannter Lieferant automatisch angelegt (findOrCreate). Der Lieferantenname ist direkt im Beleg inline editierbar. Sowohl in der Belegmetadaten-Bearbeitung (Buchungsmaske) als auch in der Belegliste bietet die Lieferanteneingabe eine Typeahead-Auswahl (HTML5-Datalist) der bereits vorhandenen Lieferanten, um Dubletten durch abweichende Schreibweisen zu vermeiden.


Kundenverwaltung

CRUD für Kundenstammdaten. Kunden werden beim Erstellen von Ausgangsrechnungen ausgewählt.

  • Pro Kunde können neben der Haupt-E-Mail-Adresse zwei zusätzliche CC-Adressen hinterlegt werden. Beim Rechnungsversand werden diese automatisch in die CC-Felder des E-Mail-Dialogs übernommen.

Ausgangsrechnungen

  • DIN 5008-konformes Layout, PDF-Export via mPDF
  • Rechnungsnummernformat PPPYYYYMM-nn (konfigurierbarer Präfix + Jahr + Monat + laufende Nummer, monatlicher Reset)
  • Status-Workflow: Entwurf → Finalisiert (gesperrt für Bearbeitung) → Gesendet → Bezahlt / Storniert
  • Buchungsworkflow: Finalisierung erzeugt automatisch einen Beleg und eine Buchung in der Belegverwaltung
  • ZUGFeRD EN16931 (E-Rechnung): Jede generierte PDF enthält ein eingebettetes factur-x.xml nach EU-Norm EN 16931; Pflichtangaben laut § 14 UStG vollständig abgedeckt; Validierung möglich unter portal.e-rechnung-bund.de; Bibliothek: horstoeko/zugferd v1.x
  • E-Mail-Versand via SMTP direkt aus der Anwendung
  • Stornorechnung (§ 14 UStG): Finalisierte, gesendete oder bezahlte Rechnungen können storniert werden; dabei entsteht automatisch eine nummerierte Stornorechnung mit negierten Beträgen (storno_of_id), GoBD-konforme Stornobuchungen heben die Originalbuchungen auf; Querverweise in der Detailansicht, angepasstes PDF-Layout (Titel „STORNORECHNUNG", Referenzzeile)

Anlagevermögen

Anlagenspiegel für abnutzbare Wirtschaftsgüter – siehe anlagevermögen.md.


Bank buchen

  • Import von Kontoauszügen über zwei Wege: CSV-Upload (TXT/XLSX ebenfalls) und Direktverbindung (API/FinTS)
  • CSV-Upload: konfigurierbare Spalten- und Datumsformate je Bank, automatische Format-Erkennung beim Datei-Upload, Vorschau-Panel mit Headerzeile und Spalten-Zuordnung; bei unbekannten Formaten wird ein Vorschlag generiert und auf der Settings-Seite zum expliziten Speichern angeboten
  • Neues CSV-Format manuell anlegen: im „Neue Direktverbindung"-Dialog (Importieren) kann per „+ CSV-Importformat…" ein neues CSV-Format mit Trennzeichen, Datums-/Dezimalformat etc. angelegt werden; Spaltenzuordnung wird anschließend unter Einstellungen → CSV Bankimport Formate verfeinert
  • Direktverbindung „PayPal" (NVP/SOAP-API): API-Benutzer, API-Kennwort, Signature und Sandbox-Flag werden verschlüsselt abgelegt. Live-Log via Server-Sent Events
  • Direktverbindung „FinTS" (Comdirect, DKB und weitere): BLZ, Benutzerkennung und PIN, optional FinTS-Server-URL (sonst Default aus dem Provider) und IBAN-Filter. PIN wird verschlüsselt abgelegt (AES-256-GCM). Leseabruf mit PIN; TAN-pflichtige Aktionen werden mit Fehlermeldung abgebrochen. Die FinTS-Server-URL wird beim Speichern und erneut vor jedem Abruf mit SsrfGuard geprüft: nur https:// zu öffentlich erreichbaren Hosts ist erlaubt, private/interne Ziele (RFC1918, Loopback, Link-Local) werden abgelehnt (Schutz vor SSRF)
  • Letzter Abrufzeitpunkt wird pro Verbindung gespeichert; nächster Abruf startet ab 00:00 dieses Tages (max. ein Tag Überlappung für Dedup)
  • Kontostand: FinTS-Abrufe liefern den Schlusssaldo des letzten Statements, PayPal den aktuellen Saldo über GetBalance; der Wert wird zusammen mit dem Abrufzeitpunkt auf der Verbindungskachel angezeigt und bleibt bei Abrufen ohne ermittelten Kontostand erhalten
  • Abrufen ab: Im Bearbeiten-Dialog kann pro Direktverbindung ausgewählt werden, ab wann der nächste Lauf Buchungen holt: Ab letztem Abruf (Default), Letzte 7 Tage, Aktueller Monat (ab 01.), Letzte 30 Tage oder Ohne Datum (letzte 365 Tage). Die Sonderauswahl gilt nur einmalig – nach erfolgreichem Abruf fällt die Verbindung wieder auf den Default zurück
  • Dublettenprüfung: CSV-Import vergleicht Datum+Betrag+Text; Direktverbindungen nutzen eine external_id (Hash aus IBAN/Datum/Betrag/Verwendungszweck bei FinTS, Transaktions-ID bei PayPal)
  • Beleg-Zuordnung: jede Banktransaktion kann einem oder mehreren Belegen zugeordnet werden; der zugeordnete Betrag wird separat erfasst
  • Teilzuordnung: eine Transaktion kann schrittweise mehreren Belegen anteilig zugeordnet werden
  • Status-Logik: offen → keine Zuordnung, teilweise → Restsaldo > 0,01 €, gebucht → vollständig zugeordnet
  • Direkter Beleg-Upload aus der Transaktionsansicht heraus (erzeugt neuen Beleg und verknüpft ihn)
  • Verschlüsselung: Der APP_KEY in .env ist Pflicht für Direktverbindungen – im Backup mitsichern, Verlust = Verlust aller gespeicherten Credentials

UStVA (Umsatzsteuervoranmeldung)

  • Monatliche Kennzahlen-Berechnung aus Buchungen (Kz 81, 89, 66, 61, 83)
  • ELSTER XML-Export
  • Drill-down: Klick auf eine Kennzahl zeigt alle zugehörigen Buchungszeilen

Zuordnungsregeln: berechnungslogik.md


EÜR (Einnahmen-Überschuss-Rechnung)

  • Jahresauswertung: Einnahmen, Ausgaben, Gewinn je Kategorie-Konto
  • Nicht abzugsfähige Betriebsausgaben (§ 4 Abs. 5 EStG, EÜR-Zeile 51) in separatem Abschnitt
  • PDF-Export
  • Drill-down: Klick auf ein Konto zeigt alle zugehörigen Buchungszeilen

Zuordnungsregeln: berechnungslogik.md


Einstellungen

  • Firmendaten und Logo (erscheinen auf Rechnungen und im EÜR/UStVA-Export)
  • ELSTER-Steuernummer
  • Nummernkreis-Präfixe für Belege, Rechnungen und Anlagen
  • SMTP-Konfiguration für E-Mail-Versand (Host, Port, Benutzer, Passwort, TLS/SSL)
  • KI-Kontierungsvorschlag (Ollama oder OpenAI-kompatible API)
  • Nextcloud-Belegimport (WebDAV-Zugangsdaten)

Benutzerverwaltung

  • Benutzer anlegen, bearbeiten, deaktivieren und löschen
  • Session-basierte Authentifizierung mit 24 h Timeout
  • Erste Benutzeranlage über Ersteinrichtungs-Dialog beim ersten Aufruf