n8n-nodes-sealdoc
v0.5.0
Published
n8n community node for SealDoc — convert documents to PDF/A-3, render Markdown/HTML directly to sealed PDFs, generate Factur-X 1.0 invoices from JSON, validate Factur-X / ZUGFeRD invoices, run Peppol-Ready checks, and produce PDF/UA-1 (ISO 14289-1) access
Maintainers
Readme
n8n-nodes-sealdoc
n8n community node for SealDoc — EU-sovereign compliance infrastructure. Convert any document to PDF/A-3, render Markdown/HTML directly to sealed PDFs, generate Factur-X invoices from structured JSON, validate Factur-X / ZUGFeRD invoices, and run Peppol-Ready checks.
Operations
| Resource | Operation | Auth | Purpose |
|----------|-----------|------|---------|
| Job | Create | API key | Convert an existing file (PDF, Word, Excel, PowerPoint, image) to PDF/A-3. Returns a jobId. |
| Job | Get | API key | Fetch the conversion result by jobId: status, download URL, evidence-pack metadata. |
| Document | Generate | API key | Render Markdown or HTML directly to PDF/A-3 in one call — no separate upload step. Optional RFC 3161 timestamp + evidence pack. |
| Invoice | Generate | API key (Enterprise) | Render a tenant-supplied JSON invoice (seller / buyer / lines) to Factur-X 1.0 BASIC PDF/A-3. Seller VAT must match the tenant's VAT. |
| Validator | Check | Anonymous (IP rate-limited) | Validate a Factur-X / ZUGFeRD invoice — returns verdict + per-finding detail. |
| Peppol Check | Check | Anonymous (IP rate-limited) | Check Peppol-Ready status by VAT number; cross-references the country mandate. |
Setup
- Generate an API key at app.sealdoc.eu/api-keys.
- In n8n: Credentials → New → SealDoc API, paste the key.
- Drop a SealDoc node in your workflow, pick a resource + operation.
Typical flows
Existing file → PDF/A-3
[Trigger: file dropped in folder]
→ [SealDoc · Job · Create] (uploads, returns jobId)
→ [Wait 5s]
→ [SealDoc · Job · Get] (fetches result)
→ [HTTP: download PDF/A-3 from result.downloadUrl]
→ [Send to accounting / archive]Data row → sealed PDF (no upload step)
[Trigger: Airtable / DB / webhook row]
→ [Set: build markdown report from row fields]
→ [SealDoc · Document · Generate] (format=markdown, content=...)
→ [SealDoc · Job · Get] (jobId from previous step)
→ [HTTP: download PDF/A-3 from result.downloadUrl]The Document resource always sanitizes tenant-supplied HTML against the
ADR-0013
allowlist — script, iframe, style, external img, and CSS
url(...) are stripped server-side. Pass an Idempotency-Key if your
workflow may retry the same payload.
Billing webhook → Factur-X invoice
[Trigger: Stripe / Mollie / CRM webhook]
→ [Set: map customer + line items into seller/buyer/lines]
→ [SealDoc · Invoice · Generate] (Idempotency-Key = stripe_event_id)
→ [SealDoc · Job · Get]
→ [HTTP: download Factur-X PDF/A-3 from result.downloadUrl]
→ [Send to customer / archive in DMS]The Invoice resource enforces VAT-leading seller validation: the seller
VAT in the request must canonicalise to the tenant's own VAT
(Settings → Billing). Drift in seller name is logged as an audit warning
but never blocks. Set the Idempotency-Key header explicitly — invoices
deliberately do not auto-dedup on payload because two identical
recurring-billing payloads within 24h can both be legitimate.
See ADR-0014.
Rate limits
- Authenticated (Job · *): per-tenant plan limit (Developer 50/mo, Starter 1k/mo, Growth 5k/mo, Business 25k/mo, Enterprise custom).
- Anonymous (Validator · Peppol): 50 requests/IP/day across both tools combined.
Self-hosted Enterprise
The credential's Base URL and the public Base URL parameter both default to https://api.sealdoc.eu. Override only for self-hosted Enterprise deployments.
Support
- API reference: api.sealdoc.eu/docs
- OpenAPI spec: api.sealdoc.eu/openapi.json
- Tenant support (logged in): app.sealdoc.eu/support — file a ticket from your dashboard so we get the right context (tenant, plan, recent jobs).
- General questions / pre-signup: sealdoc.eu/contact
