172 lines
4.5 KiB
YAML
172 lines
4.5 KiB
YAML
# Beispiel-Regeln für die Dateiverwaltung
|
|
# Diese Datei dient als Referenz - Regeln werden in der Web-UI konfiguriert
|
|
|
|
# ============================================
|
|
# RECHNUNGEN
|
|
# ============================================
|
|
|
|
sonepar_rechnung:
|
|
name: "Sonepar Rechnung"
|
|
prioritaet: 10
|
|
muster:
|
|
text_match_any:
|
|
- sonepar
|
|
- "elektro großhandel"
|
|
text_match:
|
|
- rechnung
|
|
extraktion:
|
|
datum:
|
|
regex: '(\d{2}[./]\d{2}[./]\d{4})'
|
|
typ: datum
|
|
format: "%d.%m.%Y"
|
|
rechnungsnummer:
|
|
regex: 'Rechnungsnummer[:\s]*(\d+)'
|
|
betrag:
|
|
regex: 'Gesamtbetrag[:\s]*([\d.,]+)\s*(?:EUR|€)'
|
|
typ: betrag
|
|
kategorie:
|
|
wert: "Rechnung"
|
|
ersteller:
|
|
wert: "Sonepar"
|
|
schema: "{datum} - {kategorie} - {ersteller} - {rechnungsnummer} - Material - {betrag} EUR.pdf"
|
|
ziel_ordner: "/archiv/rechnungen/sonepar"
|
|
|
|
wuerth_rechnung:
|
|
name: "Würth Rechnung"
|
|
prioritaet: 10
|
|
muster:
|
|
text_match_any:
|
|
- würth
|
|
- wuerth
|
|
text_match:
|
|
- rechnung
|
|
extraktion:
|
|
datum:
|
|
regex: '(\d{2}[./]\d{2}[./]\d{4})'
|
|
typ: datum
|
|
format: "%d.%m.%Y"
|
|
rechnungsnummer:
|
|
regex: '(?:Rechnungs?nummer|Beleg)[:\s]*([A-Z0-9-]+)'
|
|
betrag:
|
|
regex: '(?:Gesamtbetrag|Summe|Total)[:\s]*([\d.,]+)\s*(?:EUR|€)?'
|
|
typ: betrag
|
|
kategorie:
|
|
wert: "Rechnung"
|
|
ersteller:
|
|
wert: "Würth"
|
|
schema: "{datum} - {kategorie} - {ersteller} - {rechnungsnummer} - Material - {betrag} EUR.pdf"
|
|
ziel_ordner: "/archiv/rechnungen/wuerth"
|
|
|
|
amazon_rechnung:
|
|
name: "Amazon Rechnung"
|
|
prioritaet: 10
|
|
muster:
|
|
text_match_any:
|
|
- amazon
|
|
- "Amazon EU S.à r.l."
|
|
text_match:
|
|
- rechnung
|
|
extraktion:
|
|
datum:
|
|
regex: '(\d{2}[./]\d{2}[./]\d{4})'
|
|
typ: datum
|
|
format: "%d.%m.%Y"
|
|
rechnungsnummer:
|
|
regex: '(?:Rechnungsnummer|Invoice)[:\s]*([A-Z0-9-]+)'
|
|
betrag:
|
|
regex: '(?:Gesamtbetrag|Grand Total)[:\s]*([\d.,]+)\s*(?:EUR|€)?'
|
|
typ: betrag
|
|
kategorie:
|
|
wert: "Rechnung"
|
|
ersteller:
|
|
wert: "Amazon"
|
|
schema: "{datum} - {kategorie} - {ersteller} - {rechnungsnummer} - {betrag} EUR.pdf"
|
|
ziel_ordner: "/archiv/rechnungen/amazon"
|
|
|
|
allgemeine_rechnung:
|
|
name: "Allgemeine Rechnung"
|
|
prioritaet: 50
|
|
muster:
|
|
text_match_any:
|
|
- rechnung
|
|
- invoice
|
|
- faktura
|
|
extraktion:
|
|
datum:
|
|
regex: '(\d{2}[./]\d{2}[./]\d{4})'
|
|
typ: datum
|
|
format: "%d.%m.%Y"
|
|
rechnungsnummer:
|
|
regex: '(?:Rechnungs?nummer|Rechnung\s*Nr\.?|Invoice|Beleg)[:\s#]*([A-Z0-9-]+)'
|
|
betrag:
|
|
regex: '(?:Gesamtbetrag|Summe|Total|Endbetrag|Rechnungsbetrag)[:\s]*([\d.,]+)\s*(?:EUR|€)?'
|
|
typ: betrag
|
|
kategorie:
|
|
wert: "Rechnung"
|
|
schema: "{datum} - {kategorie} - {rechnungsnummer} - {betrag} EUR.pdf"
|
|
ziel_ordner: "/archiv/rechnungen/sonstige"
|
|
|
|
|
|
# ============================================
|
|
# DOKUMENTE (nicht-wiederkehrend)
|
|
# ============================================
|
|
|
|
zeugnis:
|
|
name: "Zeugnis"
|
|
prioritaet: 20
|
|
muster:
|
|
text_match_any:
|
|
- zeugnis
|
|
- zertifikat
|
|
- bescheinigung
|
|
- certificate
|
|
extraktion:
|
|
typ:
|
|
regex: '(Zeugnis|Zertifikat|Bescheinigung|Certificate)'
|
|
aussteller:
|
|
regex: '(?:ausgestellt von|issued by|Schule|Universität|Hochschule|Firma)[:\s]*([A-Za-zäöüÄÖÜß\s]+)'
|
|
jahr:
|
|
regex: '(20\d{2})'
|
|
schema: "{typ} - {aussteller} - {jahr}.pdf"
|
|
ziel_ordner: "/archiv/dokumente/zeugnisse"
|
|
|
|
vertrag:
|
|
name: "Vertrag"
|
|
prioritaet: 20
|
|
muster:
|
|
text_match_any:
|
|
- vertrag
|
|
- vereinbarung
|
|
- contract
|
|
- agreement
|
|
extraktion:
|
|
typ:
|
|
wert: "Vertrag"
|
|
partner:
|
|
regex: '(?:zwischen|Vertragspartner|mit)[:\s]*([A-Za-zäöüÄÖÜß\s]+)'
|
|
datum:
|
|
regex: '(\d{2}[./]\d{2}[./]\d{4})'
|
|
typ: datum
|
|
format: "%d.%m.%Y"
|
|
schema: "{typ} - {partner} - {datum}.pdf"
|
|
ziel_ordner: "/archiv/dokumente/vertraege"
|
|
|
|
|
|
# ============================================
|
|
# REGEX REFERENZ
|
|
# ============================================
|
|
#
|
|
# Häufige Muster:
|
|
#
|
|
# Datum (DD.MM.YYYY): (\d{2}[./]\d{2}[./]\d{4})
|
|
# Datum (YYYY-MM-DD): (\d{4}-\d{2}-\d{2})
|
|
# Betrag mit EUR: ([\d.,]+)\s*(?:EUR|€)
|
|
# Rechnungsnummer: (?:Rechnung|Invoice)[:\s#]*([A-Z0-9-]+)
|
|
# E-Mail: ([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})
|
|
# IBAN: ([A-Z]{2}\d{2}[A-Z0-9]{4}\d{7}([A-Z0-9]?){0,16})
|
|
#
|
|
# Tipps:
|
|
# - (?:...) = Nicht-einfangende Gruppe
|
|
# - [:\s]* = Optional Doppelpunkt und/oder Leerzeichen
|
|
# - \d+ = Eine oder mehr Ziffern
|
|
# - [A-Z0-9-]+ = Buchstaben, Zahlen und Bindestriche
|