Von der Vision zur Realität: Meine automatisierte Buchhaltung lebt!
Der erste Streich: n8n trifft auf meine Rechnungsflut
Erinnert ihr euch noch an meine Ankündigung aus dem letzten Artikel, dass ich meine Buchhaltung automatisieren wollte, weil ich wirklich sehr, sehr schlecht darin bin, meine Belege pünktlich einzusortieren? Nun, ich habe es tatsächlich getan, und der Weg dorthin war eine Achterbahnfahrt der Gefühle, gespickt mit technischen Durchbrüchen und Momenten, in denen ich mir an den Kopf fasste und dachte, warum habe ich das nicht schon vor Jahren gemacht.
Mein erster Ansatz führte mich zu n8n, diesem wunderbaren visuellen Workflow-Tool, das ich bereits in meiner Infrastruktur hatte, kombiniert mit Qdrant als Vektordatenbank und OpenAI für die eigentliche Intelligenz dahinter. Die Idee war simpel und gleichzeitig elegant: E-Mails mit Rechnungen kommen rein, werden verarbeitet, verstanden und kategorisiert, und am Ende landet alles sauber sortiert bei meinem Steuerberater. Was bei E-Mail-Rechnungen auch fantastisch funktionierte, muss ich sagen, denn die Erkennung war nahezu perfekt und ich konnte förmlich zusehen, wie sich mein Rechnungschaos in geordnete Bahnen lenkte.
Aber dann kam die Realität und klopfte an meine Tür, oder besser gesagt, sie kam in Form von Webportalen daher, denn wer von euch kennt das nicht: ChatGPT schickt seine Rechnungen nicht per Mail, American Express hat sein eigenes Portal, und überhaupt scheint jeder Anbieter heutzutage zu glauben, dass ein eigenes Kundenportal der Gipfel der Benutzerfreundlichkeit sei. Der Versuch, diese Rechnungen automatisiert abzuholen, gestaltete sich als deutlich schwieriger als gedacht, und ich musste feststellen, dass die schöne neue Welt der Automatisierung noch ihre Grenzen hat, zumindest wenn man sich auf konventionelle API-Ansätze verlässt.
Und dann war da noch diese Sache mit der DSGVO, die mir zunehmend Kopfschmerzen bereitete, denn so sehr ich die Qualität von OpenAI schätze, so wenig konnte ich es mit meinem Gewissen vereinbaren, sensible Buchhaltungsdaten meiner Firma und meiner Kunden an amerikanische Server zu schicken, selbst wenn die Wahrscheinlichkeit eines Datenmissbrauchs gering sein mag.
Die Evolution: Eine lokale Lösung muss her
Was wäre, wenn ich euch sage, dass ich daraufhin einen kompletten Kurswechsel vollzogen habe und statt eines Server-basierten Systems eine vollständige macOS-App entwickelt habe, die alles lokal auf meinem Mac erledigt? Genau das habe ich getan, und es war eine der besten Entscheidungen in diesem ganzen Automatisierungsprojekt, denn plötzlich waren alle meine DSGVO-Bedenken wie weggeblasen und ich spare mir obendrein noch die monatlichen Serverkosten, was bei der aktuellen Wirtschaftslage auch nicht zu verachten ist.
Das Herzstück dieser neuen Lösung bildet LM Studio mit Llama 3.3, einem beeindruckenden lokalen Large Language Model, das zwar nicht ganz an die Qualität von GPT-4 herankommt, aber für die Aufgabe der Rechnungserkennung und -kategorisierung mehr als ausreichend ist. Die E-Mail-Rechnungen funktionieren auch hier wieder einwandfrei, was mich in meiner Überzeugung bestärkte, dass der lokale Ansatz der richtige Weg ist.
Eine Sache, die ich von Anfang an richtig gemacht habe und die sich jetzt auszahlt, ist die Entscheidung, die meisten Tools in Docker Containern laufen zu lassen, denn das gewährleistet nicht nur die Portabilität der gesamten Lösung, sondern verhindert auch, dass mein Host-System mit allerlei Dependencies und Konfigurationen überfrachtet wird, was jeder kennt, der schon mal nach Monaten versucht hat zu verstehen, warum dieser oder jener Service auf dem System läuft und wofür er eigentlich gut war.
Aber jetzt kommt der Teil, der mich selbst überrascht hat und bei dem ich förmlich spüren konnte, wie sich neue Möglichkeiten vor mir auftaten: Playwright MCP für die Browserautomatisierung. Ich muss gestehen, dass ich anfangs skeptisch war, ob das wirklich funktionieren würde, aber was dann passierte, hat meine kühnsten Erwartungen übertroffen, denn plötzlich konnte mein System tatsächlich meine normale Browsersession nutzen, sich bei ChatGPT, American Express und all den anderen Portalen einloggen, ohne dass ich irgendwelche Credentials hinterlegen oder mich mit Zwei-Faktor-Authentifizierung herumschlagen musste. Das System nutzt einfach meine bestehende Session, navigiert durch die Webseiten, lädt die Rechnungen herunter und verarbeitet sie, als würde ich es selbst machen, nur eben vollautomatisch und ohne mein Zutun.
Das Tüpfelchen auf dem i: Ein System, das mitdenkt
Die Integration mit Datev und Lexware für den Batch-Upload der Belege war dann fast schon ein Kinderspiel im Vergleich zu den vorherigen Herausforderungen, und ich konnte endlich meinem Steuerberater die lang versprochene Erleichterung verschaffen, die ich ihm schon so lange schuldig war.
Aber ich wäre nicht ich, wenn ich es dabei belassen hätte, denn parallel dazu habe ich noch ein Custom Dashboard mit Next.js entwickelt, das nicht nur hübsch aussieht (auch wenn das natürlich zweitrangig ist), sondern vor allem ein ausgeklügeltes Tagging-System mitbringt. Warum das wichtig ist? Nun, ich jongliere nicht nur mit der webiator GmbH, sondern habe auch noch andere unternehmerische Aktivitäten und natürlich meine privaten Ausgaben, und all das muss sauber getrennt werden. Das Schöne daran ist, dass das System mit der Zeit lernt, welche Rechnung zu welchem Bereich gehört, sodass ich mittlerweile kaum noch manuell eingreifen muss und die Zuordnung fast immer automatisch korrekt erfolgt.
Meine macOS-App im Einsatz: 60 Rechnungen automatisch erkannt, kategorisiert und exportiert – ohne dass ich einen Finger rühren musste.
Was habe ich aus diesem ganzen Projekt gelernt? Eine ganze Menge, würde ich sagen, und ich möchte diese Erkenntnisse gerne mit euch teilen, denn sie könnten auch für eure eigenen Automatisierungsprojekte wertvoll sein.
Meine ehrlichen Erkenntnisse aus dem Projekt
n8n hat sich als fantastisches Tool für Prototyping erwiesen, und ich werde es definitiv weiterhin nutzen, wenn es darum geht, Kunden oder interessierten Kollegen schnell und visuell zu zeigen, was möglich ist. Die Drag-and-Drop-Oberfläche macht komplexe Workflows greifbar und verständlich, auch für Menschen ohne tiefgreifende technische Kenntnisse, und das ist in der Kommunikation Gold wert.
RAG (Retrieval-Augmented Generation) hat sich als die eigentliche Superkraft herauskristallisiert, wenn es um maschinelles Lernen mit firmeneigenen Daten geht, denn die Kombination aus Vektordatenbank und LLM ermöglicht es, ein wirklich personalisiertes System zu schaffen, das den spezifischen Kontext meines Unternehmens versteht und darauf basierend Entscheidungen trifft.
Qdrant als Vektordatenbank ist technisch gesehen schnell und zuverlässig, aber ich muss ehrlich sagen, dass die User Experience noch deutlich Luft nach oben hat, weshalb ich nach einiger Zeit frustriert zu Supabase gewechselt bin. Ja, Supabase ist für diesen Use Case eigentlich ein kompletter Overkill, das gebe ich zu, aber allein aus perspektivischen Gründen und wegen des wirklich angenehmen Interfaces war es die richtige Entscheidung, und ich werde es definitiv für viele kommende Projekte einsetzen, denn manchmal ist es besser, ein Tool zu verwenden, das vielleicht überdimensioniert ist, mit dem man aber gerne arbeitet, als sich täglich über eine schlechte UX zu ärgern.
Aber der absolute Star dieser ganzen Unternehmung ist Playwright, und ich kann gar nicht genug betonen, wie beeindruckt ich von den Möglichkeiten bin, die sich durch die Browserautomatisierung eröffnen. Es ist, als hätte man plötzlich einen unsichtbaren Assistenten, der all die nervigen, repetitiven Aufgaben übernimmt, die man normalerweise selbst machen müsste, und das mit einer Zuverlässigkeit, die ich so nicht erwartet hätte.
Was kommt als Nächstes?
Mein nächstes Projekt ist bereits in Planung, und ich kann euch schon mal einen kleinen Hinweis geben: Es wird sich stark um die Kombination von KI und Browserautomatisierung drehen, allerdings diesmal mit einem anderen Fokus, denn während die Buchhaltungsautomatisierung nach innen gerichtet war und meine internen Prozesse optimiert hat, wird das nächste Projekt nach außen gerichtet sein. Automatisierte Kundengewinnung ist das Stichwort, und ich bin gespannt, wie weit ich die Grenzen des Machbaren verschieben kann, ohne dabei die persönliche Note zu verlieren, die im B2B-Bereich nach wie vor unerlässlich ist.
Ich werde natürlich wieder transparent über meine Erfahrungen berichten, über die Erfolge genauso wie über die Rückschläge, denn nur so können wir alle gemeinsam lernen und diese neue Technologiewelt verstehen und für uns nutzen. Also bleibt dran, es wird spannend, und wer weiß, vielleicht inspiriert euch meine Reise ja dazu, eure eigenen Automatisierungsprojekte anzugehen, denn wenn ich eines gelernt habe, dann dass der beste Zeitpunkt zum Anfangen gestern war, der zweitbeste aber heute ist.
Neugierig auf Automatisierung? Lasst uns darüber reden – Ich teile meine Erfahrungen mit n8n, Playwright und lokalen LLMs für DSGVO-konforme Lösungen.
Artikel teilen
KI-Integration ohne Risiko?
Lassen Sie uns darüber sprechen, wie ich Sie bei Ihrer digitalen Transformation unterstützen kann.
Starten Sie mit €99/Monat