Zum Hauptinhalt springen

Paperless Guide: Klassifizierung

·2278 Wörter·11 min
Paperless Automatisierung Guide Klassifizierung Paperless Workflow
Tobias Schulz
Autor
Tobias Schulz
고생 끝에 낙이 온다 · immer, weiter
Inhaltsverzeichnis
Paperless-Guide - Dieser Artikel ist Teil einer Serie.
Teil 3: Dieser Artikel

Ich gehe davon aus, dass du an dieser Stelle bereits eine laufende paperless-ngx-Installation zur Verfügung hast. Falls nicht, ist das gar nicht tragisch: ich möchte die folgenden Themen auf dieser Seite etwas mehr veranschaulichen. Nun drücke ich dem Ganzen auch meinen persönlichen Stempel auf, denn ich spreche von meinen Erfahrungen - von denen ich hoffe, dass sie dich zumindest einmal inspirieren werden.

Was macht paperless-ngx?
#

Auf der ersten Seite sprach ich davon, dass paperless-ngx ein DMS ist. Toll, man kann damit also seine Dokumente organisieren. Das können Leitz-Ordner auch 😆. Ja, die Arbeit eines DMS beginnt eben mit dem Lagern von Dokumenten, genau wie bei einem Leitz-Ordner.

Das Tolle an einem DMS aber ist, dass es Dokumente eben nicht nur lagern kann. Es kann unter anderem:

  • Dokumente klassifizieren (einen Typ festlegen).
  • Dokumente nach Absendern ordnen.
  • Dokumente markieren (z.B. zur späteren Weiterarbeit).
  • Metainformationen bereitstellen.
  • Dokumente automatisiert abholen (z.B. vom Scanner, aus Emails).
  • Dir sogar mitteilen, in welchem Leitz-Ordner ein Dokument physisch abgeheftet wurde.
  • und vieles mehr…

Nun wird es sicher auch Leitz-Ordner-Profis geben, die mit Post-Its und anderen kleinen Helfern ähnliche Features analog umsetzen können und sich daher fragen: wozu brauche ich ein DMS? Ich bin leider nicht so ein Profi und ich arbeite einfach viel lieber digital 😅. So habe ich meinen Papierkram nämlich auch außer Haus jederzeit griffbereit in meiner Hosentasche.

Und so sieht paperless-ngx aus, wenn man es zum ersten Mal öffnet:

Bild: Paperless beim ersten Start

Klassifizierung
#

Das Klassifizieren von Dokumenten deutet eigentlich an, dass man einem Dokument einen Typ zuweist. Ich verstehe darunter allerdings den Gesamtprozess des Anheftens von Metainformationen an ein Dokument. Wenn ich also von Klassifizierung spreche, meine ich nicht nur das Zuweisen eines Dokumenttyps, sondern die Zuweisung aller Metainformationen an ein Dokument: Dokumenttyp, Korrespondent, Speicherpfad, Tags etc.

Bild: Klassifizieren von Dokumenten

Diese Begrifflichkeiten wirst du nun sehr oft lesen, ich möchte nun näher auf sie eingehen. Auch lohnt sich ein Blick in die offizielle Dokumentation.

Was ist ein Dokument?
#

Ich spreche immer von Dokumenten, doch bislang habe ich nicht erläutert, was genau ich damit meine. Du wirst dir vermutlich denken, dass das ja klar ist. Im Beruf habe ich jedoch beim Digitalisieren der Posteingangsstrecke gemerkt, dass das eben nicht immer so eindeutig ist. Es wird also Zeit für ein bisschen Theorie 🙈.

Fallbeispiel
#

Nehmen wir einen praktischen Fall: dich erreicht ein Brief ✉️. Enthalten sind vier Blatt Papier 📃, die wiederum doppelseitig bedruckt sind; die gesamte Sendung besteht also aus acht bedruckten Seiten 📄. Aus dem Inhalt geht hervor, dass es sich bei sechs Seiten um zwei unterschiedliche Rechnungen (A und B) 🖇️ handelt. Die verbliebenen zwei Seiten sind eine Aufstellung von Leistungspositionen, die als Anlage 📊 zu Rechnung B mitgekommen sind.

Analyse
#

Wie du siehst, nimmt das Thema schnell ungeahnte Komplexität an. Was wäre für dich in diesem Beispiel denn nun ein Dokument? Aus meiner Sicht gibt es zu dieser Fragestellung erst einmal mehrere Antwortmöglichkeiten:

  1. Da alle Seiten in einem Brief verpackt waren, handelt es sich um ein Dokument (= Sendung).
  2. Hier liegen zwei Dokumente vor, eine Rechnung A und eine weitere Rechnung B nebst Anlage.
  3. Es handelt sich um drei Dokumente, zwei Rechnungen A + B und eine Anlage.

Alle drei Möglichkeiten sind gangbare Wege, soviel sei dazu gesagt. Jede Person definiert ihr eigenes Ablagesystem und muss es natürlich so strukturieren, dass sie selbst im Bedarfsfall die korrekten Dokumente wiederfinden kann. Ich persönlich halte allerdings Antwort 2 für die effizienteste Vorgehensweise und setze dies auch selbst so um. Doch warum?

Schlussfolgerung
#

Die erst einmal schnellste Methode ist natürlich Antwort 1: ich packe den Brief aus, scanne ihn ein und lasse ihn in paperless-ngx verschwinden. Das funktioniert sehr gut bis zu dem Tag, an dem ich genau diese eine Rechnung B nebst Anlage wiederfinden muss. Durch die Kapselung mehrerer Rechnungen in ein Dokument wird die Suche nämlich unnötig erschwert. Die Zeit, die ich bei der Klassifizierung also eingespart habe, geht bei der längeren Suche locker dreifach wieder verloren.

Anders verhält es sich mit Antwort 3: hier stecke ich sehr viel Zeit in die Klassifizierung von drei Dokumenten und habe dann alles sauber abgelegt. Doch welchen Vorteil habe ich davon, die Anlage von ihrer eigentlichen Rechnung B zu trennen? Wenn der Tag kommt, an dem ich Rechnung B und ihre passende Anlage wiederfinden muss, suche ich nach zwei Dokumenten im System1. Schlimmstenfalls enthält die Rechnung keinen Hinweis darauf, dass ihr eine Anlage beigefügt worden ist, und das hätte die zusätzliche negative Auswirkung, dass wir eine lose Anlage im DMS herumschwirren haben.

Aus diesen Gründen halte ich Antwort 2 für den effizientesten Weg. Die Sendung wird in ihre zwei Rechnungen A + B aufgetrennt und die Anlage zur Rechnung B gepackt. So entstehen in paperless-ngx zwei Dokumente mit ihrer jeweils korrekten Klassifizierung. Darüber hinaus ist die Anlage immer direkt mit ihrer Rechnung zusammen auffindbar. Und falls ich einmal nur nach der Anlage suchen muss, kann ich mir sicher sein, dass mich niemand nach der Rechnungsanlage von Datum XY, sondern immer nach einer Anlage im Kontext einer bestimmten Rechnung fragen wird.

Bild: Dokumenten-Ansicht

Nach all der Theorie wirst du dich bei genauem Hinsehen nun fragen, warum auf dem Bild Rechnungen und Einzelverbindungsnachweise voneinander getrennt sind. Ich halte einen EVN schlichtweg nicht für eine Rechnungsanlage(*), sondern ein für sich allein stehendes Dokument. Aus der Rechnung ergibt sich für mich auch ohne einen EVN eine Aufgabe: nämlich der Akt der Bezahlung eben dieser.

Zu *) Hierüber kann man streiten, ich änderte zu dem Thema auch selbst andauernd meine Meinung. Letztendlich habe ich mich aber festgelegt und behalte es so bei.

Hast du andere Erfahrungen gemacht? Lass es mich wissen 😁.

Korrespondent
#

Unter Korrespondenten versteht man den Absender von Dokumenten, die dich erreichen. In der anderen Richtung sind Korrespondenten die Empfänger von Dokumenten, die du verschickst.

graph TD A(Korrespondent) -->|Absender| B B{{Sendung mit Dokumenten}} -->|Empfänger| A

In paperless-ngx können wir uns Korrespondenten als virtuelle Schubladen vorstellen, in denen alle Dokumente einer Person oder Firma abgelegt sind. Mit nur einem Klick finden wir alle Dokumente, die einem bestimmten Korrespondenten zugeordnet sind.

Dokumenttyp
#

Mit dem Dokumenttyp legst du fest, um was für eine Art Dokument es sich handelt. Hier kann man beliebig granular werden, doch Simplizität schlägt aus meiner Sicht Komplexität. Die Klassifizierung von Dokumenten zu einem Dokumenttyp erfolgt nach Regeln, die wir uns selbst ausdenken und auferlegen müssen. Es sollte uns also auf einen Blick klar sein, was für ein Dokument vor uns liegt und welcher Dokumenttyp das sein könnte.

Ertappst du dich selbst dabei, wie du immer wieder zwischen mehreren Dokumenttypen schwankst, gebe ich dir einen guten Rat: konsolidiere sie. Wenn selbst du dir als Mensch unsicher bist, wie soll dann paperless-ngx den korrekten Dokumenttyp automatisiert für dich erkennen?

Sehen wir uns alle Dokumente an, die wir im Laufe der Zeit erhalten, kristallisieren sich ein paar Dokumenttypen deutlich heraus.

In meinem Fall sind das diese hier:

DokumenttypBeschreibung
BescheidBescheide von Behörden, z.B. Steuerbescheide, Bewilligungen, etc.
DokumentAbstrakter Typ für Dokumente, die keinem Typ eindeutig zuordenbar sind.
KontoauszugDer Name ist Programm, egal ob Girokonto, ETF-Sparplan, Depot.
KorrespondenzAllgemeine Schriftwechsel, auf die eine Antwort folgen soll, z.B. Beschwerde beim Internetanbieter.
KündigungKündigungen und Kündigungsbestätigungen von Verträgen aller Art.
LohnabrechnungHiermit werden alle monatlichen Lohnzettel klassifiziert.
LSt-BescheinigungLohnsteuerbescheinigungen kommen in der Regel 1x im Jahr, sind aber wichtig genug für einen eigenen Typ.
NK-AbrechnungLange habe ich Nebenkostenabrechnungen einfach als Rechnung klassifiziert, zur schnelleren Auffindbarkeit habe ich aber dann einen eigenen Dokumenttyp erstellt.
RechnungEnthält alle Rechnungen, z.B. vom Internetanbieter, Mobilfunk, Käufe mit Garantie, etc.
SpendennachweisIch spende jedes Jahr, die Quittungen erhalten diesen Dokumenttyp.
SpesenabrechnungBeruflich bin ich viel unterwegs und dieser Dokumenttyp enthält die Abrechnungen gegenüber meiner Arbeitgeberin, wie auch ihre Antworten darauf.
SV-MitteilungBestimmt für Sozialversicherungsmitteilungen, An- und Abmeldungen.
VertragKomplexer Dokumenttyp, enthält Verträge aller Art. Auch Versicherungspolicen und Vertragsänderungsmitteilungen.
ZeitnachweisLohnabrechnungen und Zeitnachweise klassifiziere ich getrennt voneinander. Enthält auch Zeitnachweise für Freelancer-Tätigkeiten.
ZertifikatNachweise über Schulungen, Weiterbildungen und Seminare.
ZeugnisDokumenttyp für Schul-, Ausbildungs- und Arbeitszeugnisse.

Tagging
#

Die einen lieben sie, die anderen hassen sie, und die übrigen 80% nutzen sie nicht: Tags. Auch ich selbst habe mich lange vor dem Einsatz von Tags gesträubt, weil es Dingen eine Komplexität verleihen kann, die schnell unüberschaubar ist. Denn zu jedem Tag gibt es eine Story: wann nutze ich ihn? Wann muss er wieder entfernt werden? Was sagt er aus? Hier sind uns überhaupt keine Grenzen gesetzt.

Tagging ist prima: bei paperless-ngx kann man einem Dokument damit einen Kontext verleihen, oder sogar mehrere. Ähnlich wie bei Korrespondenten kann man Tags wie virtuelle Schubladen verstehen, in denen Dokumente liegen. Sie eignen sich erstklassig, um Dokumenten eine Thematik zuzuweisen, die über viele Korrespondenten und Dokumenttypen verteilt ist (z.B. Kfz) - oder einfach nur als Status Indikator.

Bild: Tagging

Damit es jedoch nicht zu komplex wird, beschränke ich mich auf einige wenige, dafür eindeutige Tags.

TagBeschreibung
AusgangDas Dokument ist ein Ausgangsdokument, wurde also von mir initiiert.
KfzVerträgen, Rechnungen, etc. verleihe ich mit diesem Tag einen Kfz-Kontext. So kann ich schnell sämtliche Unterlagen zu meinen Autos wiederfinden.
NeuHierbei handelt es sich um meinen Posteingangs-Tag. Alle Dokumente mit diesem Tag haben den Status neu.
ProblemDieser Tag wird von meiner Middleware verwendet, wenn ich an einem Dokument noch etwas nacharbeiten muss. Darauf gehe ich später detailliert ein.
SteuerDokumente mit diesem Tag werden von mir für die nächste Steuererklärung benötigt.
TodoDas sind Dokumente, mit denen ich zu einem späteren Zeitpunkt noch etwas vorhabe, oder bei denen ich noch auf eine Antwort warte.
WichtigExtrem wichtige Dokumente, die ich schnell wiederfinden muss, wenn ich sie brauche.

Speicherpfade
#

paperless-ngx bietet noch eine weitere Möglichkeit, Schubladen zu erschaffen. Nicht dass wir davon nicht schon bereits einige hätten 😓. In diesem Fall handelt es sich um echte Ordner im Dateisystem, in denen die echten PDF-Dateien dann abgelegt werden, die du im DMS abspeicherst. Das ist natürlich ein reines Kosmetik-Feature und bietet Vorteile für Backups, oder wenn man all seine Dokumente bspw. zusätzlich bei einem Cloud-Anbieter speichern möchte.

Bild: Speicherpfade

Ich nutze zwar die physischen Dateiordner nicht, Speicherpfade stellen für mich allerdings ein zusätzliches Klassifizierungsmerkmal dar. So existiert nicht nur für jedes meiner Autos ein echter Dateiordner mit allen Dokumenten drin, meine Middleware weiß hierdurch sogar, um welches Auto es sich handelt. So spare ich mir für jedes Auto einen eigenen Tag anzulegen, denn viele Speicherpfade sind aus meiner Sicht weniger störend, als viele Tags.

Middleware
#

Ich habe nun mehrmals eine Middleware erwähnt. Hierbei handelt es sich um eine selbst entwickelte Python App, die wiederkehrende Monitoring-Aufgaben wahrnimmt. Die App baut auf diesem Python Modul auf, welches ich auch entwickelt habe:

tb1337/paperless-api

Little api client for paperless(-ngx).

Python
26
5

Wenn du ein bisschen mehr darüber erfahren möchtest, solltest du hier weiterlesen 😄.

Erkennungs-Algorithmen
#

Die Klassifizierung ist der Prozess, bei dem man Dokumenten jeweils Korrespondenten, Dokumenttyp, Tags und ggf. einen Speicherpfad zuweist. Das muss man glücklicherweise nicht jedes Mal komplett per Hand machen, paperless-ngx wird mit einigen Erkennungs-Algorithmen ausgeliefert. Darüber kannst du hier mehr lesen. Falls die automatische Erkennung nicht zum gewünschten Ergebnis führt, kann man natürlich selbst den korrekten Wert einstellen. Im Falle der Auto-Erkennung lernt paperless-ngx dann von deiner Entscheidung und macht es mit ein bisschen Glück direkt beim nächsten Mal richtig.

Bild: Erkennungs-Algorithmen

Keine
#

Die Verwendung von Erkennungs-Algorithmen wird deaktiviert.

Irgendein Wort, Alle
#

Der Inhalt eines Dokuments wird nach den Wörtern im Zuweisungsmuster durchsucht. Legst du das Zuweisungsmuster auf Rechnung fest, werden alle Dokumente entsprechend klassifiziert, wenn sie das Wort Rechnung enthalten.

Beim Zuweisungsmuster Rechnung Baumarkt Köln trifft der Erkennungs-Algorithmus Irgendein Wort, sobald eines der drei Wörter im Dokument vorkommt. Alle trifft nur dann, wenn alle Wörter erkannt werden konnten. Du hast richtig erkannt: mehrere Wörter werden einfach durch ein Leerzeichen voneinander getrennt.

Es ist aber auch möglich, nach Wörtern mit enthaltenen Leerzeichen zu suchen. Das Prinzip ist fast dasselbe wie mit einzelnen Wörtern: Rechnung "Baumarkt Köln". Irgendein Wort trifft nur, wenn die Wörter Rechnung oder (Achtung!) Baumarkt Köln im Dokument vorkommen. Du kennst das von gängigen Suchmaschinen, denn dort ist es genauso. Alle trifft wieder nur, wenn beide Wörter vorkommen.

Die Reihenfolge der Wörter im Dokument spielt übrigens keine Rolle, wichtig ist nur, dass sie vorkommen.

Exakt
#

Dieser Erkennungs-Algorithmus verhält sich ähnlich wie Irgendein Wort und Alle, nur dass hier nicht im Kontext von Wörtern, sondern Zeichenketten gesucht wird.

Das Zuweisungsmuster Rechnung Baumarkt Köln setzt also dann voraus, dass im Dokument auch tatsächlich Rechnung Baumarkt Köln am Stück ausgeschrieben wurde, damit Exakt treffen kann.

Regulärer Ausdruck (Regex)
#

Liebhaber von regulären Ausdrücken werden auf ihre Kosten kommen, auch ich bin ein großer Freund davon. Aufgrund der Komplexität von Regex empfehle ich die Verwendung allerdings nur, wenn du wirklich weißt, was du da machst. Es gibt leider extrem beschränkte Debugging Funktionen dafür in Paperless-ngx, neben der Logdatei gibt es nämlich keine. Im schlimmsten Fall bekommst du niemals mit, dass dein Zuweisungsmuster also gar nicht funktioniert.

Möchtest du Regex besser kennenlernen, empfiehlt sich die offizielle Python Dokumentation.

Ungenau (Fuzzy)
#

Ich bin mir nicht sicher, was ich hierüber schreiben soll. Fuzzy Match war bislang niemals die Lösung einer meiner Use-Cases, aber vielleicht underrate ich den Erkennungs-Algorithmus ja auch einfach bodenlos. Ich werde mir vornehmen, mehr damit zu arbeiten und zu sehen, ob und wie er lebensverändernd sein könnte.

Auto
#

Paperless-ngx erlernt die Zuweisung mit der Zeit automatisch. Ich nutze die Auto-Erkennung, wann immer ich bei einem Klassifizierungsmerkmal genügend Dokumente erwarte; ein Model muss schließlich mit genug Daten trainiert werden.

Die automatische Zuweisung funktionierte bereits mit der Vorgänger-Software recht zuverlässig und ich bin sehr zufrieden damit.


Feature-Foto von blocks auf Unsplash


  1. Seit paperless-ngx v2.2.0 gibt es logische Dokumentenverknüpfungen, womit sich Dokumente verbinden lassen. Dies hat Stand 02.01.2024 jedoch weder eine Auswirkung auf die Qualität der Suchergebnisse, noch eine Visualisierung im UI. ↩︎

Paperless-Guide - Dieser Artikel ist Teil einer Serie.
Teil 3: Dieser Artikel

Verwandte Artikel

Paperless Guide: Customization
·815 Wörter·4 min
Paperless Automatisierung Guide Paperless Python Workflow
Das papierlose Büro mit Scripting monitoren und verbessern.
Paperless Guide: Workflow
·1852 Wörter·9 min
Paperless Barcode Guide Paperless QR Code Workflow
Briefe, Faxe, Emails und digitale Dokumente im Alltag meistern.
Paperless Guide: Papierlos mit iPhone
·951 Wörter·5 min
Paperless Apple Guide Paperless Shortcuts IPhone
iPhones bereichern unser Leben, auch im privaten Büro sind sie wertvoll.