sevDesk API Integrationen und PHP Plugin

Profile picture for user Lenard Kratky
sevDesk Oberfläche

Über sevDesk als Buchhaltungssoftware

Die Online-Buchhaltungssoftware sevDesk ermöglicht die bequeme Verwaltung und Automatisierung der eigenen Buchhaltung sowie Rechnungsstellung.

Folgende grundlegende Funktionen bietet sevDesk im Tarif „Buchhaltung“:

  • Angebote, Rechnungen und Mahnungen schreiben und versenden
  • Belege digitalisieren und zuordnen
  • Steuerberaterzugang
  • USt-Voranmeldung an das Finanzamt versenden

Der Funktionsumfang lässt sich im Tarif „Warenwirtschaft“ zudem noch um Lagerverwaltung, Lieferanten, Artikelzuordnung etc. erweitern.

Wir nutzen sevDesk zum Beispiel für unsere eigene Rechnungserstellung und sind damit sehr zufrieden. Der große Vorteil von sevDesk war für uns die Automatisierbarkeit, denn mit den vielen Integrationen und insbesondere der offenen API konnten wir die Buchhaltungssoftware individuell an unsere Online-Shops anbinden.

Integrationen für sevDesk

Es gibt bereits über 30 verschiedene sevDesk Integrationen für andere Plattformen, darunter Banken, Rechnungsprogramme, Online-Shops etc.

Für das PHP basierte CMS WordPress gibt es beispielsweise bereits fertige Lösungen. Bei anderen Plattformen müssen diese selbst mit Hilfe der API entwickelt werden.

WordPress Plugin für WooCommerce

Haben Sie einen Shop in WordPress mit WooCommerce aufgesetzt, können Sie das Plugin WooRechnung nutzen, um Ihre Website mit sevDesk zu verbinden und automatisch Rechnungen zu erstellen. Bis zu 10 Rechnungen im Monat ist das Plugin sogar kostenfrei, ansonsten kostet es entweder 10 Euro bis 300 monatliche Rechnungen oder maximal 25 Euro pro Monat ohne Limit.

WooRechnung unterstützt auch andere Buchhaltungssoftware wie Billomat, debitoor, easybill und FastBill. Die Lösung ist vergleichsweise kostengünstig, einfach und ermöglicht eine sehr schnelle Einbindung.

Drupal Modul

Für Drupal bzw. Drupal Commerce gibt es leider kein verfügbares Modul, das bereits eine sevDesk Anbindung implementiert hat.


Drupal Commerce mit sevDesk API Einstellungen

Ein eigenes custom Drupal Modul kann sevDesk mit Drupal Commerce über die API verknüpfen.

Eine Integration in Drupal lässt sich realisieren, indem dafür ein benutzerdefiniertes Modul programmiert wird. Für Drupal Commerce müssen dazu bei jeder Bestellung automatisch die Rechnungsdaten an sevDesk übertragen werden. Technisch geht dies mit einem EventSubscriberInterface, das auf erfolgreiche Bestellungen bzw. Bezahlungen reagiert. Aus der Bestellung werden dann alle relevanten Daten (Bestellnummer, Zeitpunkt, Kunde, Produkte, Preis) ausgelesen und per API an sevDesk weitergeleitet.

API für eigene PHP Plugins nutzen

Mit der sevDesk API gibt es eine offene und dokumentierte Schnittstelle, die per REST einfach angesprochen werden kann.

Anbindung über API Token

Voraussetzung für die Nutzung ist ein API Key, der aber bei jedem Tarif dabei ist und im Account problemlos eingesehen werden kann.

Mit dem Token wird einerseits der Account identifiziert, von dem die Daten geholt werden sollen und andererseits sichergestellt, dass keine Unbefugten die Daten lesen oder ändern können. Der Token muss also unbedingt gesichert gespeichert sein und darf von niemand anderem eingesehen werden! Wenn der API Key doch in falsche Hände geraten ist, muss dieser umgehend deaktiviert und ein neuer in sevDesk angelegt werden.

Ablauf der automatischen Rechnungsstellung

Eine mögliche Implementierung einer automatisierten Rechnungsstellung könnte folgendermaßen ablaufen:

  1. Bestellung wird im Online-Shop aufgegeben
  2. Bestelldaten werden ausgelesen und aufbereitet
  3. Produkte in sevDesk suchen und mit bestelltem Produkt abgleichen
  4. Kunde in sevDesk suchen bzw. anlegen
  5. Rechnungsnummer von sevDesk generieren lassen
  6. Rechnung mit Produkt-Id, Kunden-Id, sevDesk Account (Ansprechpartner) und Bestellinformationen anlegen
  7. Rechnung versenden
  8. Nach Bezahlung: Transaktion finden und mit Rechnung verknüpfen

Achtung

Viele Werte (z. B. Rechnungsnummern, Gesamtbetrag) werden nicht auf ihre Gültigkeit überprüft. Zudem werden diese ebenfalls nicht wie in der Benutzerfläche automatisch berechnet. Das Plugin muss also die Generierung und Berechnung solcher Nummern selbst vornehmen können.

PHP Implementierung

Da es sich bei der API um eine REST-Schnittstelle handelt, können natürlich auch alle anderen Programmiersprachen (JavaScript, Python, Java, ...) genutzt werden. Wir haben uns absichtlich hier auf PHP fokussiert, da viele CMS (WordPress, Drupal, Typo3) in dieser Sprache programmiert wurden.

Bei unserer Implementierung haben wir den PHP Client GuzzleHttp genutzt. Anschließend können GET Anfragen zum Suchen oder Abfragen von Rechnungen, Transaktionen oder Produkten genutzt werden. Verschiedene Eigenschaften können zum Filtern nach konkreten Ergebnissen genutzt werden, z. B. Transaktionen mit einer bestimmten Höhe eines spezifischen Kunden oder alle Rechnungen eines Zeitraums.

Für das Erstellen von Rechnungen wird eine POST-Anfrage mit einer Vielzahl an Parametern (Rechnungsnummer, Betrag, Adresse, Kontakt, Steuer, Produkte, Status, etc.) gesendet. Die Antwort erhält dann eine eindeutige ID des erzeugten Invoice Objektes, welche für weitere Anfragen genutzt werden kann. Beispielsweise kann diese Rechnung mit einer PUT Anfrage dann verbucht, also als bezahlt markiert, werden.

Fertiges Plugin für Ihr CMS

Wie Sie sehen, gibt es zwar einiges zu beachten, jedoch ist eine Integration in Ihr System problemlos möglich und wird letztlich sehr viel Zeit sparen sowie Fehler vermeiden, die bei der manuellen Bearbeitung und Rechnungserstellung sonst anfallen könnten.

Wenn Sie Unterstützung bei der Einbindung oder Programmierung eines Plugins bzw. Moduls mit API-Anbindung benötigen, kontaktieren Sie uns gerne über unser Kontaktformular oder schreiben Sie uns eine E-Mail an info@lakdev.de. Sie erhalten von uns anschließend eine konkrete Beratung auf Basis Ihres Systems sowie unserer bisherigen Erfahrung in der Einbindung von sevDesk.

Tags