Diese Seite liefert praxiserprobte Reguläre Ausdrücke für ecoDMS, um gezielt Werte aus Belegen zu extrahieren – z. B. Datum, Gesamtbetrag, Nettobetrag, Umsatzsteuer-Betrag, USt-IdNr., Steuernummer, IBAN oder Belegnummer. Neben flexiblen allgemeinen Mustern sind vereinfachte ecoDMS-Varianten im Format REGEX: enthalten.

1. Allgemeine Hinweise & Flags

  • Flags: In ecoDMS meist i und m aktivieren. Wenn Werte in Folgezeilen stehen, ggf. zusätzlich s.
  • Allgemeine Regex vs. ecoDMS-Regex: Die allgemeinen Muster sind flexibler. Die REGEX:-Varianten sind bewusst einfacher und auf feste OCR-Begriffe ausgelegt.
  • Betragsformat: Die Beispiele sind auf deutsche Schreibweisen wie 123,45 oder 1.234,56 ausgerichtet.
  • OCR-Effekte: Je nach Beleg können Doppelpunkte, zusätzliche Leerzeichen, Zeilenumbrüche oder abweichende Schreibweisen auftreten. Dafür sind mehrere Varianten sinnvoll.
  • Praxis: In ecoDMS sind mehrere kleine, klar verankerte Muster meist treffsicherer als eine große Universal-Regex.

2. Betrag – Basisbaustein

Dieses Fragment wird in mehreren allgemeinen Mustern verwendet:

([-+]?(?:\d{1,3}(?:[.\s]\d{3})*|\d+)(?:,\d{2}|,-|,–)?)
Variante mit Klammern als negative Beträge
\(?\s*([-+]?(?:\d{1,3}(?:[.\s]\d{3})*|\d+)(?:,\d{2}|,-|,–)?)\s*\)?

3. Datum

Allgemeine Regex

31.12.2025 / 31-12-2025 / 31/12/2025

(?i)\b(?:rechnungsdatum|ausstellungsdatum|datum)\b[^\d]{0,20}?(\d{1,2}[.\-/]\d{1,2}[.\-/](?:19|20)\d{2})\b

2025-12-31 / 2025.12.31

(?i)\b(?:rechnungsdatum|ausstellungsdatum|datum)\b[^\d]{0,20}?((?:19|20)\d{2}[.\-/]\d{1,2}[.\-/]\d{1,2})\b

31. Dezember 2025

(?i)\b(?:rechnungsdatum|ausstellungsdatum|datum)\b[^\d]{0,20}?(\d{1,2}\.\s*(?:januar|februar|märz|maerz|april|mai|juni|juli|august|september|oktober|november|dezember)\s*(?:19|20)\d{2})

ecoDMS-Spezialfälle

REGEX:(?<=Rechnungsdatum[:\s])\d{1,2}[.\-/]\d{1,2}[.\-/](?:19|20)\d{2}
REGEX:(?<=Ausstellungsdatum[:\s])\d{1,2}[.\-/]\d{1,2}[.\-/](?:19|20)\d{2}
REGEX:(?<=Datum[:\s])\d{1,2}[.\-/]\d{1,2}[.\-/](?:19|20)\d{2}
REGEX:(?<=Datum[:\s])(?:19|20)\d{2}[.\-/]\d{1,2}[.\-/]\d{1,2}

4. Gesamtbetrag / Zahlbetrag (Brutto)

Allgemeine Regex

(?i)\b(?:gesamt(?:betrag)?|gesamtsumme|summe\s*brutto|zu\s*zahlen|zahlbetrag)\b[^0-9€eur]{0,30}?(?:€|eur)?\s*([-+]?(?:\d{1,3}(?:[.\s]\d{3})*|\d+)(?:,\d{2}|,-|,–)?)\s*(?:€|eur)?

ecoDMS-Spezialfälle

REGEX:(?<=Gesamt\s\(EUR\)\s)\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=Gesamtbetrag[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=Gesamtsumme[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=Zahlbetrag[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=Zu\sZahlen[:\s])\d+(?:\.\d{3})*,\d{2}

5. Rechnungsbetrag

Allgemeine Regex

(?i)\b(?:rechnungsbetrag)\b[^0-9€eur]{0,30}?(?:€|eur)?\s*([-+]?(?:\d{1,3}(?:[.\s]\d{3})*|\d+)(?:,\d{2}|,-|,–)?)\s*(?:€|eur)?

ecoDMS-Spezialfall

REGEX:(?<=Rechnungsbetrag[:\s])\d+(?:\.\d{3})*,\d{2}

6. Nettobetrag / Zwischensumme

Allgemeine Regex

(?i)\b(?:netto(?:betrag)?|zwischensumme|summe\s*netto)\b[^0-9€eur]{0,30}?(?:€|eur)?\s*([-+]?(?:\d{1,3}(?:[.\s]\d{3})*|\d+)(?:,\d{2}|,-|,–)?)\s*(?:€|eur)?

ecoDMS-Spezialfälle

REGEX:(?<=Nettobetrag[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=Netto[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=Zwischensumme[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=Summe\sNetto[:\s])\d+(?:\.\d{3})*,\d{2}

7. USt./MwSt.-Betrag

Allgemeine Regex

(?i)\b(?:mwst|mehrwertsteuer|umsatzsteuer|ust\.?|ust\.?-betrag)\b[^0-9€eur]{0,30}?(?:€|eur)?\s*([-+]?(?:\d{1,3}(?:[.\s]\d{3})*|\d+)(?:,\d{2}|,-|,–)?)\s*(?:€|eur)?
Variante mit Prozentangabe vor dem Betrag
(?i)\b(?:mwst|umsatzsteuer|ust\.?)[^%\d]{0,15}?\d{1,2}\s*%[^0-9€]{0,15}?(?:€|eur)?\s*([-+]?(?:\d{1,3}(?:[.\s]\d{3})*|\d+)(?:,\d{2}|,-|,–)?)

ecoDMS-Spezialfälle

REGEX:(?<=MwSt[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=Mehrwertsteuer[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=Umsatzsteuer[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=USt[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:(?<=USt\.-Betrag[:\s])\d+(?:\.\d{3})*,\d{2}
REGEX:MwSt\s\d{1,2}%[:\s]+(\d+(?:\.\d{3})*,\d{2})

8. USt-IdNr. / VAT-ID

Allgemeine Regex – Deutschland

(?i)\b(?:ust-?id(?:nr\.?)?|umsatzsteuer-?identifikationsnummer|vat[-\s]?id)\b[^\w]{0,10}?(DE\d{9})\b

Allgemeine Regex – EU-weit

(?i)\b(ATU\d{8}|BE0?\d{9,10}|BG\d{9,10}|CY\d{8}[A-Z]|CZ\d{8,10}|DE\d{9}|DK\d{8}|EE\d{9}|EL\d{9}|ES[A-Z0-9]\d{7}[A-Z0-9]|FI\d{8}|FR[0-9A-Z]{2}\d{9}|HR\d{11}|HU\d{8}|IE\d{7}[A-W][A-IJ-Z]|IT\d{11}|LT\d{9,12}|LU\d{8}|LV\d{11}|MT\d{8}|NL\d{9}B\d{2}|PL\d{10}|PT\d{9}|RO\d{2,10}|SE\d{12}|SI\d{8}|SK\d{10})\b

ecoDMS-Spezialfälle

REGEX:USt-IdNr\.?[:\s]+([A-Z]{2}[A-Z0-9]{8,12})
REGEX:Umsatzsteuer-Identifikationsnummer[:\s]+([A-Z]{2}[A-Z0-9]{8,12})
REGEX:VAT[-\s]?ID[:\s]+([A-Z]{2}[A-Z0-9]{8,12})
REGEX:(?<=USt-IdNr\.?[:\s])DE\d{9}

9. Steuernummer (Deutschland – häufige Schreibweisen)

Erfasst typische Muster wie 123/4567/8901, 12/345/67890 oder 12345678901.

Allgemeine Regex

(?i)\b(?:steuer\s?nr\.?|steuernummer|st-?nr\.?)[^0-9]{0,15}?((?:\d{1,3}/\d{3,4}/\d{2,5})|(?:\d{2}/\d{3}/\d{4,5})|(?:\d{10,11}))\b

ecoDMS-Spezialfälle

REGEX:Steuernummer[:\s]+((?:\d{1,3}/\d{3,4}/\d{2,5})|(?:\d{2}/\d{3}/\d{4,5})|(?:\d{10,11}))
REGEX:Steuer\s?Nr\.?[:\s]+((?:\d{1,3}/\d{3,4}/\d{2,5})|(?:\d{2}/\d{3}/\d{4,5})|(?:\d{10,11}))
REGEX:St-?Nr\.?[:\s]+((?:\d{1,3}/\d{3,4}/\d{2,5})|(?:\d{2}/\d{3}/\d{4,5})|(?:\d{10,11}))

10. IBAN

Allgemeine Regex – Deutschland

(?i)\b(?:iban)\b[^A-Z0-9]{0,15}?(DE\d{20})\b

Allgemeine Regex – EU-weit

(?i)\b(?:iban)\b[^A-Z0-9]{0,15}?([A-Z]{2}\d{2}[A-Z0-9]{10,30})\b

ecoDMS-Spezialfälle

REGEX:IBAN[:\s]+([A-Z]{2}\d{2}[A-Z0-9\s]{10,34})
REGEX:(?<=IBAN[:\s])DE\d{20}
REGEX:IBAN[:\s]+(DE(?:\s?\d){20})

11. Beleg-/Rechnungsnummer

Findet z. B. den Ausdruck RE-006720 in einem Bereich wie Rechnung: RE-006720.

ecoDMS-Spezialfall direkt

REGEX:RE-\d{1,6}

Allgemeine Regex

(?i)\b(?:rechnungs?-?nr\.?|rechnungsnummer|beleg-?nr\.?|belegnummer|rechnung)\b[^A-Z0-9]{0,20}?([A-Z0-9][A-Z0-9\-_.\/]{3,})

ecoDMS-Spezialfälle

REGEX:Rechnung[:\s]+([A-Z0-9][A-Z0-9\-_.\/]{3,})
REGEX:Rechnungsnummer[:\s]+([A-Z0-9][A-Z0-9\-_.\/]{3,})
REGEX:Rechnungs-?Nr\.?[:\s]+([A-Z0-9][A-Z0-9\-_.\/]{3,})
REGEX:Belegnummer[:\s]+([A-Z0-9][A-Z0-9\-_.\/]{3,})
REGEX:Beleg-?Nr\.?[:\s]+([A-Z0-9][A-Z0-9\-_.\/]{3,})

12. Zahlungsdatum

Allgemeine Regex

(?i)\b(?:zahlungsdatum|bezahlt\s*am|valuta)\b[^\d]{0,20}?(\d{1,2}[.\-/]\d{1,2}[.\-/](?:19|20)\d{2})\b

ecoDMS-Spezialfälle

REGEX:(?<=Zahlungsdatum[:\s])\d{1,2}[.\-/]\d{1,2}[.\-/](?:19|20)\d{2}
REGEX:(?<=Bezahlt\sam[:\s])\d{1,2}[.\-/]\d{1,2}[.\-/](?:19|20)\d{2}
REGEX:(?<=Valuta[:\s])\d{1,2}[.\-/]\d{1,2}[.\-/](?:19|20)\d{2}

13. Steuersatz (%-Angaben)

Extrahiert den Prozentsatz wie 19% oder 7%.

Allgemeine Regex

(?i)\b(?:mwst|ust\.?|umsatzsteuer|steuer)\b[^%\d]{0,15}?(\d{1,2}\s?%)

ecoDMS-Spezialfälle

REGEX:MwSt[:\s]+(\d{1,2}\s?%)
REGEX:USt[:\s]+(\d{1,2}\s?%)
REGEX:Umsatzsteuer[:\s]+(\d{1,2}\s?%)
REGEX:Steuer[:\s]+(\d{1,2}\s?%)
REGEX:MwSt\s(\d{1,2}\s?%)

14. Generischer Betrag (Fallback ohne Label)

Allgemeine Regex

(?i)(?:\b(?:€|eur)\s*)?([-+]?(?:\d{1,3}(?:[.\s]\d{3})*|\d+)(?:,\d{2}|,-|,–)?)\s*(?:€|eur)\b

ecoDMS-Fallback

REGEX:\d+(?:\.\d{3})*,\d{2}

Hinweis: Dieser Fallback findet beliebige Beträge im Dokument und ist nur als letzte Reserve sinnvoll.

15. ecoDMS-Tipps & OCR-Robustheit

  • Kleine feste Muster sind oft besser: In ecoDMS funktionieren konkrete Suchbegriffe mit einfacher Regex oft stabiler als eine große Universal-Regex.
  • Mehrere Varianten pro Feld: Bei unterschiedlichen Dokumenttypen lieber mehrere passende Muster testen, z. B. Gesamtbetrag, Zahlbetrag und Zu Zahlen.
  • Groß-/Kleinschreibung: Falls OCR uneinheitlich arbeitet, ggf. zusätzliche Varianten ergänzen.
  • Doppelpunkte und Leerzeichen: Schreibweisen wie Label: 123,45 und Label 123,45 sind mit [:\s] meist gut abgedeckt.
  • Test mit echten Belegen: Pro Dokumententyp 2–3 Beispiele prüfen und die Regex dann auf die vorhandenen OCR-Texte zuschneiden.

Fragen oder Sonderfälle? Schreib uns an E-Mail anzeigen – gern passen wir die Muster auf eure Belege an.