LLMs zur Automatisierung und Verbesserung der Buchführung mit Beancount nutzen
Beancount ist ein Plain-Text-Doppelte-Buchführungssystem, das dank Large Language Models (LLMs) wie ChatGPT in letzter Zeit zugänglicher geworden ist. Technische Benutzer – darunter Geschäftsinhaber, Startup-Gründer, Ingenieure und Buchhalter – können LLMs nutzen, um mühsame Buchführungsaufgaben zu automatisieren und gleichzeitig die Flexibilität und Transparenz von Beancounts textbasiertem Hauptbuch beizubehalten. Dieser Bericht untersucht praktische Möglichkeiten, wie LLMs Beancount-Workflows rationalisieren können, einschließlich Transaktionskategorisierung, Anomalieerkennung, intelligente Vorschläge für Journaleinträge, Generierung von Einträgen aus natürlicher Sprache und Abgleich von Kontoauszügen. Beispiel-Prompts und -Ausgaben werden bereitgestellt, um diese Fähigkeiten zu veranschaulichen, zusammen mit Implementierungstipps, bestehenden Tools und einer Diskussion über Möglichkeiten und Einschränkungen.
Automatisierte Transaktionskategorisierung mit LLMs
Einer der zeitaufwendigsten Aspekte der Buchführung ist die Kategorisierung von Transaktionen (Zuordnung zu den richtigen Konten) basierend auf Deskriptoren wie Zahlungsempfänger, Memo oder Betrag. LLMs können dies erheblich beschleunigen, indem sie ihr Sprachverständnis und ihr breites Wissen nutzen, um geeignete Ausgaben- oder Einnahmekonten für jede Transaktion vorzuschlagen.
Wenn Ihr Beancount-Hauptbuch beispielsweise einen nicht kategorisierten Eintrag enthält:
2023-02-28 * "Amazon.com" "Laptop-Ständer, ... Portabler Notebook-Ständer..."
Assets:Zero-Sum-Accounts:Amazon-Purchases -14.29 USD
(fehlendes Ausgabenkonto)
Ein Prompt an ein LLM könnte nach einem geeigneten Ausgabenkonto zum Ausgleich der Transaktion fragen. In einem realen Fall kategorisierte ein LLM einen Amazon-Kauf eines Laptop-Ständers als Expenses:Office-Supplies:Laptop-Stand. In ähnlicher Weise ordnete es einen Scheibenwischerkauf Expenses:Car:Maintenance und ein Küchengerät Expenses:Kitchen:Appliances zu und leitete auf intelligente Weise Kategorien aus den Artikelbeschreibungen ab. Diese Beispiele zeigen, wie ein LLM den Kontext (den Zahlungsempfänger und die Beschreibung) verwenden kann, um ein geeignetes Beancount-Konto auszuwählen.
Moderne Tools wie Beanborg integrieren diese Funktion: Beanborg ist ein Open-Source-Beancount-Importeur, der Transaktionsdaten automatisch mit den richtigen Ausgabenkonten abgleichen kann. Es verwendet hauptsächlich eine regelbasierte Engine, unterstützt aber auch maschinelles Lernen und sogar ChatGPT für Kategorisierungsvorschläge. Mit Beanborg können Sie eine Bank-CSV importieren und die meisten Einträge automatisch klassifizieren lassen (z. B. könnte ein Zahlungsempfänger, der "Fresh Food Inc." enthält, von Regeln oder LLM-Unterstützung unter Expenses:Groceries kategorisiert werden).
So verwenden Sie ein LLM für die Kategorisierung: Sie könnten einem Modell wie GPT-4 einen Batch von Transaktionsbeschreibungen zuführen und es bitten, wahrscheinliche Konten zuzuweisen. Ein vorgeschlagener Workflow ist: Verwenden Sie GPT, um einen kleinen Batch von Ausgaben zu kategorisieren, korrigieren Sie alle Fehler manuell und verwenden Sie dann die integrierten Importer-Plugins von Beancount (wie smart_importer), um aus diesen Beispielen für zukünftige Transaktionen zu lernen. Dieser hybride Ansatz nutzt das breite Wissen des LLM für neue oder ungewöhnliche Transaktionen (z. B. um abzuleiten, dass PILOT Parallel Calligraphy Pens unter ein Kunstbedarf-Ausgabenkonto fallen sollten) und wendet diese Kategorisierungen dann konsistent in der Zukunft an.
Beispiel-Prompt & Antwort: Die folgende Tabelle zeigt, wie ein Benutzer mit einem LLM interagieren könnte, um Transaktionen zu kategorisieren:
| Benutzer-Prompt (Transaktionsdetails) | LLM vorgeschlagenes Konto/Eintrag |
|---|---|
Kategorisieren: "Starbucks - Latte $5.00 am 2025-04-01" | Vorschlag: Ausgabe – wahrscheinlich Expenses:Food:Coffee (Kaffeekauf) |
Kategorisieren: "Amazon.com - Bosch Heckscheibenwischer $11.60" | Vorschlag: Expenses:Car:Maintenance (Autoteilersatz) |
Kategorisieren: "Gehaltszahlung von ACME Corp $5000" | Vorschlag: Income:Salary (Gehaltseinkommen) |
Vollständiger Eintrag: 2025-07-10 * "Office Depot" "Druckertinte" Assets:Checking -45.00 USD | Fügt hinzu: Expenses:Office:Supplies 45.00 USD (gleicht den Eintrag aus) |
In diesen Beispielen greift das LLM auf allgemeines Wissen zurück (Starbucks ist Kaffee, Amazon-Autoteile beziehen sich auf Autowartung, ACME-Gehalt ist Einkommen), um das richtige Beancount-Konto vorzuschlagen. Es kann sogar einen Journaleintrag vervollständigen, indem es die fehlende Ausgleichsbuchung hinzufügt (im Fall von Office Depot, indem es ein Bürobedarf-Ausgabenkonto vorschlägt, um die Zahlung auszugleichen). Im Laufe der Zeit kann eine solche KI-gesteuerte Kategorisierung Zeit sparen und den manuellen Aufwand bei der Klassifizierung von Transaktionen reduzieren.
Anomalieerkennung und Duplikaterkennung
Über die Kategorisierung hinaus können LLMs helfen, Anomalien im Hauptbuch zu kennzeichnen – wie z. B. doppelte Einträge oder ungewöhnliche Ausgaben – indem sie Transaktionsbeschreibungen und -muster in einfachem Deutsch analysieren. Traditionelle Software kann exakte Duplikate über Hashes oder strenge Regeln erkennen (z. B. verwendet Beanborg einen Hash von CSV-Daten, um den doppelten Import derselben Transaktion zu verhindern). Ein LLM kann jedoch eine kontextbezogenere Überprüfung ermöglichen.
Sie könnten beispielsweise ein LLM mit einer Liste der letzten Transaktionen auffordern und fragen: "Sehen irgendwelche davon wie Duplikate oder ungewöhnliche Ausreißer aus?" Da LLMs sich durch Kontextanalyse auszeichnen, könnten sie feststellen, ob zwei Einträge dasselbe Datum und denselben Betrag oder sehr ähnliche Beschreibungen haben, und sie als potenzielle Duplikate kennzeichnen. Sie können auch Muster normaler Ausgaben erkennen und Abweichungen erkennen. Wie eine Quelle feststellt, "im Kontext eines Finanztransaktionsstroms kann ein LLM anormale Ausgabegewohnheiten erkennen" , indem er lernt, was typisch ist, und identifiziert, was nicht passt.
Beispiel für ungewöhnlichen Betrag: Wenn Sie normalerweise 30–50 Dollar für Kraftstoff ausgeben, aber plötzlich eine Kraftstofftransaktion 300 Dollar beträgt, könnte ein LLM dies als Anomalie hervorheben ("diese Kraftstoffausgabe ist zehnmal höher als Ihr übliches Muster"). LLMs identifizieren Anomalien, indem sie selbst subtile Abweichungen erkennen, die regelbasierte Systeme möglicherweise übersehen. Sie berücksichtigen den Kontext – z. B. das Timing, die Kategorie, die Häufigkeit – und nicht nur feste Schwellenwerte.
Beispiel für Duplikat: Angesichts zweier nahezu identischer Hauptbuchzeilen (gleicher Zahlungsempfänger und Betrag an nahen Datumsangaben) könnte ein LLM antworten: "Die Transaktionen am 2025-08-01 und 2025-08-02 über 100 Dollar an ACME Corp scheinen Duplikate zu sein." Dies ist besonders nützlich, wenn Daten aus mehreren Quellen eingegeben wurden oder wenn eine Bank eine Transaktion doppelt gebucht hat.
Während die LLM-gesteuerte Anomalieerkennung noch ein aufstrebendes Gebiet ist, ergänzt sie traditionelle Methoden, indem sie in natürlicher Sprache erklärt, warum etwas gekennzeichnet wird. Dies kann einem menschlichen Gutachter helfen, das Problem schnell zu verstehen und zu beheben (z. B. ein Duplikat bestätigen und einen Eintrag löschen oder eine Ausreißerausgabe untersuchen).
Intelligente Vorschläge zur Journalvervollständigung
LLMs können als intelligente Assistenten fungieren, wenn Sie Journaleinträge in Beancount erstellen oder korrigieren. Sie kategorisieren nicht nur Transaktionen, sondern schlagen auch vor, wie Teilstücke vervollständigt oder Ungleichgewichte korrigiert werden können. Dies ist, als hätte man eine intelligente Autovervollständigung für sein Hauptbuch.
Konto- und Betragsvorschläge: Angenommen, Sie geben eine neue Transaktion mit dem Zahlungsempfänger und dem Betrag ein, haben aber noch nicht entschieden, zu welchem Konto sie gehört. Ein LLM kann das Konto basierend auf der Beschreibung vorschlagen (wie in der Kategorisierung behandelt). Es kann auch sicherstellen, dass der Eintrag ausgeglichen ist, indem er die komplementäre Buchung liefert. Zum Beispiel könnte ein Benutzer schreiben:
2025-09-10 * "Cloud Hosting Inc" "Monatliche VM-Hostinggebühr"
Assets:Bank:Checking -120.00 USD
[Fehlende zweite Buchung]
Indem man das LLM fragt: "Was ist die andere Seite dieser Transaktion?", könnte es vorschlagen: Expenses:Business:Hosting 120.00 USD um den Eintrag auszugleichen und zu erkennen, dass eine Cloud-Hostinggebühr eine Geschäftsausgabe ist.
In der Beancount Google Group demonstrierte ein Benutzer dies, indem er einen Batch einseitiger Amazon-Kaufbuchungen an ChatGPT weiterleitete und ihn aufforderte, "kategorisierte Ausgabenbuchungen hinzuzufügen, um jede Transaktion auszugleichen". GPT füllte jede fehlende Buchung mit einem plausiblen Ausgabenkonto aus (wenn auch manchmal zu detailliert, wie das Erstellen eines Kontos nur für "Laptop-Ständer"). Dies zeigt, wie LLMs vollständige Journaleinträge entwerfen können, wenn unvollständige Daten vorliegen.
Verbesserung der Narration: LLMs können sogar helfen, die Narration oder Beschreibungen in Einträgen zu verbessern. Wenn eine Beschreibung zu kryptisch ist (z. B. ein interner Code aus einem Kontoauszug), könnten Sie das LLM bitten, sie für das Hauptbuch klarer zu schreiben. Da LLMs gut mit natürlicher Sprache umgehen, könnten sie "PUR CHK 1234 XYZ CORP" zur Klarheit in "Check #1234 to XYZ Corp" umwandeln.
Anleitung und Lernen: Im Laufe der Zeit könnte ein LLM in Ihren Bearbeitungs-Workflow integriert werden (möglicherweise über ein Editor-Plugin oder eine Fava-Erweiterung), um wahrscheinliche Vervollständigungen vorzuschlagen, während Sie eine Transaktion eingeben. Dies ist analog dazu, wie Code-Editoren KI verwenden, um Code-Vervollständigungen vorzuschlagen. In der Plain-Text-Buchhaltung kann das LLM aus Ihren bestehenden Kontonamen und vergangenen Einträgen schöpfen, um zu empfehlen, wie Sie den nächsten Eintrag abschließen können. Wenn Sie beispielsweise häufig Office Supplies aufzeichnen, wenn "Staples" im Zahlungsempfänger erscheint, kann das Modell dieses Muster lernen. Einige Benutzer berichten, dass die Vorschläge von ChatGPT nach einigen Beispielen verfeinert und dann mit einem Plugin wie smart_importer für zukünftige Transaktionen verallgemeinert werden können.
Zusammenfassend lässt sich sagen, dass LLMs ein "zweites Augenpaar" für Ihre Einträge bieten und Vervollständigungen und Korrekturen anbieten, die den Doppelte-Buchführung-Regeln von Beancount entsprechen.
Generieren von Beancount-Einträgen aus unstrukturierten Eingaben
Eine der vielleicht mächtigsten Anwendungen von LLMs ist die Übersetzung unstrukturierter Finanzinformationen – Rohtext, Quittungen oder Beschreibungen in natürlicher Sprache – in strukturierte Beancount-Einträge. Dies ermöglicht es Benutzern, Freiformdaten zu sprechen oder einzufügen und gültige Hauptbucheinträge als Gegenleistung zu erhalten.
Von natürlicher Sprache zu Eintrag: Sie können ein LLM mit einem Satz wie
"Ich habe am 10. Juli 2025 für 45 Dollar Bürobedarf (Druckertinte) von Office Depot gekauft und mit meinem Girokonto bezahlt."
auffordern.
Ein fähiges LLM wird dies interpretieren und etwas wie folgt produzieren:
2025-07-10 * "Office Depot" "Druckertinte"
Assets:Bank:Checking -45.00 USD
Expenses:Office:Supplies 45.00 USD
Es hat das Datum, den Zahlungsempfänger, die Narration, den Betrag identifiziert und die entsprechenden Konten erraten (Gutschrift des Bankvermögens, Belastung einer Bürobedarfsaufwendung). Dies verwandelt im Wesentlichen einen einfachen englischen Spesenbericht in einen korrekt formatierten Beancount-Journaleintrag. Jüngste Forschungen haben Beancount sogar als Zielformat verwendet, um das Verständnis von LLMs für die Doppelte-Buchführung zu bewerten, mit gemischten Ergebnissen (LLMs benötigen oft sorgfältige Aufforderungen, um die Syntax genau richtig zu machen). Mit einem gut formulierten Prompt oder wenigen Beispiele können Modelle wie GPT-4 jedoch normalerweise einen korrekten Eintrag für einfache Szenarien erstellen.
OCR zu Hauptbuch: LLMs mit Seh- oder OCR-Funktionen (wie GPT-4 mit Bildeingabe oder spezialisierte Tools) können noch einen Schritt weiter gehen: Nehmen Sie ein Bild einer Quittung oder ein PDF eines Kontoauszugs und extrahieren Sie Transaktionen daraus. Sie könnten ChatGPT beispielsweise ein Foto einer Quittung zeigen und nach einem Beancount-Eintrag fragen – das Modell würde das Datum, die Gesamtsumme, den Händler und vielleicht die Steuer analysieren und dann den Eintrag mit diesen Details ausgeben. Ein Leitfaden stellt fest, dass ChatGPT Daten aus Rechnungen oder Quittungen in "saubere, formatierte Tabellen umwandeln kann, die für die Buchhaltung geeignet sind", die Sie dann Beancount-Konten zuordnen könnten. In ähnlicher Weise kann ein CSV- oder Excel-Export an ein LLM mit Anweisungen zur Ausgabe von Beancount-Transaktionen weitergeleitet werden – in der Tat haben Benutzer GPT aufgefordert, "ein Python-Skript zu schreiben, um eine CSV-Datei zu analysieren und Beancount-Einträge auszugeben" , um Importe zu automatisieren.
Multi-Transaktionsverarbeitung: LLMs können auch Batch-Eingaben verarbeiten. Sie könnten eine Liste von Rohransaktionen (Datumsangaben, Beschreibungen, Beträge) einfügen und das Modell bitten, entsprechende Beancount-Hauptbuchzeilen zu generieren. Ein Beispiel-Prompt aus der Community verwendet eine detaillierte Anweisung für GPT-4, "den CSV-Inhalt in das Beancount-Format zu konvertieren" , während die Rechnungslegungsgrundsätze befolgt werden. Die Ausgabe ist eine vollständige .beancount-Datei, die alle Transaktionen abdeckt. Dieser Ansatz ermöglicht es im Wesentlichen Nicht-Programmierern, das zu erreichen, was benutzerdefinierte Importskripte tun würden – indem sie die KI in natürlicher Sprache anweisen.
Beachten Sie, dass die Validierung entscheidend ist, obwohl LLMs beeindruckend beim Parsen und Generieren von Text sind. Überprüfen Sie immer die aus unstrukturierten Eingaben erstellten Einträge. Überprüfen Sie die Datumsangaben, Beträge und dass die Soll-/Haben-Seite ausgeglichen ist (der Beancount-Compiler fängt Ungleichgewichtsfehler ab). Wie eine Studie hervorhob, kann ein LLM ohne sorgfältige Anleitung nur einen kleinen Teil der Zeit vollständig korrekte Doppelte-Buchführung-Transaktionen erstellen. Das Bereitstellen von Vorlagenbeispielen in Ihrem Prompt und das explizite Erinnern des Modells an die Beancount-Syntax verbessern die Genauigkeit erheblich.
Abgleich von Kontoauszügen mit LLM-Unterstützung
Der Bankabgleich – der Prozess des Abgleichs Ihres Hauptbuchs mit einem externen Kontoauszug (Bank- oder Kreditkarte) – kann mühsam sein. LLMs können als intelligente Vergleichsmaschinen fungieren und helfen, Diskrepanzen zwischen Ihren Beancount-Aufzeichnungen und dem Kontoauszug zu identifizieren.
Identifizieren fehlender oder nicht übereinstimmender Einträge: Ein einfacher Anwendungsfall ist es, dem LLM zwei Listen zu geben: eine von Transaktionen aus Ihrem Hauptbuch für einen Zeitraum und eine vom Bankkontoauszug, und es dann zu bitten, herauszufinden, welche Einträge nicht übereinstimmen. Da das Modell Zeile für Zeile lesen und vergleichen kann, werden Elemente hervorgehoben, die in einer Liste vorhanden sind, nicht aber in der anderen. Sie können beispielsweise auffordern: "Hier ist mein Hauptbuch für März und der März-Kontoauszug meiner Bank. Welche Transaktionen stehen auf dem Kontoauszug, aber nicht in meinem Hauptbuch, oder umgekehrt?". Ein Leitfaden zur Verwendung von ChatGPT in der Buchhaltung stellt fest: "Fügen Sie eine Liste von Transaktionen ein, und ChatGPT hebt fehlende oder nicht übereinstimmende Einträge hervor." Dies bedeutet, dass die KI möglicherweise etwas ausgibt wie: "Die Zahlung von 120.00 USD am 03-15 erscheint auf dem Kontoauszug, aber nicht im Hauptbuch (möglicherweise fehlender Eintrag)."
Erklären von Unterschieden: LLMs können auch Unterschiede in einfacher Sprache beschreiben. Wenn eine Transaktion einen anderen Betrag oder ein anderes Datum zwischen dem Hauptbuch und dem Kontoauszug aufweist (vielleicht aufgrund eines Tippfehlers oder eines Timing-Unterschieds), kann das LLM Folgendes kennzeichnen: "Transaktion X hat 105 Dollar im Hauptbuch gegenüber 150 Dollar auf dem Bankkontoauszug – dies kann sich auf denselben Artikel mit einer Betragsabweichung beziehen." Diese natürliche Erklärung kann Sie direkt zu dem zu behebenden Problem führen, anstatt dass Sie manuell Zahlenzeilen scannen.
Automatisierung von Abgleichs-Workflows: In der Praxis könnten Sie die Funktion "Advanced Data Analysis" (ehemals "Code Interpreter") von ChatGPT verwenden: Laden Sie Ihre Kontoauszugs-CSV und vielleicht Ihren Hauptbuchexport hoch und lassen Sie sie diese programmgesteuert querprüfen. Es gibt auch aufstrebende Plugins und Tools, die sich auf den Abgleich konzentrieren. Einige haben beispielsweise demonstriert, dass ChatGPT Abgleichsberichte erstellt und sogar Anpassungsbuchungen vorschlägt, um die Bücher auszugleichen. Obwohl dies Experimente im Frühstadium sind, deuten sie auf eine Zukunft hin, in der ein Großteil der Knochenarbeit beim Abgleich (Vergleiche, Hervorheben von Unterschieden) an eine KI ausgelagert wird und der menschliche Buchhalter nur Anpassungen überprüft und genehmigt.
Es ist wichtig, die Kontrolle und Sicherheit zu wahren, wenn LLMs für den Abgleich verwendet werden, insbesondere bei sensiblen Finanzdaten. Wenn Sie Cloud-basierte Modelle verwenden, stellen Sie sicher, dass keine Kontonummern oder persönlichen Kennungen freigegeben werden, oder verwenden Sie anonymisierte Daten. Eine Alternative ist die Ausführung eines lokalen LLM (siehe unten), sodass die Daten Ihre Umgebung nie verlassen.
Implementierungsmethoden: APIs, Workflows und Tools
Wie kann man LLMs praktisch in einen Beancount-basierten Workflow integrieren? Es gibt mehrere Ansätze, die von einfachen Copy-Paste-Interaktionen mit ChatGPT bis hin zum Aufbau benutzerdefinierter automatisierter Pipelines reichen:
-
Manuelle Eingabeaufforderung (ChatGPT UI): Die zugänglichste Methode ist die interaktive Verwendung von ChatGPT (oder einer anderen LLM-Schnittstelle). Kopieren Sie beispielsweise einen Batch nicht kategorisierter Transaktionen und fordern Sie das Modell zur Kategorisierung auf. Oder fügen Sie einen Teil eines Kontoauszugs ein und bitten Sie um eine Beancount-Konvertierung. Dies erfordert keine Programmierung – wie viele Benutzer beweisen, die ihr Problem einfach ChatGPT beschreiben und brauchbare Ergebnisse erhalten. Der Nachteil ist, dass es etwas Ad-hoc ist und Sie sicherstellen müssen, dass das Modell jedes Mal gut geführt wird.
-
APIs und Skripterstellung: Für einen wiederholbareren Workflow können Sie eine API (wie die OpenAI-API für GPT-4) verwenden, um Transaktionen zu verarbeiten. Dies könnte in einem Python-Skript erfolgen, das neue Transaktionen liest und die API aufruft, um einen Kategorisierungsvorschlag oder einen vollständigen Eintrag zu erhalten. Sie könnten dies in Ihre Importpipeline integrieren. Die Beanborg-Konfiguration ermöglicht beispielsweise die Aktivierung von ChatGPT-Vorschlägen, indem
use_llm: truefestgelegt und ein API-Schlüssel angegeben wird. Dann erhält jede importierte Transaktion eine zusätzliche Kategorievorhersage von GPT neben der regelbasierten oder ML-Vorhersage, die Sie überprüfen können. -
Plugins und Erweiterungen: Da LLMs an Popularität gewinnen, können wir erwarten, dass Plugins für Beancount oder seine Weboberfläche Fava erscheinen. Diese könnten eine Schaltfläche "KI fragen" zu Transaktionen hinzufügen. Obwohl zum Zeitpunkt des Schreibens dieses Artikels kein offizielles Beancount-KI-Plugin existiert, wächst das Interesse der Community. Tatsächlich bemerkte der Schöpfer von Beancount die Idee einer LLM-Prompt-Bibliothek für Beancount als unterhaltsam, und Community-Mitglieder experimentieren mit "LLM-Buchhaltungsbots" und Prompt-Engineering für Buchhaltungsaufgaben. Behalten Sie Beancount-Foren und GitHub-Probleme für solche Integrationen im Auge.
-
Open-Source-Bibliotheken: Neben Beanborg gehören zu den weiteren verwandten Tools
smart_importer(ein Beancount-Plugin, in dem Sie eine Python-Funktion schreiben oder sogar einfaches maschinelles Lernen verwenden können, um Transaktionen beim Import zu klassifizieren). Obwohl es sich nicht um ein LLM handelt, lässt es sich gut mit der LLM-Nutzung kombinieren: Sie können ein LLM verwenden, um schnell Trainingsdaten oder Regeln zu generieren, und dann smart_importer diese anwenden lassen. Es gibt auch Interesse an Tools wie Llamafile (einem Open-Source-Local-LLM für Datenaufgaben), das zum Parsen und Konvertieren von Finanzdaten verwendet wird, und Projekten wie Actual oder Paisa im Bereich der Plain-Text-Buchhaltung (obwohl diese sich eher auf die Bereitstellung einer Benutzeroberfläche als auf KI konzentrieren). Die Landschaft entwickelt sich schnell, und es ist wahrscheinlich, dass weitere Forschungsprojekte und Open-Source-Code entstehen werden, die speziell auf die Automatisierung der Buchhaltung mit LLMs abzielen. Beispielsweise wurde in einem Papier aus dem Jahr 2024 eine Methode zur Verwendung domänenspezifischer Sprachaufforderungen (Beancount-Syntaxregeln) vorgestellt, um die LLM-Ausgabe für die Buchhaltung zu bewerten und zu verbessern – solche Forschung könnte zu Bibliotheken führen, die einem LLM helfen, sich strikter an die Rechnungslegungsregeln zu halten. -
Hybride KI-Workflows: Sie können LLMs mit anderer KI/Automatisierung kombinieren. Verwenden Sie beispielsweise OCR, um Text aus Quittungen zu extrahieren, und speisen Sie diesen dann in ein LLM zur Eintragserzeugung ein. Oder verwenden Sie ein ML-Modell zur Anomalieerkennung, um Ausreißer zu kennzeichnen, und lassen Sie dann ein LLM diese Ausreißer erklären. Die Teile können über Skripte oder Automatisierungsplattformen verbunden werden (z. B. mithilfe von Zapier oder benutzerdefiniertem Code, um neue Transaktionen an einen KI-Dienst zu senden und die Antwort zu speichern).
Achten Sie bei der Implementierung auf die Kosten und Ratenbeschränkungen, wenn Sie eine kostenpflichtige API verwenden, insbesondere bei großen Hauptbüchern (obwohl die Kategorisierung einer einzelnen Transaktion sehr wenige Token kostet). Integrieren Sie auch die Fehlerbehandlung – z. B. wenn die KI einen ungültigen Kontonamen oder einen fehlerhaften Eintrag zurückgibt, haben Sie Fallbacks oder manuelle Überprüfungsschritte.
Bestehende Tools, Bibliotheken und Forschung
-
Beanborg – Wie bereits erwähnt, ein automatisierter Transaktionsimporteur für Beancount, der Regeln, ML und ChatGPT zur Kategorisierung integriert. Es ist Open-Source und kann als Vorlage für den Aufbau Ihrer eigenen KI-gestützten Import-Workflows dienen.
-
smart_importer – Ein Plugin für Beancount, mit dem Sie Python-Logik schreiben können, um Transaktionen beim Import automatisch zu klassifizieren oder sogar zu beheben. Einige Benutzer haben GPT verwendet, um diese Regeln zu erstellen oder Daten vorzuklassifizieren, die smart_importer dann verwendet.
-
Beancount Prompt Engineering (Community) – In Foren (Reddit’s r/plaintextaccounting, Beancount Google Group) finden laufende Community-Erkundungen zur Verwendung von LLMs statt. Ein Benutzer teilte beispielsweise Prompt-Techniken, um GPT-4 dazu zu bringen, Beancount-Einträge korrekt auszugeben, indem er es explizit an das Format erinnerte und schrittweise argumentierte. Ein anderer offener GitHub-Gist bietet ein Rezept für die Verwendung von GPT-4 oder Claude zur Generierung einer Python-Funktion, die Transaktionen nach Schlüsselwörtern kategorisiert. Diese Community-Experimente sind wertvolle Ressourcen, um Prompt-Strategien zu erlernen.
-
Finanzielle LLM-Forschung – Über praktische Skripte hinaus betrachten Forschungspapiere (wie "Evaluating Financial Literacy of LLMs through DSLs for Plain Text Accounting", FinNLP 2025) direkt die Fähigkeit von LLMs in der Doppelte-Buchführung. Sie machen oft ihre Prompts oder Datensätze Open-Source, die wiederverwendet werden könnten, um Modelle für eine bessere Genauigkeit zu verfeinern oder zu instruieren. Es gibt auch Arbeiten zur Verwendung von LLM-Einbettungen zur Anomalieerkennung im Finanzwesen und zu spezialisierten, auf das Finanzwesen ausgerichteten LLMs, die Buchhaltungsabfragen zuverlässiger bearbeiten könnten. Obwohl dies keine Plug-and-Play-Tools sind, weisen sie auf die Richtung zukünftiger Verbesserungen hin.
-
ChatGPT-Plugins und zugehörige SaaS – Einige Drittanbieterdienste und Plugins zielen darauf ab, ChatGPT in Buchhaltungssoftware zu integrieren (QuickBooks, Xero usw.). Einige Plugins behaupten beispielsweise, "Diskrepanzen visuell zu kennzeichnen" in QuickBooks über ChatGPT. Für Beancount (das dateibasiert und offen ist) existieren solche Plugins noch nicht, aber eine Kombination aus einer KI-freundlichen Schnittstelle wie Fava mit einem LLM hinter den Kulissen könnte erscheinen. Open-Source-Enthusiasten könnten eine Fava-Erweiterung erstellen, die Abfragen an ein LLM sendet (z. B. eine Fava-Registerkarte, auf der Sie Fragen zu Ihrem Hauptbuch in natürlicher Sprache stellen können).
Zusammenfassend lässt sich sagen, dass eine Mischung aus Community-Skripten, dedizierten Tools wie Beanborg und modernster Forschung die Grenzen dessen verschiebt, wie LLMs die Plain-Text-Buchhaltung unterstützen können. Selbst wenn für jede Aufgabe keine perfekte Standardlösung verfügbar ist, sind die Bausteine und Beispiele vorhanden, mit denen technische Benutzer ihr eigenes KI-gestütztes Buchhaltungssystem zusammenstellen können.
Chancen und Einschränkungen von LLMs in Beancount-Workflows
LLMs bieten spannende Möglichkeiten für Beancount-Benutzer:
-
Dramatische Effizienzsteigerungen: Sie können den manuellen Aufwand für die Kategorisierung und Eingabe von Transaktionen reduzieren. Aufgaben, die früher das Schreiben von benutzerdefiniertem Code oder Regeln erforderten, können oft erreicht werden, indem man die KI einfach bittet , es zu tun. Dies senkt die Hürde für Nicht-Programmierer, ihre Buchhaltung zu automatisieren ("jeder kann jetzt ein Entwickler sein" mit ChatGPT). Geschäftsinhaber können sich mehr auf die Überprüfung finanzieller Erkenntnisse als auf die Dateneingabe konzentrieren.
-
Adaptives Lernen: Im Gegensatz zu starren Regeln kann ein LLM verallgemeinern und Randfälle behandeln. Wenn Sie anfangen, in einer neuen Kategorie auszugeben, kann die KI dies möglicherweise durch Analogie zu bekannten Kategorien elegant handhaben. Darüber hinaus könnte es, wenn es richtig integriert ist, aus Korrekturen lernen – z. B. wenn Sie einen Vorschlag überschreiben, könnten diese Informationen verwendet werden, um zukünftige Ausgaben zu verfeinern (entweder manuell oder über eine Feedbackschleife in Tools wie Beanborg). Dies ist vergleichbar damit, wie man einen Assistenten im Laufe der Zeit schulen könnte.
-
Natürliche Interaktion: LLMs verstehen die Alltagssprache und ermöglichen so Gesprächsschnittstellen für die Buchhaltung. Stellen Sie sich vor, Sie fragen: "Wie hoch waren meine Gesamtausgaben für Kaffee in diesem Monat?" und erhalten eine Antwort oder sogar eine Beancount-Abfrage, die für Sie erstellt wurde. Während unser Fokus auf der Automatisierung lag, ist die Abfragefähigkeit ein weiterer Vorteil – ChatGPT kann Ihre Frage analysieren und, wenn es Zugriff auf Hauptbuchdaten hat, das Ergebnis formulieren. Dies könnte Beancount-Berichte erweitern, indem es Ad-hoc-Fragen und Antworten in einfachem Deutsch ermöglicht.
Es gibt jedoch wichtige Einschränkungen und Bedenken zu berücksichtigen:
-
Genauigkeit und Zuverlässigkeit: LLMs klingen selbstbewusst, aber sie können falsche Ausgaben produzieren, wenn sie die Aufgabe missverstehen oder keine richtigen Einschränkungen haben. In der Buchhaltung kann eine einzige Fehlklassifizierung oder ein einziges Ungleichgewicht Berichte durcheinanderbringen. Die oben erwähnte Forschung ergab, dass ohne sorgfältige Eingabe nur sehr wenige LLM-generierte Transaktionen vollständig korrekt waren. Selbst wenn die Syntax korrekt ist, kann die gewählte Kategorie diskutabel sein. Daher sollten KI-Vorschläge von einem menschlichen Buchhalter überprüft werden, insbesondere in kritischen Büchern. Das Mantra sollte lauten: "Vertrauen, aber überprüfen." Verwenden Sie immer die Beancount-Validierung (z. B.
bean-checkfür Saldo-/Syntaxfehler) für KI-generierte Einträge. -
Datenschutz und Sicherheit: Finanzdaten sind sensibel. Viele LLM-Lösungen beinhalten das Senden von Daten an externe Server (OpenAI usw.). Wie ein Benutzer betonte, "ChatGPT könnte ein großartiger Kontoklassifikator sein... Das einzige Problem ist der Datenschutz." Die Weitergabe von Banktransaktionen an einen KI-Dienst eines Drittanbieters kann gegen Datenschutzrichtlinien oder -bestimmungen verstoßen, und es besteht das Risiko von Datenlecks. Tatsächlich wurden Fälle von versehentlicher Datenoffenlegung über Cloud-KI gemeldet. Um dies zu mildern, umfassen die Optionen: die Verwendung anonymisierter Daten (z. B. das Ersetzen realer Namen durch Platzhalter, wenn die KI gefragt wird), das lokale Ausführen von LLMs (es gibt Open-Source-Modelle, die Sie hosten können, die zwar nicht so leistungsfähig wie GPT-4 sind, aber einfachere Aufgaben bewältigen können) oder die Verwendung eines hybriden Ansatzes (die anfängliche Verarbeitung lokal durchführen und möglicherweise nur High-Level-Zusammenfassungen an eine API senden). Stellen Sie immer die Einhaltung aller für Ihr Unternehmen relevanten Datenschutzbestimmungen sicher.
-
Kosten und Leistung: Die Verwendung eines hochmodernen Modells wie GPT-4 über API kostet Geld pro Token. Für gelegentliche Prompts ist dies vernachlässigbar, aber wenn Sie Tausende von Transaktionen klassifizieren möchten, summieren sich die Kosten. Es gibt auch eine Latenz – ein großer Prompt mit vielen Transaktionen kann einige Zeit für die Verarbeitung benötigen. Fein abgestimmte kleinere Modelle oder Open-Source-LLMs können billiger/schneller sein, erfordern aber möglicherweise mehr Einrichtung und erreichen ohne Feinabstimmung Ihrer Daten möglicherweise nicht die gleiche Genauigkeit. Es ist ein Kompromiss zwischen Komfort (Cloud-KI, die "einfach funktioniert") und Kontrolle (lokale KI, die Sie verwalten).
-
Überanpassung oder Inkonsistenz: LLMs haben keine inhärente Vorstellung von Ihrem spezifischen Kontenplan, es sei denn, Sie betten diese Informationen in den Prompt ein. Sie erfinden möglicherweise Kontonamen, die in Ihrem Hauptbuch nicht vorhanden sind (wie das frühere Beispiel, das ein neues Unterkonto für "Laptop-Ständer" vorschlägt, während Sie es möglicherweise unter einem allgemeinen Bürobedarfs-Konto bevorzugt hätten). Um die Vorschläge der KI mit Ihren etablierten Konten in Einklang zu bringen, müssen Sie möglicherweise eine Liste gültiger Konten als Kontext bereitstellen oder eine Nachbearbeitung durchführen, um ihre Vorschläge dem nächstgelegenen bestehenden Konto zuzuordnen. Wenn zwei verschiedene Formulierungen verwendet werden, kann das LLM in ähnlicher Weise inkonsistente Ausgaben liefern. Das Erstellen einer standardisierten Prompt-Methode und möglicherweise eines "KI-Styleguides" für Ihre Konten kann helfen, die Konsistenz zu wahren.
-
Umfang des Verständnisses: Während LLMs großartig mit Text umgehen können, führen sie keine Berechnungen mit absoluter Präzision durch. Beispielsweise kann das Anfordern eines LLM zur Berechnung von Finanzkennzahlen oder zur Durchführung von Summationen aufgrund der Art und Weise, wie sie Zahlen behandeln, zu Fehlern führen (sie sind von Natur aus keine Taschenrechner). Im Kontext von Beancount bedeutet dies, dass sie möglicherweise nicht am besten geeignet sind, um sicherzustellen, dass alle Beträge in einer komplexen Multi-Posting-Transaktion korrekt summiert werden (obwohl sie dies normalerweise können, ist einfache Arithmetik in Reichweite, aber Fehler sind möglich). Es ist ratsam, Beancount selbst die rechenintensiven Arbeiten erledigen zu lassen (oder Summen zu überprüfen), anstatt sich auf die Arithmetik der KI zu verlassen.
Trotz dieser Einschränkungen geht der Trend eindeutig in Richtung ausgefeilterer und zuverlässigerer KI-Helfer in der Buchhaltung. Der Schlüssel ist, LLMs als Assistenten, nicht als autonome Buchhalter zu verwenden. Sie zeichnen sich durch die Reduzierung von Plackerei aus – z. B. das Vorschlagen wahrscheinlicher Kategorisierungen (und das Sparen Ihrer kognitiven Energie) und das Erstellen von Einträgen oder Erklärungen. Sie bleiben der Entscheidungsträger, der überprüft und abschließt, was in die Bücher gelangt. Wie ein Buchhalter es formulierte: _"ChatGPT ist alles andere als perfekt... aber noch nie war es so einfach, Skripte zu schreiben, ohne programmieren