Paperless-ngx - Speicherpfade mit Jinja Templates verfeinern

  • Hi!

    Laut meinem imaginären Zettel wollte ich für meine DXP2800 mal nach einer Alternative für die Third-Party-App „synOCR” Ausschau halten, welche zurzeit auf meiner DS224+ läuft. Diese unterstützt mich aktuell bei der Umsetzung meines papierlosen Büros. Natürlich bin ich wieder einmal auf Paperless-ngx gestoßen, obwohl ich damals bereits festgestellt habe, dass das System meinen Ansprüchen bzw. Anforderungen nicht genügt. Egal. Anderes Thema.

    Jedenfalls ist es wohl so, dass sich ab der Version 2.13 von Paperless-ngx die Speicherpfade mit sogenannten Jinja-Templates bzw. Filtern verfeinern lassen. Auf den Seiten von Paperless-ngx erhält man auch ein paar Beispiele dazu. Ich bin eher zufällig darauf gestoßen, als ich im Internet nach Formatierungsbeispielen für Speicherpfade gesucht habe.

    Interessant wurde es, als ich diese Seite entdeckte, da im Verlauf des Artikels einige wirklich sinnvolle Dinge auftauchten, die mit einem Jinja-Filter erledigt werden können.

    Ein Beispiel: Leerzeichen im Dateinamen durch einen Unterstrich ersetzen.

    Code
    ({{ correspondent|replace(" ", "_") }})

    Ein weiteres Beispiel: Umlaute im Titel ersetzen.

    Code
    {{ title|replace("ß","ss")|replace("ä","ae")|replace("ö","oe")|replace("ü","ue")|replace("Ä","Ae")|replace("Ö","Oe")|replace("Ü","Ue")}}

    Ich finde diese Möglichkeit total klasse, konnte aber noch keine Erfahrungen damit sammeln. Daher werfe ich einfach mal die Frage in den Raum, wer sich mit diesem Thema bereits auseinandergesetzt hat und vielleicht sogar ein paar weitere interessante Filter beisteuern kann bzw. möchte. Ich werde mich in den kommenden Tagen sicherlich weiter mit dieser Thematik befassen. Falls ich etwas Interessantes entdecke, teile ich das natürlich mit euch.

    Tommes

    FRITZ!Box 5590 Fiber | UniFi Express 7 | 2,5-GBit-LAN & Wi-Fi 7
    DXP2800 - 1TB Crucial P310 NVMe RAID1 - 2TB Crucial MX500 SSD RAID1 - 16 GB Crucial CT16G56C46S5 (5600Mhz)
    DS224+ 3TB WD Red HDD RAID1 18GB Ram | DS124 1TB Samsung 870 EVO SSD
    Linux Mint | Ubuntu-Server | Windows | iOS | iPadOS
    UGREEN.FORUM/Filebase | Synology-forum/Add-ons | GitHub.com/toafez

    Edited once, last by Tommes: Habe fälschlicherweise Ninja anstatt Jinja geschrieben. (July 12, 2025 at 12:09 PM).

  • Ja, die Jinja-Templates sind vielen Nutzern von Home Assistant bestens bekannt, da es dort fürs Templating benutzt wird. Hatte das zuvor auch noch nirgends gesehen.

    -------
    DXP480T Plus, 2x32 GB Crucial DDR5 4800MHz, 4x4 TB Samsung 990 PRO NVMe,CyberPower USV OR650ERM1U mit RMCARD400

  • Upsi… da habe ich doch glatt Ninja und nicht Jinja geschrieben.

    Hm. Falls du dich damit ein wenig auskennen solltest. Ich versuche mit Jinja eine Abfrage zu schreiben, die im Dateinamen nach dem Datum des Dokumentes sucht. Wird kein Datum gefunden, dann soll das Datum am Anfang des Dateinamens hinzugefügt werden, ansonsten nicht.

    In groben Zügen…

    Code
    {% if "%Y-%m-%d_" not in title %}
       {{ created_year }}-{{ created_month }}-{{ created_day }}_
    {% endif %}
    {{ title }}

    … aber irgendwas mache ich wohl noch falsch, da es nicht funktioniert.

    FRITZ!Box 5590 Fiber | UniFi Express 7 | 2,5-GBit-LAN & Wi-Fi 7
    DXP2800 - 1TB Crucial P310 NVMe RAID1 - 2TB Crucial MX500 SSD RAID1 - 16 GB Crucial CT16G56C46S5 (5600Mhz)
    DS224+ 3TB WD Red HDD RAID1 18GB Ram | DS124 1TB Samsung 870 EVO SSD
    Linux Mint | Ubuntu-Server | Windows | iOS | iPadOS
    UGREEN.FORUM/Filebase | Synology-forum/Add-ons | GitHub.com/toafez

    Edited once, last by Tommes (July 12, 2025 at 12:54 PM).

  • „Auskennen“ würde ich nicht gerade sagen, aber ich versteh deinen Code und was du machen willst. Das Problem ist der String-Vergleich. Laut KI unterstützt Jinja nur einfache Vergleiche, was du hier aber machen möchtest, ist ein Pattern anwenden, richtig? Müsstest du mal schauen, ob reguläre Ausdrücke mit Jinja möglich sind.

    Ansonsten wäre vielleicht dieser Ansatz noch denkbar:

    Code
    {% set prefix = created_year ~ '-' ~ created_month ~ '-' ~ created_day ~ '_' %}
    
    {% if prefix not in title %}
      {{ prefix }}
    {% endif %}
    {{ title }}

    -------
    DXP480T Plus, 2x32 GB Crucial DDR5 4800MHz, 4x4 TB Samsung 990 PRO NVMe,CyberPower USV OR650ERM1U mit RMCARD400

  • Hammer! Dein "Ansatz" funktioniert tadellos. Vielen Dank :love:

    Ich habe dazu zwei PDF-Dokumente in den Consume-Ordner geworfen. Das eine PDF hatte ein Datum am Beginn des Dateinamens, das andere nicht.

    • 2025-07-12_Dateiname des Dokumentes 1.pdf
    • Dateiname_des_Dokumentes_2.pdf

    Nachdem die beiden Dokumente von Paperless-ngx verwurstet wurden,, musste ich noch den Speicherpfad anpassen. In dem Speicherpfad befindet sich u.a. dein o.a. "Ansatz". Nach dem erneuten Speichern der Dokumente wurden mir folgenden Dateinamen gebildet.

    • 2025-07-12_Dateiname_des_Dokumentes_1.pdf
    • 2025-07-12_Dateiname_des_Dokumentes_2.pdf

    Wie man sieht, wurden bei der Verarbeitung gleichzeitig Leerzeichen durch Unterstriche _ ersetzt. Sonderzeichen würden auf diese Weise ebenfalls ausgetauscht werden.

    Mein Jinja-Filter sieht aktuell so aus...

    ... somit werden in diesem Fall alle Dokumente beispielhaft nach Versicherungen/Versicherungsanstalt/2025/Haftpflicht/2025-07-12_Dateiname_des_Dokumentes.pdf

    FRITZ!Box 5590 Fiber | UniFi Express 7 | 2,5-GBit-LAN & Wi-Fi 7
    DXP2800 - 1TB Crucial P310 NVMe RAID1 - 2TB Crucial MX500 SSD RAID1 - 16 GB Crucial CT16G56C46S5 (5600Mhz)
    DS224+ 3TB WD Red HDD RAID1 18GB Ram | DS124 1TB Samsung 870 EVO SSD
    Linux Mint | Ubuntu-Server | Windows | iOS | iPadOS
    UGREEN.FORUM/Filebase | Synology-forum/Add-ons | GitHub.com/toafez

  • Tommes es freut mich, dass du damit zum Ziel gekommen bist. :) Aber bevor hier der Verdacht aufkommt, ich würde mein Licht unter den Scheffel stellen: das war wirklich ein Glücksfall, weil ich bei mir ein ähnliches Template in Home Assistant verwende, da war das schnell adaptiert und den Rest hat die KI gemacht. Übrigens habe ich die KI mal gefragt, ob das noch optimiert werden kann, um die wiederholten Zeichenersetzungen weg zu bekommen. Schau mal, ob das funktioniert:

    -------
    DXP480T Plus, 2x32 GB Crucial DDR5 4800MHz, 4x4 TB Samsung 990 PRO NVMe,CyberPower USV OR650ERM1U mit RMCARD400

  • Vielen Dank, das du dir Gedanken um die Optimierung gemacht hast. Ich hab mich mit den Möglichkeiten, die einem so eine KI bietet, noch nicht großartig auseinandergesetzt. In solchen Momenten merke ich aber, das ich damit langsam mal anfangen sollte.

    Ich hab den Jinia-Filter zwar noch nicht getestet, da ich grad an einem anderen Problem festhänge, aber ich werde das zeitnah ausprobieren und dir nochmal ein kurzes Feedback geben.

    FRITZ!Box 5590 Fiber | UniFi Express 7 | 2,5-GBit-LAN & Wi-Fi 7
    DXP2800 - 1TB Crucial P310 NVMe RAID1 - 2TB Crucial MX500 SSD RAID1 - 16 GB Crucial CT16G56C46S5 (5600Mhz)
    DS224+ 3TB WD Red HDD RAID1 18GB Ram | DS124 1TB Samsung 870 EVO SSD
    Linux Mint | Ubuntu-Server | Windows | iOS | iPadOS
    UGREEN.FORUM/Filebase | Synology-forum/Add-ons | GitHub.com/toafez

  • Ich habe deinen optimierten Filter getestet und er funktioniert einwandfrei. Ich musste lediglich den Wert PAPERLESS_FILENAME_FORMAT im Docker Compose File ein wenig abändern, da dort noch die Platzhalter {created_year}-{created_month}-{created_day}_ enthalten waren. Dadurch wurde bei einer konsumierten Datei, die bereits über ein Datum verfügte, ein weiteres Datum vorangestellt.

    So weit. So gut. Der Aufbau und die Struktur meiner Speicherpfade entsprechen weitgehend meinen Vorstellungen. Im nächsten Schritt werde ich nach und nach aussagekräftige Korrespondenten und Dokumenttypen erstellen sowie ein paar sinnvolle Tags hinzufügen.

    Bisher ist es immer so gewesen, dass Paperless-ngx im weiteren Verlauf irgendwann falsch abgebogen ist und sich immer weiter von meinem inneren Monk entfernt hat, bis die Situation komplett eskalierte. Mal schauen, ob es dieses Mal wieder so kommt. Es bleibt also spannend ;)

    FRITZ!Box 5590 Fiber | UniFi Express 7 | 2,5-GBit-LAN & Wi-Fi 7
    DXP2800 - 1TB Crucial P310 NVMe RAID1 - 2TB Crucial MX500 SSD RAID1 - 16 GB Crucial CT16G56C46S5 (5600Mhz)
    DS224+ 3TB WD Red HDD RAID1 18GB Ram | DS124 1TB Samsung 870 EVO SSD
    Linux Mint | Ubuntu-Server | Windows | iOS | iPadOS
    UGREEN.FORUM/Filebase | Synology-forum/Add-ons | GitHub.com/toafez

  • Das alles hier ist schon ein wenig „böhmische Dörfer“. Aber, siehe Avatar, geht nicht, gibts nicht.

    Ich will mich ja, vorm Urlaub sehr kurz, noch etwas mit Paperless beschäftigen. Installiert usw. ist es ja. Ich hatte, besser habe, angefangen Tags zu erstellen. Ich würde aus der 224+ (synOCR) einen überschaubaren Ordner (da liegen vielleicht 20 Dokumente als PDF drin) als „Versuchs-Eichhörnchen“ nehmen und da entsprechend die Tags erstellen.

    Speicherpfad(e) muss ich ja auch erstmal gucken.

  • Ich habe bisher nur einen Tag und das ist der Posteingangs-Tag. Ein Korrespondent setzt sich bei mir aus dem Namen des Anbieters und der Art des Vorganges zusammen, wie z.B.

    • Allianz Berufsunfähigkeitsversicherung

    Aufbauend darauf folgt der Dokumenttyp der sich aus Anbietername, eine abgekürzte Art des Vorganges (soweit möglich) und der Vertragsnummer zusammensetzt, z.B. so…

    • Allianz BU 12345678

    Dahinter wird dann der Titel des Dokumentes angefügt und das war’s. In Kombination mit einem entsprechenden Jinja Filter als Speicherpfad sieht das ganze dann so aus…

    • Versicherungen
      • Allianz_Berufsunfaehigkeitsversicherung
        • 2025-07-23_Allianz_BU_12345678_Beitragsrechnung.pdf

    Das System funktioniert bei bei mir mit einer Vielzahl an Dokumenten, jedoch nicht mit allen. Daher spiele ich immer noch mit den Speicherpfaden rum um die perfekte Lösung für mich zu erhalten. Mein Ziel ist, eine Ordnerstruktur mit aussagekräftigen Dateinamen aufzubauen, wo ich auch dann noch Dinge wieder finde, sollte Paperless-ngx mal den Dienst quittieren.

    FRITZ!Box 5590 Fiber | UniFi Express 7 | 2,5-GBit-LAN & Wi-Fi 7
    DXP2800 - 1TB Crucial P310 NVMe RAID1 - 2TB Crucial MX500 SSD RAID1 - 16 GB Crucial CT16G56C46S5 (5600Mhz)
    DS224+ 3TB WD Red HDD RAID1 18GB Ram | DS124 1TB Samsung 870 EVO SSD
    Linux Mint | Ubuntu-Server | Windows | iOS | iPadOS
    UGREEN.FORUM/Filebase | Synology-forum/Add-ons | GitHub.com/toafez

  • Gestern hab ich noch festgestellt, das mein Brother ADW1700 mit paperless „kann“. Schon mal gut, aber wird erst später was. Stecke grad in den Vorbereitungen für etwas „außer Haus“.

    Eine halbwegs brauchbare und übersichtliche Ordnerstruktur ist schon wünschenswert. Da vieles nachher übern 1700er hereinkommt und dann erkannt und einsortiert wird, ist schonmal die halbe Miete. Dann man dann auch Dokus aus Mails oder andere Dokus mal da händisch hereinschiebt, sollte nicht problematisch werden.

  • Na ja, hab es erstmal geschafft tags anzulegen, dann einen Arbeitsablauf um zu sehen was passiert, wenn ich in der DXP ein PDF mit den Parametern in den Inbox schiebe. Kommt in der GUI von paperless an und hat die tags die ich da gesetzt habe drin/dran. Schonmal gut. Hab das jetzt ml mit vielen PDFs gemacht, das klappt gut.

  • Aktuell habe ich mich mit den Korrespondenten beschäftigt. Da saß der DAU wieder 50 cm davor und nach endlosen Minuten hat es :huh: gemacht. Auch das schon mal geschafft. Da kann man später gut Filtern. Geht bestimmt noch viel galanter, besser aber ich bin erstmal zufrieden. Der Brother durfte sich ordentlich beweisen, hat er gemacht. Viele Dokus mal von der 224+ herüber kopiert, auch um zu testen. Da wird langsam und sicher ein zweites Standbein hochgezogen ;)

  • Da ich gestern mein Paperless komplett zerschossen hatte, musste ich heute nochmal von vorn anfangen. Da ich mir von den Korrespondenten, Dokumenttypen und Speicherpfaden aber Screenshots bzw. Sicherungen angelegt hatte, ging das recht schnell von der Hand. Aktuell reden wir aber nur von ca. 60 Dokumenten. Die restlichen - ca. 3000 bis 4000 kommen dann nach und nach dazu… oder auch nicht.

    Aktuell habe ich das Gefühl, endlich den roten Faden für mich gefunden zu haben, so das Paperless und ich am Ende doch noch Freunde werden könnten. Aber der Teufel steckt bekanntlich im Detail und daran werd ich sicherlich noch zu knabbern haben. Aber das alles eilt ja nicht. Die Dokumente sind ja schon alle soweit digitalisiert, nur noch nicht von Paperless konsumiert.

    Heute habe ich neben Paperless noch weitere Schritte unternommen, um meine DXP2800 in Zukunft produktiv zu nutzen. Es geht in kleinen Schritten voran.

    FRITZ!Box 5590 Fiber | UniFi Express 7 | 2,5-GBit-LAN & Wi-Fi 7
    DXP2800 - 1TB Crucial P310 NVMe RAID1 - 2TB Crucial MX500 SSD RAID1 - 16 GB Crucial CT16G56C46S5 (5600Mhz)
    DS224+ 3TB WD Red HDD RAID1 18GB Ram | DS124 1TB Samsung 870 EVO SSD
    Linux Mint | Ubuntu-Server | Windows | iOS | iPadOS
    UGREEN.FORUM/Filebase | Synology-forum/Add-ons | GitHub.com/toafez

  • Heute habe ich neben Paperless noch weitere Schritte unternommen, um meine DXP2800 in Zukunft produktiv zu nutzen. Es geht in kleinen Schritten voran.

    So ähnlich geht es bei mir auch. Die DXP 2800 macht das was Sie kann recht gut ... es fehlen aber für mich für die produktive Nutzung noch ein paar Dinge. So zum Beispiel die Volltextsuche, Kalender, Kontakte ... so ne Art 'Synology Drive/Office-Lösung).

    Aktuelle Idee ist momentan eine Art Hybride-Lösung in Kombination mit einer sicheren, ethischen Cloud (kDrive/kSuite). Damit wären Kalender, Kontakte, Office, Volltextsuche mit einem Schlag abgedeckt.

    Die Synchronisation könnte mit Duplicati gemacht werden - als Ersatz für 'Synology CloudSync'. Sukzessive könnten dann basierend auf der weiterem Entwicklung von UGOS einzelne Dienste wieder zurück migriert werden.

    Aber eben ... es ist noch eine Idee ... In dem Sinn ... "Mühsam ernährt sich das Eichhörnchen" ...

  • Die Synchronisation könnte mit Duplicati gemacht werden

    Ich muss mich hier gleich selbst korrigieren. Mit Duplicati ist keine bidirektionale Synchronisation auf Basis des WebDav-Protokolls möglich. Diesen Gedanken kann ich also schon mal verwerfen ....

  • Im Laufe der Jahre haben sich meine Anforderungen an ein NAS stark gewandelt, sodass ich heute nur noch minimale Voraussetzungen an ein solches System stelle, abgesehen von der Hardwareausstattung. Eine sinnvolle, moderne und leistungsstarke Hardwareausstattung habe ich bei Synology in den letzten Jahren immer mehr vermisst. Das fing bei fehlenden USB-C Ports und 2,5 GBit LAN an, ging weiter über alte und schwache CPUs bis hin zur Aufrüstung mit NVMe, grade im 2 Bay Sektor.

    Eigentlich wollte ich mir die DS725+ zulegen, aber nach dem, was Synology bei den Plus-Geräten und der Festplattengängelung veranstaltet hat, wurde mir das langsam zu blöd. Und wenn ich überlege, was mich die DS725+ gekostet hätte und was mich am Ende die DXP2800 gekostet hat inkl. 2x NVMe, 2x SSD und RAM-Erweiterung, viel mir die Entscheidung nicht mehr ganz so schwer.

    Mir geht es in erster Linie um einen zentralen Ablageort für meine Dateien, die ich automatisiert und regelmäßig auf andere Systeme sichern kann. Die ganzen beigefügten Apps brauch’ ich, bis auf ein paar ausgesuchte und systemnahe, nicht wirklich, auch wenn es immer schön zu wissen ist, das vieles mit an Bord ist. Den Rest decke ich mit Docker und VMs ab, die dank der guten Hardwareausstattung auch verdammt gut laufen.

    Aber wir kommen vom eigentlichen Thema ab. Daher nur kurz.
    Ich brauche eigentlich nur SMB und WebDAV, um von überall (extern mittels VPN) auf Daten meines NAS zuzugreifen oder um dort Daten zentral abzulegen oder zu sichern. Joplin und KeePass laufen z.B. über WebDAV, ebenso wie ich die Fotomediathek meines iPhones mit einer geeigneten App per WebDAV auf das NAS sicher. Das alles habe ich gestern bereits eingerichtet und läuft so weit.

    Kalender und Kontakte laufen bei mir über die iCloud. Thunderbird kann aber z.B. auf diese Daten zugreifen, so das ich alles auch immer irgendwie lokal gesichert habe.

    Zu guter Letzt benötige ich noch SSH und rsync um meine Daten entweder per Sync & Backup oder mit meinem eigenen rsync-Skript jarss weg zusichern. Auch das habe ich gestern bereits final eingerichtet inkl. cron Eintrag und landet zunächst alles auf meiner DS224+.

    Und um abschließend die Kurve zu kriegen, benötige ich noch ein Tool, das mich bei der Verwirklichung meines papierlosen Büros unterstützt. Hier muss ich offen zugeben, das synOCR schon verdammt nah an der Perfektion für mich war, aber ich konnte den Developer von synOCR noch nicht davon überzeugen, sein Tool plattformübergreifend in einen Docker Container zu packen, um es so für z.B. UGOS Pro nutzbar zu machen. Daher muss ich mich wohl oder übel mit Paperless-ngx anfreunden, wobei das aktuell eher noch eine Hassliebe ist. Aber man muss auch Abstiche machen und sich mit Dingen arrangieren. Bei mir ist demnach auch noch nicht alles perfekt, aber...

    Mühsam ernährt sich das Eichhörnchen

    FRITZ!Box 5590 Fiber | UniFi Express 7 | 2,5-GBit-LAN & Wi-Fi 7
    DXP2800 - 1TB Crucial P310 NVMe RAID1 - 2TB Crucial MX500 SSD RAID1 - 16 GB Crucial CT16G56C46S5 (5600Mhz)
    DS224+ 3TB WD Red HDD RAID1 18GB Ram | DS124 1TB Samsung 870 EVO SSD
    Linux Mint | Ubuntu-Server | Windows | iOS | iPadOS
    UGREEN.FORUM/Filebase | Synology-forum/Add-ons | GitHub.com/toafez

  • Kalender und Kontakte laufen bei mir über die iCloud.

    Diesen Gedanken hatte ich auch schon ... der ursprünglich Plan mit dem NAS war ja schon auch der, diesen Teil von der Cloud zu lösen.

    Und um abschließend die Kurve zu kriegen, benötige ich noch ein Tool, das mich bei der Verwirklichung meines papierlosen Büros unterstützt.

    Das ist mit Abstand meine oberste Priorität, die ich mit einem NAS umsetzen möchte. Dabei spielt die Volltextsuche eine zentrale Rolle. Ohne geht es einfach nicht. Backup, Sync, externe Erreichbarkeit gehören dazu und müssen irgendwie gelöst werden.

    Daher muss ich mich wohl oder übel mit Paperless-ngx anfreunden, wobei das aktuell eher noch eine Hassliebe ist. Aber man muss auch Abstiche machen und sich mit Dingen arrangieren.

    Da bin ich ganz bei Dir. Ich habe mich lange dagegen ausgesprochen. x-mal installiert, ausprobiert, wieder verworfen um dann ein paar Wochen später wieder zu installieren. Seit wenigen Monaten haben ich mich mehr oder weniger damit angefreundet. Eine Liebe ist es noch nicht geworden (ist ja auch nur eine App) aber die gegenseitige Akzeptanz ist gestiegen und mittlerweile klappt alles recht gut.

    Bei mir ist demnach auch noch nicht alles perfekt, aber...

    genau so ... und alles weitere sagt das "Eichhörnchen"

  • igomyway hat mich im Thread von *kw*( Jetzt das offizielle "Guuude"! ) im Beitrag #62 darum gebeten, ihm meine Vorgehensweise innerhalb Paperless-ngx etwas näher zu erläutern. Dies möchte ich an dieser Stelle nun tun, da es vom Thema her auch sehr gut hier reinpasst.

    Der Aufbau und das Grundprinzip meines Vorgehens habe ich bereits im Beitrag #10 beschrieben. Einzig auf den Speicherpfad selbst bin ich diesem Beitrag nicht weiter eingegangen, weil dies bereits im Beitrag #6 erwähnt wurde. Ich habe diesen seit dem auch nur leicht modifiziert. So sieht mein Speicherpfad für "Versicherungen" aktuell aus...

    Was passiert hier genau?

    • Zunächst werden alle gefundenen Umlaute und Sonderzeichen über das Macro sanitize(text) entsprechend der nachfolgenden replace-Vorgaben umbenannt. Aus Ä wird Ae, aus ä wird ae, aus einem . wird ein _ wobei hier der Punkt vor der Dateiendung wie z.B. .pdf nicht inbegriffen ist.
    • Dann folgt der Aufbau der Ordnerstruktur, wobei ich hier die Ordner Allgemein/Versicherungen/ fest vorgebe.
    • Als Nächstes folgt der Korrespondent, der einen weiteren Unterordner in der Ordnerstruktur bildet. Beim Korrespondenten greift gleich das sanitize Macro, um alle Umlaute und Sonderzeichen umzubenennen. Daher steht dort sanitize(correspondent). Dem oben verlinkten Beispiel folgend würde das bis zu diesem Punkt so aussehen: Allgemein/Versicherungen/Allianz_Berufsunfähigkeitsversicherung/
    • Dann definiere ich ein Präfix, der im Titel des Dokuments nach einem bestimmten Datumsformat suchen soll. Meine Dokumente fangen i.d.R. mit einem Datum, beginnend mit dem Jahr, gefolgt vom Monat und Tag (YYYY-MM-DD_) an.
      • Sollte der Präfix YYYY-MM-DD_ im Titel des Dokumentes nicht gefunden werden, dann wird dieser gleich an den Anfang des Dokumentes gesetzt. Diesem Beispiel folgend, würde das bis zu diesem Punkt so aussehen: Allgemein/Versicherungen/Allianz_Berufsunfähigkeitsversicherung/2025-08-13_
      • Wird der Präfix YYYY-MM-DD jedoch im Titel des Dokumentes gefunden, wird dieses Datum beibehalten, selbst dann, wenn das Datum nicht am Anfang des Titels auftaucht.
    • Jetzt folgt der Dokument-Typ. Wenn du in Paperless-ngx dem Dokument einen Dokument-Typ mitgibst, dann wird dieser als Nächstes an den Dateinamen des Dokumentes gehangen. Auch hier greift das sanitize Macro. Bleiben wir bei meinem Beispiel, wo ich der Allianz Berufsunfähigkeitsversicherung den Dokument-Typ Allianz BU 12345678 mitgegeben habe. Daraus folgt: Allgemein/Versicherungen/Allianz_Berufsunfähigkeitsversicherung/2025-08-13_Allianz_BU_12345678_
    • Wurde in Paperless-ngx dem Dokument kein Dokument-Typ mitgegeben, erfolgt auch kein weiterer Eintrag. Es würde also bei Allgemein/Versicherungen/Allianz_Berufsunfähigkeitsversicherung/2025-08-13_ bleiben.
    • Zu guter Letzt flogt am Ende der eigentliche Titel des Dokumentes, wobei hier ebenfalls das sanitize Macro greift. Da hier von Paperless-ngx zunächst der komplette Dateiname als Titel herangezogen wird, muss man hier i.d.R. manuell eingreifen. Ich habe dem Beispiel folgend Beitragsrechnung als Titel eingegeben und sieht am Ende so aus: Allgemein/Versicherungen/Allianz_Berufsunfähigkeitsversicherung/2025-08-13_Allianz_BU_12345678_Beitragsrechnung.pdf

    Was für ein Auffand denkst du dir jetzt sicherlich.

    Am Ende ist es aber so, das du Paperless-ngx ein Dokument konsumierten lässt und dem Dokument gleichzeitig einen "Posteingangs-Tag" mitgibst. So weißt du immer, was neu ist und was du noch alles wegsortieren musst. Dann öffnest du das Dokument, schaust es dir an und sagts:

    • Tiltel: Beitragsrechnung
    • Ausstellungsdatum: (Entweder das vorhandene oder ein eigenes, dem Dokument entsprechendes eingeben)
    • Korrespondent: Allianz Berufsunfähigkeitsversicherung
    • Dokument-Typ: Allianz BU 12345678
    • Speicherpfad: Versicherungen

    Ergebnis:

    • Allgemein
      • Versicherungen
        • Allianz_Berufsunfähigkeitsversicherung
          • 2025-08-13_Allianz_BU_12345678_Beitragsrechnung.pdf

    Für meine Finanzen habe ich wiederum einen anderen Speicherpfad und somit einen weiteren modifizierten Jinja-Filter verwendet. Aber das würde jetzt zu weit führen.

    Im übrigen verwende ich hier nur einen einzigen TAG und das ist der Posteingangs-Tag.

    The content cannot be displayed because you do not have authorisation to view this content.

    FRITZ!Box 5590 Fiber | UniFi Express 7 | 2,5-GBit-LAN & Wi-Fi 7
    DXP2800 - 1TB Crucial P310 NVMe RAID1 - 2TB Crucial MX500 SSD RAID1 - 16 GB Crucial CT16G56C46S5 (5600Mhz)
    DS224+ 3TB WD Red HDD RAID1 18GB Ram | DS124 1TB Samsung 870 EVO SSD
    Linux Mint | Ubuntu-Server | Windows | iOS | iPadOS
    UGREEN.FORUM/Filebase | Synology-forum/Add-ons | GitHub.com/toafez

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!