ELO Exporter
Dokumenten- & Metadaten-Export
Der ELO Exporter ist ein vielseitiges Modul für den automatisierten Export von Dokumenten und Metadaten aus ELO. Er unterstützt sowohl den klassischen Dateisystem-Export als auch die Weitergabe von Metadaten per Webhook an externe Systeme — einzeln oder kombiniert.
Übersicht
Der ELO Exporter automatisiert den Export von Dokumenten aus ELO. Der typische Ablauf ist:
- Suche — Dokumente per Objekt-ID, ELO-Pfad oder FindSearch (mit ObjKey-Filtern) identifizieren
- Export — Dokument und/oder Metadaten ins Dateisystem exportieren und/oder per Webhook an ein externes System senden
- Post-Processing — ObjKey-Felder in ELO aktualisieren, Workflows weiterleiten
- Protokollierung — Jeder Vorgang wird mit Status, Dauer und Details protokolliert
Dateisystem-Export und Webhook können unabhängig voneinander oder gleichzeitig genutzt werden. Mit der Option MetadataOnly ist auch ein reiner Webhook-Export ohne Dateisystem-Schreibvorgang möglich.
Export-Pipeline
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ELO FindSearch │──▶│ Checkout Sord │──▶│ Dateisystem │
│ / ID / Pfad │ │ + MapData laden │ │ UND/ODER │
└─────────────┘ └──────────────────┘ │ Webhook │
└─────────────────┘
│
┌───────▼─────────┐
│ Post-Processing │
│ • ObjKeys update │
│ • WF forwarding │
│ • Protokollierung│
└─────────────────┘Funktionen
- Flexible Quellensuche — Dokumente per Objekt-ID, ELO-Pfad oder FindSearch (mit ObjKey-Filtern) finden
- Dateisystem-Export — Dokumente und/oder Metadaten ins lokale Dateisystem exportieren
- Webhook-Integration — Export-Ergebnisse und ELO-Metadaten per HTTP-Webhook an externe Systeme senden
- Zwei Webhook-Modi —
status(kompakter Exportstatus) oderfull(komplette Metadaten inkl. Index-Felder, Map-Felder, Aspects) - MetadataOnly — Nur Metadaten exportieren ohne Datei-Download (ideal für Webhook-Szenarien)
- Post-Processing — Nach erfolgreichem Export automatisch ObjKey-Felder in ELO aktualisieren
- Workflow-Forwarding — ELO-Workflows nach Export automatisch weiterleiten
- Batch-Export — Massenexport per FindSearch mit konfigurierbarem Limit und Batch-Größe
- Metadaten-Formate — JSON-Sidecar oder ELONIQ .niqcd-Format
- Document Container — Unterstützung für ELO Document Container mit wählbarer Metadaten-Quelle
- XRechnung / ZUGFeRD — Generierung elektronischer Rechnungen (EN 16931) mit Profilsystem
- Zeitplanung — Cron-Ausdrücke, Go-Dauern oder feste Uhrzeiten
- Retry-Mechanismus — Automatische Wiederholung bei Fehlern mit exponentieller Verzögerung
- Ordnerstruktur — ELO-Hierarchie optional im Ziel nachbilden
- Überschreibschutz — Modi:
always,newer,never - Benennungsmuster — Dateinamen per Template anpassen (
{id},{name},{date},{ext}) - Protokollierung — Jeder Export wird mit Status, Dauer, Dateigröße und Fehlermeldung protokolliert
Verwendung
1. Export-Job erstellen
Unter Konfiguration → Export-Jobs → Job hinzufügen einen neuen Job anlegen.
2. Quelle konfigurieren
- Objekt-ID — Direkter Export eines bekannten ELO-Objekts
- ELO-Pfad — Export per ARCPATH: oder SORD:-Pfad
- FindSearch — Dynamische Suche per Maskenname, ObjKey-Filtern und Volltextsuche. Ideal für automatisierte Batch-Exporte.
3. Exportziel festlegen
- Dateisystem — Absoluter Pfad zum Zielordner. Optional mit Ordnerstruktur-Erhaltung.
- Webhook — Unter Post-Processing → Nachricht senden: System-Channel auswählen und Content-Modus festlegen.
- Beides kombinierbar — Datei auf Disk UND Webhook gleichzeitig.
4. Metadaten-Optionen
- JSON-Metadaten — Sidecar-Datei neben dem Dokument
- NIQCD-Format — ELONIQ-eigenes Metadatenformat
- MetadataOnly — Nur Metadaten, kein Datei-Download (nützlich für reine Webhook-Szenarien)
5. Post-Processing einrichten
- ObjKey-Update — Nach Export z.B.
EXPORT_STATUSaufExportiertsetzen - Webhook-Inhalt —
statusfür kompakte Info oderfullfür komplette ELO-Metadaten (Index-Felder, Map-Felder, Aspects) - Workflow-Forwarding — ELO-Workflow automatisch an nächsten Knoten weiterleiten
6. Zeitplan
- Kontinuierlich — Cron-Ausdruck (
@hourly,0 */2 * * *) oder Go-Dauer (30m,1h) - Geplant — Feste Uhrzeiten (
08:00,14:30,18:00)
7. Monitoring
Alle Exporte werden protokolliert und sind im Status- und Protokoll-Tab einsehbar, inkl. Dauer, Dateigröße, Fehlerdetails und Fortschrittsanzeige für laufende Batch-Exporte.
Best Practices
- Dedizierte Zielordner — Verwenden Sie für jeden Export-Job einen eigenen Ordner, um Überschneidungen zu vermeiden.
- Metadaten mitexportieren — Aktivieren Sie JSON- oder .niqcd-Metadaten für Nachverfolgbarkeit und Audit-Trails.
- Zeitgesteuerte Batches — Große Exporte in Nebenzeiten planen (z.B.
0 2 * * *für 02:00 Uhr). - Post-Processing nutzen — Setzen Sie ein ObjKey-Feld wie
EXPORT_STATUS=Exportiertnach erfolgreichem Export, damit Dokumente nicht erneut exportiert werden. - FindSearch + Post-Processing kombinieren — Suche nach
EXPORT_STATUS=Neu, Export durchführen, dannEXPORT_STATUS=Exportiertsetzen. So entsteht ein selbstregulierender Kreislauf. - Webhook für Integrationen — Verwenden Sie den Webhook-Kanal mit
full-Modus, um ELO-Metadaten direkt an Drittsysteme (ERP, DMS, Workflow-Engines) zu senden. - MetadataOnly für Webhook-Szenarien — Wenn nur Metadaten an ein externes System gesendet werden sollen, aktivieren Sie
MetadataOnlyund den Webhook gemeinsam — kein Dateisystem-Export nötig. - Retry-Konfiguration — Aktivieren Sie den Retry-Mechanismus für instabile Netzwerkverbindungen mit exponentieller Verzögerung.
- Overwrite-Modus beachten —
newerverhindert unnötige Schreibvorgänge,neverschützt vor versehentlichem Überschreiben.
Beispiele
Beispiel 1: Täglicher Rechnungsexport mit Status-Update
Export-Job: "Rechnungen-Daily"
SourceMode: findsearch
FindInfo: MaskName=Rechnung, ObjKeys: EXPORT_STATUS=Neu
TargetFolder: C:\Export\Rechnungen
ExportMode: single
IncludeMetadata: true
PostProcessing:
UpdateObjKeys: EXPORT_STATUS → Exportiert
SendMessage:
ChannelID: webhook-erp
ContentMode: status
OnSuccess: true
Interval: 0 8 * * 1-5 (Mo-Fr um 08:00)Beispiel 2: Webhook-Only (kein Dateisystem-Export)
Export-Job: "ERP-Sync"
SourceMode: findsearch
FindInfo: MaskName=Beleg, ObjKeys: STATUS=Freigegeben
MetadataOnly: true
PostProcessing:
SendMessage:
ChannelID: webhook-erp
ContentMode: full
OnSuccess: true
Interval: */15 * * * * (alle 15 Minuten)Beispiel 3: Webhook-Payload im "full"-Modus
{
"export": {
"job_name": "ERP-Sync",
"status": "success",
"target_path": "C:\\Export\\..."
},
"document": {
"obj_id": 12345,
"guid": "(A1B2C3...)",
"filename": "Rechnung_2024-001.pdf",
"path": "¶Archiv¶2024¶Rechnungen",
"mask_name": "Rechnung",
"owner_name": "Admin",
"idate": "2024-03-15T10:30:00Z",
"version": 3
},
"index_fields": {
"RECHNUNGSNR": "2024-001",
"KREDITOR": "Lieferant GmbH",
"BETRAG": "1.234,56"
},
"map_fields": {
"ZAHLUNGSZIEL": "30 Tage netto"
},
"custom_data": {
"mandant": "001"
}
}Beispiel 4: Webhook-Payload im "status"-Modus
{
"subject": "ELO Export: Rechnung_2024-001.pdf",
"body": "Document exported successfully",
"severity": "success",
"metadata": {
"job_name": "Rechnungen-Daily",
"obj_id": "12345",
"filename": "Rechnung_2024-001.pdf",
"target_path": "C:\\Export\\Rechnungen\\...",
"status": "success",
"mask_name": "Rechnung"
}
}Export-Modi im Überblick
| Modus | Verwendung |
|---|---|
| Dateisystem + Webhook | Export auf Disk UND Benachrichtigung an externes System |
| Dateisystem only | Klassischer Dateiexport ohne Benachrichtigung |
| Webhook only | MetadataOnly=true + Webhook — kein Dateisystem-Export, nur Metadaten an API |
| MetadataOnly + Dateisystem | Nur .json/.niqcd-Metadaten auf Disk, keine Datei |