Hallo,
ich möchte gerne eine große Anzahl von PDF-Dokumenten in Paperless.ngx übernehmen.
Meine Idee ist, die bestehenden Dokumente nach Dokumententypen getrennt zu exportieren. Die alten Dokumentennamen haben alle einen festen Aufbau, den ich auch gerne nutzen wollen würde, wenn es denn irgendwie geht.
Die Dokumentennamen haben den folgenden Aufbau (in der Sprache von Paperless):
{Korrespondent}–{created_day}.{created_month}.{created_year}–Belegnummer.pdf
Müller KG–01.01.2017–201754321.pdf
Zander–15.09.2021–14110007.000.pdf
Ich würde also gerne im Zuge des Imports aus dem bestehenden Dokumentennamen
die Daten extrahieren, den Titel erzeugen und die folgenden Felder setzen:
Titel: Zander–2021.09.15–14110007.000
Ausstellungsdatum: 15.09.2021
Korrespondent: Zander
RE-LS-Nummer: 14110007.000
Den Dokumententyp würde ich dann pro Importzyklus fest setzen.
Wenn es also der Stapel Rechnungen wäre, sollte mein Speicherpfad hinterher so aussehen:
Firma/{created_year}/Rechnungen/{title}
Leider finde ich keinen Ansatz für das Importieren und Verarbeiten des alten Dokumentennamens.
Kann mir hier jemand einen Tipp oder einen Lösungsweg geben?
bei dem Problem den Dateinamen deiner Dateien als Titel in Paperless zu verwenden, könnten dir die Arbeitsabläufe weiterhelfen. (z.B. Auslöser: Dokument hinzugefügt, Aktion: Zuordnung, dort kannst du dann bei „Titel zuweisen“ Platzhalter verwenden.
Hallo,
ich antworte mir mal selbst
Ich habe eine Lösung gefunden, die für einen einmaligen Import gut funktioniert.
Ich habe mir von Chatgpt helfen lassen… Die Lösung sind 2 kleine Phython Scripte. Das erste ändert mir die Dateinamen der zu importierenden Dateien in das von mir gewünschte Format. Das 2. Script führt dann über die API den Import aller Dokumente durch. Hier setze ich dann die Felder:
Titel; Erstellungsdatum; Korrespondent;Dokumententyp;Tags.
Den Dokumententyp und die Tags setze ich pro Importzyklus anhand der ID
Das Erstellungsdatum lses ich aus dem bestehenden Dateimnamen aus, ebenso den Namen des Korrespondenten. Das Script überprüft ob es den Korrespondenten schon gibt, legt ihn sonst an und ordnet die entsprechende ID zu.
Was noch fehlt ist das Benutzerdefinierte Feld „Belegnummer“ … das muss ich noch einbauen (ab einem bestimmten Stadium der Scriptentwicklung sollte man das nicht mehr von Chatgpt machen lassen… weil sonst Dinge nicht mehr funktionieren, die vorher gingen…)
Das Megaproblem ist allerding eine spätere Nachbearbeitung durch Paperless.ngx, weil mein Speicherpfad ja den Anteil „Belegnummer“ hat. Das bedeutet, dass bei einer Nachbearbeitung der Dateiname sich wieder ändern würde… ein echtes Manko…
Mein Dateiname vorher:
{Korrespondent}–DD.MM.YYYY–{Belegnummer}.pdf
nach Durchführung erstes Script:
{Korresondent}–YYYY-MM-DD–{Belegnummer}.pdf
Nach Import durch 2. Script:
Speicherpfad inkl. Dateiname: /YYYY/{Dokumententyp}/MM/{Korresondent}–YYYY-MM-DD–{Belegnummer}.pdf
Es fehlen wirklich 3 entscheidende Punke bei der Dokumentenbearbeitung für einen effektiven Workflow:
Feste Feldaktivierung von Benutzerdefinierten Feldern in einer gespeicherten Ansicht.
Die Verwendung von Benutzerdefinierten Feldern in dem Speicherpfad
Die Möglichkeit innerhalb der Bearbeitungsansicht von bereits ausgewählten Felder (z.B. Korrespondet: „Fa.MAYER“) den Eintrag per Copy&Paste in den Titel übernehmen zu können…