1 Punkte von GN⁺ 2024-11-30 | 1 Kommentare | Auf WhatsApp teilen

Keine Fehler beim Aufbau eines Buchhaltungssystems im Startup machen

  • In einem Fintech-Unternehmen ist es grundlegend, den Geldfluss nicht aus den Augen zu verlieren. Dennoch kommt es in manchen Startups vor, dass pro Transaktion ein paar Cent verloren gehen.
  • In Startups folgt man oft der Philosophie „erst zum Laufen bringen, dann korrekt machen, dann schnell machen“ und baut kein System der doppelten Buchführung auf.
  • Solche Fehler führen zu Unzufriedenheit bei den Nutzerinnen und Nutzern und behindern das Wachstum des Unternehmens.
  • Das Kundensupport-Team versuchte, das Problem zu lösen, indem es fehlerhafte Transaktionen manuell ausglich.

Die Bedeutung eines Buchhaltungssystems

  • Geld entsteht, wenn es sich bewegt, und diese Bewegung nachzuverfolgen ist komplex.
  • Ein System der einfachen Buchführung zeigt den Geldfluss, kann aber nicht erklären, warum er stattfindet.
  • Ein System der doppelten Buchführung kann dieses Problem lösen, indem es sowohl die Herkunft als auch das Ziel des Geldes nachverfolgt.

Das Datenmodell eines Systems der doppelten Buchführung

  • Ein System der doppelten Buchführung besteht aus drei Entitäten: Konten, Buchungen und Transaktionen.
  • Konten bilden Veränderungen von Werten ab, und Buchungen stellen den Geldfluss zwischen Konten dar.
  • Transaktionen stellen sicher, dass Buchungen korrekt gepaart sind.

Zwei Buchhaltungssysteme

  • Das Buchhaltungssystem ist die von außen sichtbare Schnittstelle des Ledgers, während das Engineering-System die Implementierung des Ledgers ist.
  • Das Buchhaltungssystem erfordert hohe Verfügbarkeit und geringe Latenz, während das Engineering-System starke Konsistenz und Datengenauigkeit verlangt.

So funktionieren Buchungen

  • Buchungen können einen von drei Zuständen haben: ausstehend, verworfen oder gebucht.
  • Buchungen werden immer im Zustand „ausstehend“ erzeugt, und verworfene Buchungen können durch gebuchte Buchungen ersetzt werden.

So funktionieren Transaktionen

  • Transaktionen werden nur gebucht, wenn Buchungen gebucht oder verworfen werden.
  • Wenn eine Transaktion teilweise fehlschlägt, kann sie semantisch durch Ausgleichsbuchungen rückgängig gemacht werden.

So funktionieren Konten

  • Konten sind mit mehreren Buchungen verbunden, und der Gesamtsaldo muss der Summe der Einzelsalden aller Buchungen entsprechen.
  • Je nach regulärem Saldo eines Kontos wird der Gesamtsaldo unterschiedlich berechnet.

Fazit

  • Ein Ledger ist ein klares Beispiel für ein schwieriges Problem der Informatik, das als nichttechnischer Bereich getarnt ist.
  • Ein System der doppelten Buchführung aufzubauen ist ohne den passenden Kontext schwierig, ermöglicht aber bessere Entscheidungen.

1 Kommentare

 
GN⁺ 2024-11-30
Hacker-News-Kommentare
  • Bei Synapse-Kunden ist viel Geld verschwunden. Banken müssen Geldflüsse streng kontrollieren, aber Fintechs bündeln alle Gelder auf FBO-Konten und bauen ein Hauptbuch, um sie zu verfolgen. Im Fall von Synapse waren die im Hauptbuch erfassten Kundensalden höher als die tatsächlichen Mittel auf den FBO-Konten. Das lag wahrscheinlich eher an einem fehlerhaften Hauptbuch als an Betrug. Es wird empfohlen, kein Geld auf Fintech-Einzahlungskonten zu legen und stattdessen echte Banken zu nutzen. Fintechs behaupten oft, Einlagen seien FDIC-versichert, aber das schützt nur, wenn die zugrunde liegende Bank insolvent wird.

  • Die Arbeit bei Google habe gezeigt, dass man Skalierbarkeit gewinnt, indem man Zuverlässigkeit oder Genauigkeit opfert. Wenn man Millionen von Anfragen verarbeitet, dürfen einige fehlschlagen; das zeigt einen Unterschied in der Engineering-Haltung. Beim Öffnen von Gmail treten häufig Fehler auf, aber Nutzer beheben das Problem durch Neuladen. Wenn die Haltbarkeit eines Speichers 99.99999 % beträgt, können bei 2 Milliarden Kunden dennoch 200 Unannehmlichkeiten erleben.

  • Es wird die Bedeutung von Domainwissen in der technischen Führung betont. Wer in einem Finanzunternehmen arbeitet, muss Finanzen verstehen; das gilt ebenso für Journalismus oder Handel. Erfolgreiche Organisationen nehmen in Interviews für technische Teams auch domänenspezifische nichttechnische Fragen auf.

  • Die Einstellung der richtigen Leute ist wichtig. Statt Menschen einzustellen, die gut in Datenstrukturen und Algorithmen sind, sollte man Menschen einstellen, die tatsächlich bauen können, was gebraucht wird. Es kann hilfreich sein, wenn Engineers auch in anderen Bereichen ausgebildet sind. Problemlösung und Engineering entstehen durch ein tiefes Verständnis der Branche und die Zusammenarbeit mit Fachleuten.

  • Es wird Erfahrung mit dem Aufbau eines Abrechnungssystems in einem Internet-/Telekommunikations-Startup geteilt. Die Abrechnungslogik wurde an zwei Stellen implementiert, wodurch die Synchronisierung schwer aufrechtzuerhalten war. Rechnungen wurden manuell geprüft, um Fehler zu vermeiden, und die doppelte Logik half ebenfalls, Fehler zu verhindern. Diese Erfahrung führte zum Verständnis der Bedeutung der doppelten Buchführung.

  • Viele sprechen sich für ein Buchhaltungssystem mit einfacher Buchführung aus. Sie mag einfacher sein, aber es ist besser, doppelte Buchführung zu verwenden. Es werden Materialien zur Buchhaltung für Programmierer gesucht.

  • Es gibt Missverständnisse über das Prinzip "make it work, make it right, make it fast". "make it right" ist die zweite Phase, und die Arbeit daran stoppt erst, wenn das System korrekt funktioniert. Optimierung beginnt erst, nachdem alle Probleme gelöst sind.

  • Ohne Tests kann es dazu kommen, dass bei Transaktionen Geld verloren geht. Es ist falsch, solche Probleme beim Aufbau von Finanzsystemen als normal zu betrachten.

  • Wenn man Teile einer Bank neu erfinden will, sollte man sich an bereits validierten Systemen orientieren. Man kann sich zum Beispiel an den Schemata für Kernbank-Einlagentransaktionen orientieren, die von kleinen und mittleren Finanzinstituten in den USA verwendet werden.

  • Software, die mit Geld umgeht, muss mit äußerster Sorgfalt behandelt werden, und man sollte frühere Fehler erkennen. Der britische Post-Office-Skandal zeigt die realen Folgen solcher Probleme.