Paperless NGX


High-Tower

Recommended Posts

Hi zusammen,

 

da mich der Papierkram echt so langsam erschlägt, hab ich mich nun dazu entschlossen, Paperless-ngx zu installieren (mit Redis) und hab das alles soweit am laufen. Funktioniert bisher echt gut, nur hätte ich 2 Fragen...

 

1. Habe mir Dokumententypen angelegt (wie eine Art Ordner Struktur mit "Rechnungen 2023", "Versicherungen" usw.. )

Wenn ich nun egal was für ein Dokument einscanne, landet es immer zuerst im Dokumententyp "Rechnungen 2023". Wenn das System sich nicht sicher ist (die Dokumente enthalten keine Schlagwörter für den Bezug zu "Rechnungen 2023", außer evtl. das Datum), wäre es besser, wenn das System das Dokument als "Nicht zugewiesen" deklariert. Wie kann man das einstellen, oder benötigt das Programm noch weitere ~50 Dokumente um das "selbst" zu lernen? 

Speicherpfad ist: 

{document_type}/{created_year}-{created_month}-{created_day}_{tag_list}_{title}

 

2. Lernt das Programm auch mit den zugewiesenen Tags dazu? 

 

Wie habt ihr das Programm soweit eingestellt? 

Hab mir von Anfang an den Kopf zerbrochen, wie ich das "richtig" einstelle, bzw. auch ein wenig sortiere...

 

Grüße

✌️

  • Like 1
Link to comment

Hi,

da ich mich auch mit diesem Thema befasse und am Anfang mich zu sehr an meine "klassische" Ablage orientiert habe, kann ich empfehlen dieses nicht 1:1 zu übernehmen.

Hintergrund ist, dass viele Elemente dadurch keinen Sinn machen, z.B. Rechnungen 2023 - hierfür gibt es Typ "Rechnung" und eine Filterung "Ausgestellt am" --> nach 2023.

 

13 hours ago, High-Tower said:

2. Lernt das Programm auch mit den zugewiesenen Tags dazu? 

Was das Anlernen angeht, genauer das Zuweisungsalgorithmus Auto, ja es braucht einige Dokumente und vor allem von jeder Zuordnung eine entsprechende Menge - wie viel kann ich nicht sagen. Was ich gelesen habe, ca. 50 unterschiedliche Dokumente.

 

Hier mein Auszug, was den Workflow und die restlichen Daten angeht.

 

Mein Workflow:
1) Alles Neue wird mit dem Tag "INBOX" versehen

2) prüfen, ob die Zuordnung richtig ist (habe fast alles auf Auto stehen, bis auf paar Ausnahmen)

2.1) richtig kategorisieren

3) Tag "INBOX" entfernen. 

 

Meine Korrespondenten:

0_Ärzte

- 0_Behörde

- 0_Versicherung

usw.

- Deutsche Rentenversicherung

- FIRMENNAMEN (Arbeitgeber, regelmäßige Korrespondenten)

----> Allgemeine sind mit "0_" versehen, für alles andere lege ich eigenen Korrespondenten an bzw. ziehe diese um, wenn ich häufiger was von denen habe.

 

Tags - wie erwähnt, die meisten sind bei mir auf Auto:

- Auto XYZ
- Beleg Steuererklärung 202X

- INBOX

- Wohnen

- Objekt (<-- Eigentum)

- zz_Garten

- P-XXXXXX   (<--- P für Person die es betrifft/Empfänger, da dieses aktuell Paperless aktuell nicht kann)

 

Dokumenttypen (Einzahl geschrieben):

- Angebot

- Bescheinigung

- Gutschrift

- Information

- Kontoauszug

- Rechnung

 

Speicherpfade nutze ich aktuell nicht.

Zusätzlich habe ich folgende Variable aktiv:

- PAPERLESS_TRASH_DIR - Papierkorb

- PAPERLESS_IGNORE_DATES - da sind die Geburtstage von uns

- PAPERLESS_OCR_LANGUAGE=deu

- PAPERLESS_FILENAME_FORMAT={correspondent}/{created_year}-{created_month}-{created_day} {document_type} {correspondent} {title} - {tag_list}

(ist meine Exit-Strategie, aber auch, wenn im Notfall eine dritte Person an die Daten oder auch das System nicht mehr funktioniert, dass jemand mit den Daten was anfangen kann)

ergibt folgenden Pfad und Dateibenennung: /media/documents/archive/KORRESPONDENT/2023-01-04 Bestellbestätigung KORRESPONDENT TITEL - KOMPLETTE TAG-LISTE.pdf

sind mehrere Tags zugeordnet, werden alle Tags ausgegeben, z.B. Wohnen, P-XY

 

Auf folgenden Seite (teilweise auf NG-Version bezogen, aber der fachliche Teil ist entscheident) habe ich paar Tipps und Hinweise mitnehmen können: https://paperless.codeberg.page/paperless/2021-05/paperlessng/

Auf der Webseite sind mehrere Einträge zu dem Thema vorhanden, am besten mit dem ältesten anfangen.

  • Like 4
  • Upvote 1
Link to comment
  • 6 months later...

@Sky-Dragon
Danke für die Strukturierungsinfos.
Die Tipps haben mir sehr geholfen.

Ich mache die Gruppenzuordnung anders, damit ich meine bestehende Dokumenten-Ordnerstruktur beibehalten kann. Ich mache diese nicht über den Korrespondenten via "0_GRUPPENNAME", sondern lege eigene Speicherpfade für bestimmte Korrespondenten in Paperless an.
Ich hab per Default im Unraid Container den Speicherpfad wie folgt definiert:
PAPERLESS_FILENAME_FORMAT={created_year}/{correspondent}/{created}-{document_type}-{title}-{tag_list}

und bei Themenbereichen die Gruppieren möchte, verwende ich eigene Speicherpfade.
Beispiel:
image.thumb.png.3479ff842916e645ee2b5a42bdcdbcdf.png

 

Ergibt dann abgelegt:

image.png.239a6d365e89945f918225ae93638764.png

 

Über die Filterfunktion im Papleress kann ich mir dann alle Dokumente zu einem bestimmten Speicherpfad anzeigen lassen und bekomme damit z.b. direkt alle Versicherungen oder Handwerker Dokumente angezeigt und kann diese dann weiter Filter nach Tags wie "Beleg Einkommensteuererklärung 2023"
image.thumb.png.e4e63f7d7e71a9e52df471090e6c0968.png

 

Ich bin mir noch nicht ganz sicher, aber ich denke das ist langfristig so effizienter, da ich dann auch nach bestimmten Handwerkern (Korrenspondenten) weiter filtern kann. Wenn ich nur eine Korrespondentengruppe mit  "0_Handwerker" habe, wird es später schwierig wenn ich zwischen Handwerker A und Handwerker B filtern möchte.

Rückfrage1:

Zudem ermöglichen mir die Speicherpfade eine Trennung zwischen privaten Dokumenten und gewerblichen Dokumenten für Gewerbe1, Gewerbe2 zu erreichen. Oder würdet ihr eher eine Trennung zwischen privat und Gewerbe über unterschiedliche User im Paperless handhaben?

Rückfrage2:
Wie macht ihr es, wenn ihr z.b. eine Handwerkerrechnung die dazugehörige Quittiung / Überweisungsbeleg verknüpfen möchtest?

Zusatzinfos:
@Sky-Dragon Hast du das mit dem PAPERLESS_TRASH_DIR bei dir getestet?
Ich hatte damit anfangs Probleme, weil diese Variable per default nicht befüllt ist und er beim Klick auf "Dokument löschen" das Dokument nicht in den PAPERLESS_TRASH_DIR Pfad verschiebt. Lösung dazu habe ich hier auf englisch dokumentiert:

 

Edited by Asgard
  • Like 1
Link to comment

@Asgard

Kein Problem, schön das es jemanden geholfen hat.

On 9/28/2023 at 12:29 PM, Asgard said:

Wenn ich nur eine Korrespondentengruppe mit  "0_Handwerker" habe, wird es später schwierig wenn ich zwischen Handwerker A und Handwerker B filtern möchte.

Aktuell handhabe ich das so, dass ich den Namen des Handwerkers, wenn dieser regelmäßig da ist (Schornsteinfeger, Sanitärfirma), als eigenen Korrespondent anlege, bei allgemeinen bzw. nur selten benutzten Handwerker (Elektriker, Maler) kommt dieser unter "0_Handwerker".

Als Alternative kann natürlich für jeden Handwerker ein Korrespondent angelegt werden und diese werden mit dem TAG Handwerker versehen.
Da gibt es verschiedene Möglichkeiten, siehe deine Variante mit Speicherpfaden.

 

Allgemein würde ich sagen, dass die Funktionalität der Verschachtlung fehlt, dieses vermisse ich aktuell am meisten!

https://github.com/paperless-ngx/paperless-ngx/discussions/380

 

On 9/28/2023 at 12:29 PM, Asgard said:

Rückfrage1:

Zudem ermöglichen mir die Speicherpfade eine Trennung zwischen privaten Dokumenten und gewerblichen Dokumenten für Gewerbe1, Gewerbe2 zu erreichen. Oder würdet ihr eher eine Trennung zwischen privat und Gewerbe über unterschiedliche User im Paperless handhaben?

Da kenne ich mich nicht aus, aber ggf. hilft dir dieser Beitrag: https://github.com/paperless-ngx/paperless-ngx/discussions/1880

 

On 9/28/2023 at 12:29 PM, Asgard said:

Rückfrage2:
Wie macht ihr es, wenn ihr z.b. eine Handwerkerrechnung die dazugehörige Quittiung / Überweisungsbeleg verknüpfen möchtest?

https://github.com/paperless-ngx/paperless-ngx/discussions/422

hier gibt es auch schon so eine Anfrage.

Was ggf. möglich wäre, aber viel Handarbeit bedeutet, die Information in Notizen eintragen, also z.B. die Dokumenten-ID.
Schöner wäre eine direkte Verknüpfung zu X anderen Dokumenten und den entsprechenden Backlinks oder das Dokument ersetzt/verbunden (merge) werden können. 

https://github.com/paperless-ngx/paperless-ngx/discussions/367

 

On 9/28/2023 at 12:29 PM, Asgard said:

Zusatzinfos:
@Sky-Dragon Hast du das mit dem PAPERLESS_TRASH_DIR bei dir getestet?

Habe ich im Einsatz, aber bisschen anders in die Konfiguration eingebunden, ich habe nur eine Variable angelegt, einen Path habe ich nicht:

https://docs.paperless-ngx.com/configuration/#PAPERLESS_TRASH_DIR

image.png.d29458b170d3812cee89a6d279bed3a0.png

Nachteil ist nur, dass ich dieses in den Logs habe, was mich aber nicht weiter stört:

2023-10-01 14:26:32,611] [WARNING] [paperless.sanity_checker] Orphaned file in media dir: /usr/src/paperless/media/trash/2022-06-06-none-2017-11-09 none none IMG_20171109_0006 - INBOX.pdf
[2023-10-01 14:26:32,612] [WARNING] [paperless.sanity_checker] Orphaned file in media dir: /usr/src/paperless/media/trash/2022-06-06-none-2017-03-28 none none 2017-03-27 Sachverständigenbüro - Durchführung der präventiv Beweissicherung.pdf
[2023-10-01 14:26:32,612] [WARNING] [paperless.sanity_checker] Orphaned file in media dir: /usr/src/paperless/media/trash/2017-10-04-none-2017-10-04 none none IMG_20171009_0004 - INBOX.pdf
[2023-10-01 14:26:32,612] [WARNING] [paperless.sanity_checker] Orphaned file in media dir: /usr/src/paperless/media/trash/2022-06-06-none-2017-11-03 none none IMG_20171103_0001 - INBOX.pdf
[2023-10-01 14:26:32,613] [WARNING] [paperless.sanity_checker] Orphaned file in media dir: /usr/src/paperless/media/trash/2022-06-06-none-2017-10-10 none none img016 - INBOX.jpg
[2023-10-01 14:26:32,613] [WARNING] [paperless.sanity_checker] Orphaned file in media dir: /usr/src/paperless/media/trash/2017-02-20-none-2017-02-20 none none IMG_20171109_0005 - INBOX.pdf

 

Link to comment
  • 2 weeks later...

Danke @Sky-Dragon

 

Ich hab mittlerweile meinen Workflow etwas optimiert, um die die Dokumente automatisch vom Scanner zum Paperless-ngx zu bekommen.
Ich besitze einen Epson XP-7100 Drucker der leider keine Möglichkeit bietet die gescannten Dokumente direkt auf ein Unraid Share abzulegen.
Um trotzdem in den Genuss zu kommen, dass die eingescannten Dokumente automatisch von Papless konsumiert werden bin ich wie folgt vorgegangen:

 

Anleitung: Automatisch gescannte Dokumente über Unraid User Scripts zu Paperless verschieben

Vorbereitungen:
1.) In den Druckereinstellungen eine Freigabe erstellt um auf den USB-Stick vom Scanner zugreifen zu können:
image.thumb.png.7387d5b83ae7f1646c9a5be342c462d0.png

2.) Mit dem im Drucker hinterlegten Credentials lässt sich dann auf alle eingescannten Dokumente über smb zugreifen.

image.png.525bafd4e7c65823d0e18581d7dc97ce.png

 

Bisher hatte ich diese immer manuell in den Paperless-NGX consume Ordner kopiert. Jetzt kamen die folgenden Optimierungen dazu.

 


3) Tätigkeiten im Unraid: Unter Settings--> User Scripts ein neues User Script angelegt.

Mein Script prüft ob ein neues gescanntes Dokument mit dem Namen "EPSON001.PDF" auf dem USB-Storage vom Epson vorhanden ist. Falls dem so ist, kopiert es alle gescannten Dateien über den smbclient vom USB-Storage in den "consume" Ordner vom Paperless-NGX
 

#!/bin/bash
# This script is an automation for paperless-ngx.
# It copys all scanned files from the USB plugged into the Epson XP 7100 printer
# to the consume folder from paperless-ngx
# Afterwards all pdf files that have been copied are deleted
CREDENTIAL_FILE=/boot/config/asgardscripts/epsonpass.txt
CHECKFILENAME=EPSON001.PDF

# Check if new scanned file EPSON001.PDF is available on epson usb storage
if smbclient -A ${CREDENTIAL_FILE} //192.168.178.34/usbstorage/ -D EPSCAN/001/ -c "ls \"${CHECKFILENAME}\"" > /dev/null 2>&1
then
    echo "There are new SCANNED documents for paperless available"
    echo "Copy all scanned files to paperless consume folder"
    smbclient -A ${CREDENTIAL_FILE} //192.168.178.34/usbstorage/ -D EPSCAN/001/ -c 'prompt OFF;recurse ON; lcd "/mnt/user/dokumente_paperless/consume/"; mget *'
    
    echo "Cleanup by deleting all scanned '*PDF' to  scanned documents from EpsonXP7100 ":
    smbclient -A ${CREDENTIAL_FILE} //192.168.178.34/usbstorage/ -D EPSCAN/001/ -c 'prompt OFF;recurse ON; del "*.PDF"'
else
    echo "There are no documents to consume"
fi

exit 0


Die epsonpass.txt habe ich manuell auf dem Unraid USB Stick angelegt
root@Asgard:/boot/config# mkdir asgardscripts
root@Asgard:/boot/config# cd asgardscripts/
root@Asgard:/boot/config/asgardscripts# touch epsonpass.txt
root@Asgard:/boot/config/asgardscripts# nano epsonpass.txt 
und dann wie folgt editiert:

username=epson
password=eingestelltespassword
domain=WORKGROUP

 

4) Anschließend in den User-Scripts die Häufigkeit einstellen in dem das Script ausgeführt und die Dokumente vom Scanner abholen soll.

image.thumb.png.5235397a6b6c4ac4a4db5470c40b17fc.png

 

Voilà, fertig ist der neue automatische Workflow 🙂

 

 

PS:
Ursprünglich wollte ich mittels rclone machen wie es im Sempervideo schön erklört wurde

Aber irgendwie hat rclone bei mir mit der Freigabe vom Drucker nicht funktioniert und ich hab die Fehlermeldung
"error couldn't connect SMB: invalid response error: invalid negotiate flags" nicht lösen können und bin daher auf smbclient umgestiegen. 

 

 

image.png

  • Like 1
Link to comment
  • 1 month later...

Hallo,

 

habe ab und an Probleme beim Einlesen von PDFs wegen irgendwelchen Signaturen. Sogar bei einfachsten Bedienungsanleitungen.

 

Fehlermeldung: DigitalSignatureError: Input PDF has a digital signature. OCR would alter the document, invalidating the signature.

 

Ne Idee wie man die Signaturen ignorieren kann so das die Datei in Paperless importiert werden kann??? Die Originale werden ja eh nochmal separat abgelegt.

 

vielen Dank

 

vg Andreas

Link to comment
  • 3 months later...

Hallo,

 

versuche gerade die Paperless App unter iOS iPhone in Schwung zu bekommen. Leider verbindet sie sich nicht. Die URL wird als korrekt erkannt. Aber mit meinem User+ Passwort geht es nicht weiter.

Anbei mal die Logs der App. Vielleicht fällt euch ja was auf.

 

vielen Dank

 

[27.3.2024, 12:53] [General] Checking backend URL <private>
[27.3.2024, 12:53] [General] Derive URL: <private> + <private> -> <private>
[27.3.2024, 12:53] [General] Checking valid-looking URL <private>
[27.3.2024, 12:53] [General] Attempting login with url <private>
[27.3.2024, 12:53] [General] Derive URL: <private> + <private> -> <private>
[27.3.2024, 12:53] [General] Token request response was not 200 but 403, <private>
[27.3.2024, 12:53] [General] Attempting login with url <private>
[27.3.2024, 12:53] [General] Derive URL: <private> + <private> -> <private>
[27.3.2024, 12:53] [General] Token request response was not 200 but 403, <private>
[27.3.2024, 12:53] [General] Attempting login with url <private>
[27.3.2024, 12:53] [General] Derive URL: <private> + <private> -> <private>
[27.3.2024, 12:53] [General] Token request response was not 200 but 403, <private>
[27.3.2024, 12:53] [General] Attempting login with url <private>
[27.3.2024, 12:53] [General] Derive URL: <private> + <private> -> <private>
[27.3.2024, 12:53] [General] Token request response was not 200 but 403, <private>
[27.3.2024, 12:53] [General] Checking backend URL <private>
[27.3.2024, 12:53] [General] Derive URL: <private> + <private> -> <private>
[27.3.2024, 12:53] [General] Checking valid-looking URL <private>
[27.3.2024, 12:53] [General] Checking API error: Error Domain=NSURLErrorDomain Code=-1004 UserInfo={_kCFStreamErrorCodeKey=61, NSUnderlyingError=0x303076d00 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 UserInfo={_NSURLErrorNWPathKey=satisfied (Path is satisfied), viable, interface: en0[802.11], ipv4, ipv6, dns, uses wifi, _kCFStreamErrorCodeKey=61, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=<private>, _NSURLErrorRelatedURLSessionTaskErrorKey=<private>, NSLocalizedDescription=<private>, NSErrorFailingURLStringKey=<private>, NSErrorFailingURLKey=<private>, _kCFStreamErrorDomainKey=1}
 

Link to comment
47 minutes ago, albacom said:

die Paperless App

Welche soll das sein? Von den Paperless NGX-Machern wird sie nicht sein.

 

Daher:

On 12/11/2023 at 5:34 PM, saber1 said:

Bei anwendungsspezifischen Fragen bitte immer die Hilfe/Doku dieser App zu Rate

 

Link to comment

@albacom

Rein aus Interesse habe ich mir die App mal geladen.

Verbinden klappte auf Anhieb.

 

SwiftPaperless.jpg.5976bcbf7184975bbdf4e04b0263bd20.jpg

 

Hast Du es so versucht?

Paperless URL: http://SERVERIP:DOCKERPORT

Benutzername: Halt Dein Paperless User (Hast Du nach dem ersten Start von Paperless festgelegt)

Passwort: Entsprechendes Passwort für den User

Edited by saber1
  • Upvote 1
Link to comment

Bei mir ist irgendwas schief gegangen 😔

 

ich hatte Paperless mit den Standart Einstellungen unter Unraid installiert und es lief auch super, hatte bereits 75 Dokumente hochgeladen, kategorisiert usw. Konnte via App Dokumente Einscannen und an Paperless übertragen und Paperless via NGINX von überall erreichen. 
 

tja und dann hat sich Unraid aufgehängt (Problem in einem anderen Thema und inzwischen hoffentlich behoben), nach einem Neustart dann das Entsetzen, alle Dokumente sind weg. Also mir werden die Tags und auch Bezeichnungen noch in Paperless angezeigt, aber wenn ich das Dokument öffnen will, ist da nichts. Keine Vorschau kein Dokument und file Not found. 
 

hab ich da nen Fehler mit der Ordnerstruktur? Sind die Einstellungen unter Unraid falsch? Oder hätte ich in Paperless da noch was einstellen müssen?

 

Habe auch schon versucht erst Redis und dann Paperless zu starten, aber die Dokumente bleiben verschwunden 😔

 

was hab ich falsch gemacht?? 
 

Danke im Voraus 

Link to comment
47 minutes ago, Curiosity said:

was hab ich falsch gemacht?? 

außer viel Text ohne effektiven Inhalt ... keine effektiven Angaben gemacht.

 

Unraid aufgehangen, Neustart, paperless Dokumente sind weg ...

 

48 minutes ago, Curiosity said:

hab ich da nen Fehler mit der Ordnerstruktur? Sind die Einstellungen unter Unraid falsch? Oder hätte ich in Paperless da noch was einstellen müssen?

 

wie @cz13 anmerkte, Infos auch geben und zeigen ... docker run oder screenshots von paperless ...

 

dann könnte dir (vielleicht) auch geholfen werden ...

Link to comment
Just now, Curiosity said:

@alturismo warum so ein negativer Unterton? Ich sagte ja das ich die Standart Werte der Installation übernommen habe - siehe Bild

 

 

es gibt keinen "Standard" bei Dockers ... kommt ja drauf an welchen du genommen hast ... aber kurz, ja, ist falsch ...

 

image.thumb.png.fbcc065cf900fc448195f895a2f46774.png

 

kurz, /usr/src/... landet im Ram, nach einem Neustart ist das weg ... das anpassen auf "echte" Pfade ...

 

da ich einen anderen Docker nutze ... aber vom Grundsatz ...

 

image.png.baccd73e2acb7b1e920e15805aa1183a.png

image.png.ff0022504f096c0f6719ac4143f4be60.png

 

/mnt/user/DEIN_SHARE_HIER ... dann klappt das auch ...

 

und mein Unterton, naja, ich lass jetzt meinen Kommentar hierzu ... ;)

  • Like 1
Link to comment
2 minutes ago, alturismo said:

 

es gibt keinen "Standard" bei Dockers ... kommt ja drauf an welchen du genommen hast ... aber kurz, ja, ist falsch ...

 

image.thumb.png.fbcc065cf900fc448195f895a2f46774.png

 

kurz, /usr/src/... landet im Ram, nach einem Neustart ist das weg ... das anpassen auf "echte" Pfade ...

 

da ich einen anderen Docker nutze ... aber vom Grundsatz ...

 

image.png.baccd73e2acb7b1e920e15805aa1183a.png

image.png.ff0022504f096c0f6719ac4143f4be60.png

 

/mnt/user/DEIN_SHARE_HIER ... dann klappt das auch ...

 

und mein Unterton, naja, ich lass jetzt meinen Kommentar hierzu ... ;)

 

Danke für die Hilfe

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.