eliDocs
Integrations

sevDesk

A self-hostable worker that validates and converts the e-invoices sevDesk generates, as an independent authority-pinned check before they go out.

Listing pending

sevDesk generates XRechnung and ZUGFeRD, then trusts its own output. The beliq sevDesk worker adds an independent check: it reads the invoices sevDesk produced, validates them against authority-pinned rules for a second opinion sevDesk does not give, and converts them when a counterparty needs a different format (for example ZUGFeRD to Peppol BIS UBL). It runs on your own infrastructure, so your sevDesk token never leaves your environment.

What it does

On each run the worker lists sevDesk invoices since a stored high-water-mark, pulls each invoice’s XML, runs beliq convert to every configured target format, runs beliq validate, and classifies each as valid, invalid, or error. It exits non-zero when any invoice fails, matching the CLI and Action exit-code contract, and can POST a report to a webhook.

Configure

The worker is configured entirely through the environment:

Variable Description
SEVDESK_API_TOKEN Your sevDesk API token (Settings → Advanced → API)
BELIQ_API_KEY Your Beliq API key
SEVDESK_TARGET_FORMATS Comma-separated convert targets; empty means validate only
SEVDESK_NOTIFY_WEBHOOK Optional URL for a JSON poll report

Run

docker run --rm \
  -e SEVDESK_API_TOKEN="..." \
  -e BELIQ_API_KEY="blq_..." \
  -e SEVDESK_TARGET_FORMATS="peppol-bis" \
  ghcr.io/beliq-eu/beliq-sevdesk --once

Drop --once to run as a polling daemon; the repository ships docker-compose, systemd, and GitHub Actions cron examples.

Boundary

The worker only validates and converts. It does not re-generate the invoice (sevDesk does that) or send it: transmission over Peppol or e-mail stays with sevDesk and your access point.

See also

  • CLI: the validate and convert commands this worker calls.
  • Convert reference: format families and lossy-path handling.