selectline

n8n node for SelectLine API integration

Package Information

Released: this month
Downloads: 0 weekly / 0 monthly
Latest Version: 2.0.1
Author: cotec it-systeme GmbH

Available Nodes

Documentation generating…

Documentation

@cotec-it-systeme/n8n-nodes-selectline

An n8n community node that exposes the SelectLine Mobile API (the "slmobileApi")
ERP/CRM REST API as a single, comprehensive n8n node.

The UI is in German — resource names, operation names and field labels follow SelectLine's own
terminology, so the node reads the way the ERP does.

📖 Full documentation: https://docs.cotec-it-systeme.de/n8n-nodes/selectline-node/

This page ships inside the package and is therefore frozen at the version you installed. The
documentation site is updated independently — check it for per-resource references, worked
examples and anything added since this release.

Features

  • Full API coverage — all 286 user-facing SelectLine Mobile API endpoints across 39
    resources (Kunden, Lieferanten, Belege, Artikel, Buchhaltung, Produktion, Lager,
    Mahnwesen, E-Mail via Microsoft Graph, …), against the v1 revision of the SelectLine
    Mobile API spec. Login is handled transparently; logout additionally as an explicit
    Konto → Abmelden operation.
  • Dual input mode — every create/update body can be entered either as structured UI
    fields or via a raw-JSON editor (a per-operation „JSON-Eingabe nutzen“ toggle, pre-filled
    with a JSON skeleton of the expected body).
  • Robust error handling — SelectLine ApiResponse, ProblemDetails ({Type,Title,Detail})
    and binary error bodies are decoded into readable n8n errors (message + response code +
    details). Honors Continue On Fail.
  • Automatic pagination — list operations transparently page through all results using the
    correct per-endpoint …ListFilter namespace.
  • Session handling — every POST /Login opens a session (an ERP instance) on the
    SelectLine server that never expires on its own, so the node keeps exactly one: sessions
    are cached per username:appKey, parallel executions share a single login, and a session
    that is replaced (401/403 re-auth, expiry) or left idle for longer than the configured
    Sitzungs-Timeout is closed with POST /Logout. Transient 5xx/network errors get a
    bounded retry.
  • Standard-Mandant — the tenant (plus optional year / WaWi token) configured in the
    credential is applied to every new session via PUT /Users/Current, and sessions are cached
    per tenant. A workflow can still switch tenant mid-run with Nutzer → Aktuellen Benutzer
    aktualisieren
    : that switch applies to the remaining nodes of that workflow execution
    only
    , so reading from another tenant and switching back never moves a parallel execution
    off its own tenant.
  • Binary output — the PDF operations (Beleg drucken, Mahnungs-PDF, Handlager-PDF)
    return the PDF as binary data; any operation that produces a file attaches it to the item
    as binary data.
  • File upload — the camt-Bankauszug-Import and the Microsoft-Graph e-mail operations
    send binary input data as multipart/form-data.

Requirements

  • n8n 2.0+ (the node targets n8n-workflow ^2.x and uses NodeConnectionTypes).
  • Node.js >= 20.19.

Installation

Self-hosted n8n, via the UI:

  1. Settings → Community Nodes → Install
  2. Enter @cotec-it-systeme/n8n-nodes-selectline
  3. Accept the risk prompt and install; n8n restarts the node loader itself.

The package has no runtime dependencies — it ships as compiled JavaScript only.

Targets self-hosted n8n. This is a commercial, non-MIT package and therefore not an n8n
verified community node — verification requires an MIT licence and an English-only interface —
so it is not discoverable from the in-app nodes panel; install it by name as above. See
License.

Credentials

Create a SelectLine API credential with:

Field Description
Lizenzschlüssel your license key for this node, issued by cotec it-systeme (see License)
Base URL e.g. https://slmobile.example.com/slmobileApi
Username / Password SelectLine API login
App Key SelectLine application key
Standard-Mandant (Datenbankname) tenant every session is pinned to, e.g. SL_MMyTenant — read it from Mandanten → Get Many, field Name; empty = the server's default tenant
Standard-Jahr (Datenbankname) optional year applied with the tenant (accounting routes need an active year)
WaWi-Benutzertoken optional, applied with the tenant
Sitzungs-Timeout (Minuten) idle time after which an unused SelectLine session is logged out (default 15, 0 = never)
Allow Unauthorized Certs enable only for self-signed dev servers

Usage

  1. Add the SelectLine API node.
  2. Choose a Ressource (e.g. Kunden) and an Operation (e.g. Alle Kunden abrufen).
  3. Fill the operation's fields, or toggle JSON-Eingabe nutzen to paste a raw JSON body.
  4. List operations expose pagination/search/sort/filter via the Listenoptionen /
    Zusätzliche Felder collections.

License

Source-available, commercial. © cotec it-systeme GmbH — see LICENSE.md
for the full EULA (German, authoritative).

Installing and evaluating the package is free; running it requires a license key from
cotec it-systeme, entered in the credential's Lizenzschlüssel field. To purchase a licence,
contact support@cotec-it-systeme.de.

License verification (what the node phones home)

Transparency notice: on execution the node validates the configured license key against
cotec's license server at https://license.cotec-it-systeme.de/api/licenses/verify.

  • What is sent: the license key, the product id (n8n-nodes-selectline), the client
    version, and a non-reversible instance fingerprint (a truncated SHA-256 hash of the
    hostname and the SelectLine base URL, used for seat counting). No personal data, no
    workflow data, and no SelectLine credentials or payloads are ever transmitted.
  • How often: verdicts are cached in memory — roughly one request per license key per
    hour per running n8n process (plus a re-check after each n8n restart).
  • Outage behaviour: responses are Ed25519-signed and verified locally. If the license
    server is unreachable, the node keeps working within a 14-day grace window from
    the last successful validation, so a cotec outage never blocks your workflows. Only a
    signed negative verdict (invalid/expired/revoked key) or an exhausted grace window
    blocks execution, with a German error message explaining why.
  • Overrides: COTEC_LICENSE_URL (alternate server, e.g. staging), COTEC_LICENSE_PUBKEY
    (alternate signing key; several PEM blocks may be concatenated so the node trusts each of them
    during a key rotation) and SELECTLINE_DEBUG=1 (log license decisions to the n8n execution
    log). The COTEC_* variables are vendor-wide — one value configures every cotec node on the
    same host. The older SELECTLINE_LICENSE_URL / SELECTLINE_LICENSE_PUBKEY names still work.

Support

Commercial support and licensing: support@cotec-it-systeme.de — cotec it-systeme GmbH.

Please include the node version, your n8n version and the German error message shown in the
execution log; the SelectLine response code (e.g. 00-002) is the most useful single detail.

Discussion