3 Dokumente
Daniel Heinze | ho.Systeme GmbH + Co. KG edited this page 2026-10-25 15:51:36 +01:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Dokumente

Menüpunkt Dokumente (ganze Ablage) bzw. Reiter Dokumente am Objekt: Ordner durchblättern, hochladen per Drag & Drop, umbenennen, verschieben, löschen und suchen (Suchfeld oben).

Dokumentenablage

Gelöschte Dateien landen im Papierkorb der Ablage: _Papierkorb\<Datum>\….

Ordnerstruktur je Objekt

Jedes Objekt bekommt dieselben Ordner – im Explorer wie in der Oberfläche:

<Objekt>/
  00_Posteingang                     noch nicht zugeordnet
  01_Objektunterlagen                Exposé, Grundriss, Wohnfläche, Energieausweis
  02_Kauf-und-Notar                  Kaufvertrag, Notar, Grunderwerbsteuer, Überweisungen
  03_Grundbuch-und-Recht             Grundbuch, Teilungserklärung, Vollmachten
  04_Finanzierung                    Darlehen, ESIS, Grundschuld, Zinsbescheinigung
  05_WEG-Hausverwaltung              Hausgeld, Wirtschaftsplan, ETV, Verwaltervertrag
  06_SEV-Sondereigentumsverwaltung   SE-Vertrag, SE-Vollmacht, SEV-Abrechnungen
  07_Mietverhaeltnisse/<Einheit>     Mietvertrag, Mieterhöhung, Übergabe, Kündigung
  08_Nebenkosten-und-Heizkosten      Betriebskosten- und Heizkostenabrechnung
  09_Instandhaltung-und-Handwerker   Angebote, Rechnungen, Gewährleistung
  10_Mietkonto-und-Zahlungen         Kontoauszüge, Mieteingänge, Kaution
  11_Steuer-und-AfA                  Anlage V, Nutzungsdauergutachten
  12_Versicherungen                  Gebäudeversicherung, Schäden
  13_Fotos-und-Plaene                Fotos, Zustandsdokumentation

Daneben liegt _Portfolio für alles ohne Objektbezug (Steuerbescheide, persönliche Unterlagen, Bankunterlagen, Ankaufsprüfungen, Auswertungen).

Neue Objekte und Einheiten legen ihre Ordner automatisch an. Einstellungen → Dokumentenablage → Standardstruktur anlegen / ergänzen zieht fehlende Ordner nach.

Posteingang und „Dokumente einlesen“

Hochgeladene Dateien landen auf Objektebene standardmäßig in 00_Posteingang; im Upload-Bereich lässt sich der Zielordner direkt wählen. Nach einem Upload in den Posteingang öffnet sich der Zuordnungsvorschlag automatisch. Der Knopf „Dokumente einlesen“ (Dokumente, Übersicht, Dokumente-Reiter, Unterlagen, Einstellungen) prüft alle Posteingänge:

  1. Das Regelwerk (src/regeln.js) schlägt je Datei einen Zielordner vor.
  2. Der Vorschlag ist über ein Auswahlfeld änderbar – alle Ordner aller Objekte, auch zum Umhängen auf ein anderes Objekt.
  3. Verschoben wird nur, was angehakt ist. Unsichere Vorschläge sind bewusst nicht vorausgewählt.
  4. Liegt im Ziel schon eine inhaltsgleiche Datei (unter beliebigem Namen), wird das gemeldet und die Datei nicht vorausgewählt.

Inhalt statt nur Dateiname (Texterkennung)

PDFs und Bilder werden mit einer Texterkennung gelesen, je nach Rechner auf einem von zwei Wegen:

Wo Wie
Windows (lokal) die Texterkennung, die Windows mitbringt (src/texterkennung.ps1)
Server / Docker-Image pdftotext liest die Textebene digital erzeugter PDFs – ganzer Text, exakt. Scans rendert pdftoppm, tesseract (deutsch) erkennt den Text

Bei Scans werden bis zu zehn Seiten gelesen (IMMO_OCR_SEITEN). Es läuft immer nur eine Erkennung zur Zeit, Tesseract auf einem Kern – der Server bleibt bedienbar.

  • Der Dateiname hat Vorrang; gibt er nichts her, gilt der Inhalt: das Objekt, das der Text am häufigsten nennt, die Kategorie nach den meisten Regeltreffern, Briefkopf und Betreff doppelt gewichtet.
  • Nennt ein Dokument mehrere Objekte, wird je weiterem Objekt eine Kopie in derselben Kategorie angeboten – vorausgewählt, wenn der Inhalt sie gleich oft nennt oder der Dateiname mehrere nennt.
  • Für nichtssagende Scannernamen (CCO_000011.pdf, Scan 3.pdf) wird ein Name aus Briefdatum und Betreff vorgeschlagen, z. B. „2026-09-22 Auszahlungsanweisung … .pdf“.
  • Ergebnisse liegen je Dateiinhalt in .cache/texterkennung – ein zweiter Lauf ist sofort fertig, auch nach dem Umbenennen oder Verschieben einer Datei.
  • Ohne Texterkennung wird nur nach Dateinamen zugeordnet. Ob sie bereit ist, steht unter Einstellungen → Dokumentenablage → Texterkennung und Volltext.

Volltext und Volltextsuche

Der Volltext-Lauf liest jedes PDF und Bild der Ablage (außer Fotos), dessen Text noch fehlt:

Wo Wann
Server (Docker) von selbst – 30 Sekunden nach dem Start, nach jedem Hochladen und stündlich; so kommen auch schon vorhandene Dokumente und Dateien aus dem Cloud-Abgleich dazu
lokal auf Knopfdruck: Einstellungen → Dokumentenablage → „Ungelesene jetzt lesen“

IMMO_VOLLTEXT=an bzw. aus überschreibt das. Die Karte in den Einstellungen zeigt, wie viele Dokumente gelesen sind und wie weit ein laufender Lauf ist. Ein Neustart mittendrin schadet nicht.

Die Suche (Suchfeld oben, Seite „Dokumente“) findet danach auch Wörter im Text der Dokumente:

  • Treffer im Dateinamen stehen vorn, Treffer im Text tragen „im Text“ und einen Auszug mit dem hervorgehobenen Suchwort.
  • Bei mehreren Wörtern müssen alle im Dokument vorkommen, nicht unbedingt nebeneinander.
  • Im Text wird ab drei Zeichen gesucht.

Ablage prüfen

Derselbe Abgleich für schon abgelegte Dokumente – die ganze Ablage (Seite „Dokumente“) oder ein Objekt (Dokumente-Reiter). Der Dialog zeigt nur Abweichungen: anderer Ordner laut Regelwerk, Namensvorschlag für Scannernamen, fehlende Kopie in einem weiteren Objekt. Ordnerwechsel sind nicht vorausgewählt, Umbenennungen und Kopien schon. Ohne greifende Regel bleibt eine Datei, wo sie ist; eigene Unterordner gelten als passend. Die Prüfung läuft im Hintergrund, mit Fortschritt am Knopf.

Unterlagen (Vollständigkeitsprüfung)

Menüpunkt Unterlagen: welche Unterlagen zu einem vermieteten Objekt gehören und welche davon in der Ablage liegen – je Objekt mit Pflicht und empfohlen, dazu „falsch abgelegt“ (vorhanden, aber woanders) und „womöglich veraltet“ (jährliche Unterlagen).

Geprüft wird im gesamten Objektordner, in zwei Stufen:

  1. Dateiname – Stichwörter wie „Kaufvertrag“, „Wirtschaftsplan“, „Notarrechnung“. Er hat Vorrang.
  2. Inhalt – verrät der Name nichts („Scan 3.pdf“, „27760-RE.pdf“), zählt die Überschrift des Dokuments laut Texterkennung, genauer die ersten 600 Zeichen (Briefkopf, Überschrift, Betreff). Solche Treffer tragen den Marker „am Inhalt erkannt“.

Die Inhaltsmuster sind bewusst eng und zielen auf die typische Überschrift, zum Beispiel:

Unterlage erkannt an
Notarkostenrechnung „Kostenrechnung gem. § 19 GNotKG“
Protokoll der Eigentümerversammlung „Protokoll der (ordentlichen) Eigentümerversammlung“, „Protokoll 25. EV“
Hausgeldabrechnung „Jahresabrechnung für …“, „Hausgeldabrechnung 2025“
Gebäudeversicherung „Versicherungsschein“, „Wohngebäudeversicherung“
Kaufpreisfälligkeit „Fälligkeitsmitteilung“

Ein Brief, der eine Unterlage nur erwähnt („Anlagen: Wirtschaftsplan …“, „Auszahlungsanweisung – Kaufpreisfälligkeit“), zählt deshalb nicht als diese Unterlage. Die Muster stehen als inhalt in src/checkliste.js.

Inhalte lesen: Geprüft wird nur, was die Texterkennung schon gelesen hat (Zwischenspeicher, den auch „Dokumente einlesen“ und „Ablage prüfen“ füllen). Gibt es noch ungelesene Dateien ohne sprechenden Namen, zeigt die Seite einen Hinweis mit dem Knopf „Inhalte lesen“; er liest sie im Hintergrund, mit Fortschritt am Knopf. Fotos (13_Fotos-und-Plaene) bleiben außen vor. Ohne Texterkennung zählt nur der Dateiname.

Wird eine Unterlage trotzdem nicht erkannt, hilft Umbenennen. Umgekehrt heißt ein Häkchen nur, dass eine passende Datei existiert, nicht dass ihr Inhalt vollständig ist.

Altbestand einsortieren

Für den Papierberg aus dem Kauf: ein Quellordner (IMMO_ALT) wird nach denselben Regeln einsortiert.

npm run vorschlag       # Zuordnungsliste erzeugen, nichts wird geschrieben
npm run einsortieren    # Dateien kopieren (Quelle bleibt unverändert)

Der Vorschlag landet in berichte\einsortier-vorschlag.html (zum Durchsehen) und …csv (für Excel). Inhaltsgleiche Dateien, die im Ziel schon liegen, werden übersprungen – der Lauf lässt sich gefahrlos wiederholen. Eigene Regeln kommen nach src/regeln.js.