Using the sevDesk API to extend bookkeeping functionality

Passionate about software development and architecture, web and cloud technologies, as well as game development.
Search for a command to run...

Passionate about software development and architecture, web and cloud technologies, as well as game development.
No comments yet. Be the first to comment.
Why CDKTF was my favorite IaC tool

Less Code, Faster Iteration: AI and Smarter Tools Accelerate Productivity in Modern Web Development

Understanding how executable binaries actually work

Learning how the IMAP protocol actually works

I recently had a discussion with a colleague about whether we should introduce a character count limit per line into our style guide. He believes it enhances readability, while I argue that readability should be facilitated by the editor or IDE, not ...


sevDesk is an accounting cloud-software (SaaS), which offers a simple and intuitive user interface, but allows to book complex processes as in common accounting software. There is other accounting-SaaS too (and I tested most of the big ones), but sevDesk has the most features AND they have a very well-designed REST API which allows you to do anything (and more!), which can be done by the web-based user interface.
Using the sevDesk-API, you can automate every accounting task.
In this introduction, we are going to create a simple Python tool that returns all unpaid invoices.
To get your API token, go to Settings > User (in German: Einstellungen > Benutzer) and click on your user — you will find the token below the language setting. It’s recommended to create an extra user.

User settings in sevDesk, showing the API token.
At this point, we can finally start coding. The API-endpoints are documented here, you can even enter your token and play around with the API.
This is the Python code to get all unpaid invoices:
Now you have your basic setup and you could start implementing your custom logic, like reminding your customers to pay their invoices.
For the sake of simplicity, my code example doesn’t handle any errors.
Of course, you can use any other programming language for this too. I just use Python for prototyping API-logic, because the interaction with JSON and object-manipulation is great.
Feel free to share your sevDesk-projects with me, I hope to see lots of tools on GitHub.
This was a very simple example, but you can do a lot more with the API, e.g.: