Signierte Webhooks an n8n, Zapier oder Make — Rechnungs-Events lösen automatisch deine Workflows aus.
Zuletzt geprüft am
Pfeffersack ist eine n8n-kompatible Schweizer Buchhaltungs-Software mit signierten Outbound-Webhooks: sobald in Pfeffersack eine Rechnung erstellt oder bezahlt wird, geht ein HMAC-SHA256-signierter POST-Request an deinen n8n-Webhook-Trigger — typischerweise unter einer Sekunde. Kombiniert mit der Pfeffersack REST-API können n8n-Workflows Buchhaltungs-Daten auch abrufen oder schreiben (HTTP Request Node). Dieselbe Mechanik funktioniert auch mit Zapier und Make.
Jeder Punkt unten ist direkt im Pfeffersack-Code implementiert — keine geplanten Features, keine Ankündigungen.
Pfeffersack postet bei `invoice.created` und `invoice.paid` einen signierten JSON-Request an deine n8n-Webhook-URL — Trigger für Slack-/Telegram-Nachrichten, Google-Sheets-Eintragungen, CRM-Updates oder eigene Workflows.
Jede Lieferung trägt `X-Pfeffersack-Signature` (HMAC über `t.body`) und ein Unix-Timestamp. n8n verifiziert die Signatur und lehnt Requests älter als 5 Minuten ab — keine Man-in-the-Middle, kein Replay.
Zwei sofort einsetzbare n8n-Workflows als JSON-Download: «Rechnung bezahlt → Telegram-Push» und «Rechnung erstellt → Google-Sheet-Zeile». In n8n via «Import from File» öffnen — fertig.
Über deinen persönlichen API-Key (Bearer-Token) liest und schreibt n8n Rechnungen, Belege, Buchungen und Kunden via HTTP Request Node. So baust du auch bidirektionale Workflows — z.B. Kunden-Daten aus deinem CRM in Pfeffersack anlegen.
Schlägt die Sofort-Auslieferung fehl (Empfänger down, Netzwerk-Blip), bleibt das Event in der Outbox. Ein Klick auf «Synchronisieren» retried alle Pending-Lieferungen. Nach 5 Versuchen wird das Event als final-failed markiert; nach 20 Fehlern wird die Subscription automatisch deaktiviert.
Nur `https://`-URLs sind erlaubt, interne Adressen (RFC 1918, Loopback, Link-Local, Cloud-Metadata) werden vor jedem Versuch geblockt. Beim Secret-Rotieren bleibt das alte Secret 24 Stunden parallel gültig — du tauschst es in n8n ohne Lieferungs-Ausfälle.
Unter der Haube ist die Integration generisch: jede Plattform, die einen Webhook-Trigger und HMAC-SHA256 versteht, kann Pfeffersack-Events konsumieren — Zapier-Catch-Hook, Make-Webhook-Modul oder n8n-Webhook-Trigger nutzen denselben Endpoint.
Gesamtaufwand: 3 Min + 1 Min + 2 Min + 3 Min + 1 Min + 15 Min
In n8n (Cloud oder Self-Hosted) einen neuen Workflow erstellen, einen «Webhook»-Trigger einfügen und die Production-URL kopieren. Die URL muss von aussen erreichbar sein (`https://...`).
Im Pfeffersack-Dashboard «Profil → Integrationen → n8n & Automatisierung» (Bereich «Entwickler») öffnen und auf «Webhook hinzufügen» klicken.
Den kopierten n8n-Webhook-Link einfügen, einen sprechenden Namen vergeben und Events auswählen — empfohlen sind beide produktiven Events `invoice.created` und `invoice.paid`. `webhook.test` ist nur für den Test-Button.
Pfeffersack zeigt das HMAC-Secret einmalig an. In n8n als Credential oder Workflow-Variable speichern — die Signatur-Verifikation prüft `HMAC_SHA256(secret, t + "." + rawBody)`. Beispiel-Code für Node.js und PHP in der Webhook-Doku.
In Pfeffersack auf «Test senden» drücken — Pfeffersack feuert ein `webhook.test`-Event an deinen n8n-Workflow. Status-Code, Antwortzeit und Body landen im Lieferprotokoll.
Entweder eigenen Workflow zusammenklicken oder einen der mitgelieferten Templates (Telegram bei Bezahlung / Google Sheet bei neuer Rechnung) als JSON importieren. Bei `invoice.paid` reichen die Payload-Felder `invoice_number`, `amount`, `currency` direkt — vollständige Daten via Pfeffersack-API mit API-Key nachladen.
Hilfe beim Setup?
Unser Team unterstützt dich kostenlos beim Verbinden von n8n.
Zugangsdaten werden vor dem Speichern AES-GCM-verschlüsselt. Der Schlüssel liegt ausserhalb der Datenbank.
Pfeffersack fordert nur Lese-Berechtigungen an. Dein n8n-Account bleibt unverändert.
Buchhaltungsdaten und Tokens liegen auf Schweizer Infrastruktur. Kein Daten-Abfluss ins Ausland.
Alle Workflows, die auf «neue Rechnung» oder «Rechnung bezahlt» reagieren sollen. Beispiele aus der Praxis: Telegram- oder Slack-Push an dein Team beim Zahlungseingang, automatische Google-Sheets-Liste aller offenen Rechnungen, CRM-Status auf «paid» setzen (HubSpot, Pipedrive, Notion), Trustpilot-Review-Anfrage 7 Tage nach Zahlung versenden, Buchhalter-Mailbox-Inbox mit neuen Rechnungs-PDFs füttern, Mahnungs-Trigger anstossen oder Affiliate-Provisionen errechnen. Über die Pfeffersack-REST-API lassen sich n8n-Workflows auch zum Schreiben bauen — z. B. Kunden aus deinem CRM nach Pfeffersack importieren oder Belege via HTTP Request Node anlegen.
Drei Event-Typen: `invoice.created` (sobald eine neue Rechnung in Pfeffersack angelegt wird — GmbH oder Einzelunternehmen), `invoice.paid` (sobald eine Rechnung als bezahlt markiert wird, mit `paid_at`-Timestamp) und `webhook.test` (für den manuellen Test-Button). Payloads enthalten nur IDs und eine Minimal-Zusammenfassung (Rechnungsnummer, Betrag, Währung) — vollständige Daten holst du über die REST-API. Weitere Event-Typen (Belege, Buchungen, Kunden) sind in Vorbereitung.
Ja, sofern dein n8n unter einer öffentlich erreichbaren `https://`-Domain läuft (z. B. via Caddy-/Traefik-Reverse-Proxy mit gültigem TLS-Zertifikat). Pfeffersack blockiert aus Sicherheitsgründen interne Adressen, Loopback (`127.0.0.1`), Link-Local und Cloud-Metadata-Endpunkte — der Webhook-Empfänger muss aus dem Internet auflösbar sein. n8n Cloud erfüllt das automatisch.
Im Workflow nach dem Webhook-Trigger einen «Function» oder «Code»-Node einfügen, der die Header-Werte aus `X-Pfeffersack-Signature` parst (`t=...,v1=...`), den Body als rohen String liest (nicht JSON-geparst!) und `HMAC_SHA256(secret, t + "." + rawBody)` berechnet. Wenn die berechnete und gelieferte Signatur timing-safe matchen UND `|now - t| <= 300s` ist, ist der Request legitim. Vollständige Code-Beispiele für Node.js und PHP findest du unter pfeffersack.ch/docs/webhooks.
Pfeffersack speichert das Event in einer Outbox (Transactional-Outbox-Pattern). Die UI zeigt «X Lieferungen ausstehend» mit einem «Synchronisieren»-Knopf — ein Klick retried alle Pending-Events. Nach 5 fehlgeschlagenen Versuchen wird ein Event als endgültig fehlgeschlagen markiert, nach 20 aufeinanderfolgenden Fehlern wird die Subscription automatisch deaktiviert (und du bekommst einen Hinweis im Dashboard). Du reaktivierst sie nach dem Fix mit einem Klick — der Fehlerzähler wird dabei zurückgesetzt.
Ja. Über «Secret rotieren» generierst du jederzeit ein neues Secret. Während einer 24-Stunden-Grace-Period sendet Pfeffersack jede Lieferung mit beiden Signaturen (alt + neu) — du tauschst den Schlüssel in n8n in Ruhe aus, ohne dass auch nur eine Lieferung verloren geht. Nach 24 Stunden wird das alte Secret automatisch ungültig.
Die Webhook-Integration ist in allen kostenpflichtigen Pfeffersack-Abos (ab CHF 5/Monat im Jahresabo) für Einzelunternehmen und GmbH-Kunden enthalten — ohne Zusatzgebühr. Für reine «privat»-Accounts ist die Integration nicht freigeschaltet, weil sie auf Buchhaltungs-Events (Rechnungen) basiert. Auf Seite von n8n entscheidest du selbst: n8n Cloud oder Self-Hosted.
Ja. Unter der Haube ist die Integration generisch — jede Plattform, die einen Webhook-Trigger und HMAC-SHA256-Verifikation versteht, kann Pfeffersack-Events konsumieren. In Zapier verwendest du den «Catch Hook»-Trigger, in Make das «Webhooks»-Modul. Die n8n-Branding-Tile im Pfeffersack-Dashboard ist Affordance — die Mechanik ist identisch.
Ja, über die Pfeffersack-REST-API. In n8n verwendest du den HTTP Request Node mit `Authorization: Bearer <api-key>` und sprichst die API-Endpunkte für Rechnungen, Belege, Buchungen und Kunden an. So baust du auch Inbound-Workflows: z. B. Kunden aus Pipedrive nach Pfeffersack synchronisieren, Belege aus einem Mail-Postfach in den Beleg-Posteingang werfen oder Time-Tracking-Einträge aus Clockify in Rechnungspositionen umwandeln.
Typischerweise unter einer Sekunde. Sobald in Pfeffersack ein Event entsteht (Rechnung erstellt / bezahlt), kickt der Publisher inline einen Fire-and-Forget-POST an n8n — kein Cron, kein Polling. Die User-Response-Zeit in Pfeffersack bleibt davon unberührt, weil die Auslieferung entkoppelt im Hintergrund passiert.
AES-GCM-verschlüsselt in der Pfeffersack-Datenbank auf Schweizer Infrastruktur (Flow Swiss). Der Entschlüsselungs-Schlüssel liegt ausserhalb der DB. Das Plaintext-Secret wird genau einmal nach der Erstellung bzw. Rotation angezeigt und danach nie wieder — speichere es sofort sicher in deinem n8n-Credential-Store.
Teste die Integration kostenlos. Ab CHF 5/Monat im Jahresabo — inklusive aller Integrationen, MWST-Abrechnung und Support auf Deutsch.