Announcing n8n-nodes-buchpilot -- Community Nodes for sevDesk & Lexoffice (German Accounting)

Hi everyone!

I just published n8n-nodes-buchpilot — community nodes that bring sevDesk and Lexoffice (the two most popular accounting tools in Germany/Austria/Switzerland) as native nodes into n8n.

What’s included

sevDesk Nodes

  • sevDesk (Action Node): Contacts, Invoices, and Vouchers — full CRUD (Create, Get, GetMany, Update, Delete)
  • sevDesk Trigger (Polling): Automatically start workflows when new contacts, invoices, or vouchers appear

Lexoffice Nodes

  • Lexoffice (Action Node): Contacts, Invoices, Vouchers, and Quotations — full CRUD
  • Lexoffice Trigger (Webhook): Start workflows on Lexoffice events (RSA-SHA512 signed callbacks)

Installation

Settings > Community Nodes > Install > n8n-nodes-buchpilot

That’s it. The nodes appear under “sevDesk” and “Lexoffice” in the node panel.

Why I built this

If you run a business in the DACH region (Germany, Austria, Switzerland), chances are you use sevDesk or Lexoffice for accounting. Until now, connecting them to n8n meant building custom HTTP Request nodes for every API endpoint — dealing with auth, pagination, rate limits, and data mapping manually.

BuchPilot wraps all of that into proper n8n nodes with dropdowns, credential management, and error handling built in.

Example use cases

  1. Contact Sync: New contact in sevDesk → automatically created in Lexoffice
  2. Invoice Booking: New invoice in sevDesk → booked as voucher in Lexoffice
  3. Weekly Report: Every Monday, get an email with all open and overdue invoices
  4. Payment Reminders: Filter overdue invoices and trigger reminder emails

Links

Feedback welcome! Especially from anyone using sevDesk or Lexoffice.

finally, a proper integration for the two main accounting tools in the DACH region. the webhook-based trigger with signed callbacks is the right call — polling would have been easier to implement but this makes the automation actually reactive. going to test this for invoice sync this week.

Thanks Benjamin! You nailed the design rationale — the polling trigger is there because it works behind firewalls without a public URL (useful for self-hosted n8n setups), but the Lexoffice webhook trigger is the right choice whenever you can expose an endpoint.

For invoice sync specifically, the Lexoffice trigger fires on both invoice.created and invoice.status.changed, so you can react when a new invoice appears AND when it gets marked as paid. The sevDesk side uses polling right now (sevDesk does not support webhooks), so expect up to 60s latency there.

Let me know how the test goes — happy to help with field mapping or error handling if you run into anything.