ELO Exporter
Document & Metadata Export
The ELO Exporter is a versatile module for automated export of documents and metadata from ELO. It supports both classic filesystem export and forwarding metadata via webhook to external systems — individually or combined.
Overview
The ELO Exporter automates document export from ELO. The typical workflow is:
- Search — Identify documents by Object ID, ELO path or FindSearch (with ObjKey filters)
- Export — Export document and/or metadata to the filesystem and/or send via webhook to an external system
- Post-processing — Update ObjKey fields in ELO, forward workflows
- Logging — Every operation is logged with status, duration and details
Filesystem export and webhook can be used independently or simultaneously. With the MetadataOnly option, a pure webhook export without any filesystem write is also possible.
Export Pipeline
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ELO FindSearch │──▶│ Checkout Sord │──▶│ Filesystem │
│ / ID / Path │ │ + MapData load │ │ AND/OR │
└─────────────┘ └──────────────────┘ │ Webhook │
└─────────────────┘
│
┌───────▼─────────┐
│ Post-Processing │
│ • ObjKeys update │
│ • WF forwarding │
│ • Logging │
└─────────────────┘Features
- Flexible source search — Find documents by Object ID, ELO path or FindSearch (with ObjKey filters)
- Filesystem export — Export documents and/or metadata to the local filesystem
- Webhook integration — Send export results and ELO metadata via HTTP webhook to external systems
- Two webhook modes —
status(compact export status) orfull(complete metadata incl. index fields, map fields, aspects) - MetadataOnly — Export only metadata without file download (ideal for webhook scenarios)
- Post-processing — Automatically update ObjKey fields in ELO after successful export
- Workflow forwarding — Automatically forward ELO workflows after export
- Batch export — Mass export via FindSearch with configurable limit and batch size
- Metadata formats — JSON sidecar or ELONIQ .niqcd format
- Document containers — Support for ELO Document Containers with selectable metadata source
- XRechnung / ZUGFeRD — Electronic invoice generation (EN 16931) with profile system
- Scheduling — Cron expressions, Go durations or fixed times
- Retry mechanism — Automatic retry on failure with exponential backoff
- Folder structure — Optionally preserve ELO hierarchy in target
- Overwrite protection — Modes:
always,newer,never - Naming patterns — Customize filenames via template (
{id},{name},{date},{ext}) - Logging — Every export is logged with status, duration, file size and error details
Usage
1. Create Export Job
Navigate to Configuration → Export Jobs → Add Job to create a new job.
2. Configure Source
- Object ID — Direct export of a known ELO object
- ELO Path — Export by ARCPATH: or SORD: path
- FindSearch — Dynamic search by mask name, ObjKey filters and fulltext search. Ideal for automated batch exports.
3. Set Export Target
- Filesystem — Absolute path to target folder. Optionally preserve folder structure.
- Webhook — Under Post-Processing → Send Message: select a system channel and set the content mode.
- Both can be combined — File to disk AND webhook simultaneously.
4. Metadata Options
- JSON metadata — Sidecar file alongside the document
- NIQCD format — ELONIQ-proprietary metadata format
- MetadataOnly — Metadata only, no file download (useful for pure webhook scenarios)
5. Set Up Post-Processing
- ObjKey update — After export e.g. set
EXPORT_STATUStoExported - Webhook content —
statusfor compact info orfullfor complete ELO metadata (index fields, map fields, aspects) - Workflow forwarding — Automatically forward ELO workflow to next node
6. Schedule
- Continuous — Cron expression (
@hourly,0 */2 * * *) or Go duration (30m,1h) - Scheduled — Fixed times (
08:00,14:30,18:00)
7. Monitoring
All exports are logged and visible in the Status and Logs tabs, including duration, file size, error details and progress for running batch exports.
Best Practices
- Dedicated target folders — Use a separate folder for each export job to avoid conflicts.
- Export metadata — Enable JSON or .niqcd metadata for traceability and audit trails.
- Schedule large batches — Run large exports during off-hours (e.g.
0 2 * * *for 2:00 AM). - Use post-processing — Set an ObjKey field like
EXPORT_STATUS=Exportedafter successful export to prevent re-exporting. - Combine FindSearch + Post-Processing — Search for
EXPORT_STATUS=New, export, then setEXPORT_STATUS=Exported. This creates a self-regulating cycle. - Webhook for integrations — Use the webhook channel with
fullmode to send ELO metadata directly to third-party systems (ERP, DMS, workflow engines). - MetadataOnly for webhook scenarios — When only metadata needs to be sent to an external system, enable
MetadataOnlytogether with the webhook — no filesystem export needed. - Retry configuration — Enable the retry mechanism for unstable network connections with exponential backoff.
- Overwrite mode —
newerprevents unnecessary writes,neverprotects against accidental overwrites.
Examples
Example 1: Daily Invoice Export with Status Update
Export Job: "Invoices-Daily"
SourceMode: findsearch
FindInfo: MaskName=Invoice, ObjKeys: EXPORT_STATUS=New
TargetFolder: C:\Export\Invoices
ExportMode: single
IncludeMetadata: true
PostProcessing:
UpdateObjKeys: EXPORT_STATUS → Exported
SendMessage:
ChannelID: webhook-erp
ContentMode: status
OnSuccess: true
Interval: 0 8 * * 1-5 (Mon-Fri at 08:00)Example 2: Webhook-Only (No Filesystem Export)
Export Job: "ERP-Sync"
SourceMode: findsearch
FindInfo: MaskName=Receipt, ObjKeys: STATUS=Approved
MetadataOnly: true
PostProcessing:
SendMessage:
ChannelID: webhook-erp
ContentMode: full
OnSuccess: true
Interval: */15 * * * * (every 15 minutes)Example 3: Webhook Payload in "full" Mode
{
"export": {
"job_name": "ERP-Sync",
"status": "success",
"target_path": "C:\\Export\\..."
},
"document": {
"obj_id": 12345,
"guid": "(A1B2C3...)",
"filename": "Invoice_2024-001.pdf",
"path": "¶Archive¶2024¶Invoices",
"mask_name": "Invoice",
"owner_name": "Admin",
"idate": "2024-03-15T10:30:00Z",
"version": 3
},
"index_fields": {
"INVOICE_NR": "2024-001",
"VENDOR": "Supplier Inc.",
"AMOUNT": "1,234.56"
},
"map_fields": {
"PAYMENT_TERMS": "Net 30"
},
"custom_data": {
"tenant": "001"
}
}Example 4: Webhook Payload in "status" Mode
{
"subject": "ELO Export: Invoice_2024-001.pdf",
"body": "Document exported successfully",
"severity": "success",
"metadata": {
"job_name": "Invoices-Daily",
"obj_id": "12345",
"filename": "Invoice_2024-001.pdf",
"target_path": "C:\\Export\\Invoices\\...",
"status": "success",
"mask_name": "Invoice"
}
}Export Modes Overview
| Mode | Use Case |
|---|---|
| Filesystem + Webhook | Export to disk AND notify external system |
| Filesystem only | Classic file export without notification |
| Webhook only | MetadataOnly=true + Webhook — no filesystem export, metadata only to API |
| MetadataOnly + Filesystem | Only .json/.niqcd metadata to disk, no file |