Fallstudien · Buchhaltung in Japan
Unsere japanische Buchhaltung, in dreieinhalb Stunden neu gebaut
QkSkima ist eine K.K. in Japan. Wie jede japanische Firma brauchen wir eine saubere Buchhaltung: Bankbuchungen, Belege und jeden Monat die Unterlagen für den Steuerberater. An einem Nachmittag haben wir diesen ganzen Ablauf auf eine eigene Anwendung umgestellt, in dreieinhalb Stunden. Hier zeigen wir, wie, und belegen es mit Zeitstempeln.
- von der ersten Anweisung bis zum letzten Test
- 3½ Std.
- von der ersten Anweisung bis zum letzten Test
- Änderungen am Format des Steuerberaters
- 0
- Änderungen am Format des Steuerberaters
- Passwörter: Anmeldung nur mit Passkey
- 0
- Passwörter: Anmeldung nur mit Passkey
- Schranken vor jeder Buchung
- 3
- Schranken vor jeder Buchung
Die Ausgangslage
Bisher lief unsere Buchhaltung über ein fertiges Programm. Es hat jeden Monat eine CSV-Datei mit den Buchungen, die Belege und eine ZIP-Datei in einen Ordner geschrieben. Diesen Ordner liest unser Steuerberater.
Wir wollten die Buchhaltung selbst in der Hand haben: eigene Daten, eigene Abläufe und eine Anwendung, die genau zu unserer Arbeit passt. Gleichzeitig durfte sich für den Steuerberater nichts ändern. Und weil es um Bankdaten geht, sollte die neue Anwendung sicherer sein als das, was wir vorher hatten.
Die Vorgaben
Der Ordner bleibt, wie er ist
Der Steuerberater erwartet eine feste Ordnerstruktur, feste Dateinamen und feste Spalten. Auch die Kategorien müssen Wort für Wort gleich bleiben. Die neue Anwendung schreibt deshalb genau dieselben Dateien wie das alte Programm.
Der Bankauszug kommt in Shift_JIS
Japanische Banken liefern CSV-Dateien in einer älteren japanischen Zeichenkodierung. Ein paar Zeichen werden dabei je nach Variante anders abgebildet. Die Anwendung gleicht das aus, damit Buchungstexte genau so aussehen wie in den alten Exporten.
Die alten Buchungen kommen mit
Alle bisherigen Buchungen und Belege wurden übernommen, mit ihren alten Nummern. Neue Buchungen zählen einfach weiter. Die Belege wurden anhand ihrer Dateinamen wieder der richtigen Buchung zugeordnet.
Nichts geht verloren
Bevor ein Export Dateien ersetzt, kopiert die Anwendung die alten Dateien in eine Sicherung. Dateien werden erst fertig geschrieben und dann an ihren Platz verschoben, damit nie eine halbe Datei im Ordner liegt.
Kein Auszug wird doppelt gebucht
Jede Buchung bekommt einen Fingerabdruck aus Datum, Text, Betrag und Kontostand. Wird derselbe Auszug zweimal importiert, überspringt die Anwendung alles, was schon da ist.
Nur wir kommen hinein
Bankdaten gehören nicht ins offene Internet. Die Anwendung ist nur aus freigegebenen Netzen erreichbar, und wer sich anmeldet, braucht einen Passkey. Passwörter gibt es nicht.
Der Nachweis: dreieinhalb Stunden in Zeitstempeln
Wir behaupten nicht einfach, dass es schnell ging. Das Dateisystem und das Protokoll der Entwicklungssitzung halten fest, wann welche Datei entstanden ist. Hier sind die Zeitstempel vom 3. November 2026, japanische Zeit.
-
2026-11-03-Buchhaltung/
Projektordner angelegt. Bis 11:52 kommen die alten Exporte und ein Bankauszug als Vorlage hinein.
-
Sitzungsprotokoll, erste Nachricht
Die Entwicklung beginnt: erste Anweisung an Claude Code.
-
Gemfile
Die Rails-Anwendung entsteht.
-
app/services/month_exporter.rb
Export im Format des Steuerberaters: CSV, Belege, ZIP-Datei, mit Sicherung.
-
lib/ip_whitelist.rb · …_statement_importer.rb
IP-Whitelist und Import des Bankauszugs.
-
app/controllers/sessions_controller.rb
Anmeldung nur mit Passkey.
-
.claude/skills/resolve-contacts/
KI-Werkzeuge, die fehlende Kontakte zuordnen.
-
app/controllers/receipt_reviews_controller.rb
Beleg-Durchsicht: fehlende Rechnungen pro Lieferant nachtragen.
-
Sitzungsprotokoll, letzte Nachricht
Letzte Änderung. 42 Tests, 0 Fehler.
Vom Bankauszug zum Steuerberater
-
1
Bankauszug einlesen
Die CSV-Datei der Bank wird hochgeladen. Die Anwendung liest die japanische Kodierung, legt jede Zeile als Buchung an und überspringt, was schon importiert ist. Kontakt und Kategorie übernimmt sie von der letzten Buchung mit demselben Banktext oder über Stichwörter.
-
2
Prüfen und Belege ergänzen
Buchungen ohne Kontakt oder Kategorie sind markiert. Die Beleg-Durchsicht zeigt alle offenen Buchungen eines Jahres, nach Lieferant sortiert. So meldet man sich bei jedem Lieferanten nur einmal an und lädt alle Rechnungen auf einmal hoch. Wo kein Beleg nötig ist, reicht ein Klick.
-
3
Monat exportieren
Ein Klick schreibt den Monat in den Ordner des Steuerberaters, genau im alten Format. Vorher wird gesichert, was ersetzt wird. Der Steuerberater arbeitet weiter wie bisher.
Die Anwendung
Alle Bildschirme zeigen Beispieldaten. Firmen, Beträge und Kontonummern sind erfunden.
Sicherheit: drei Schranken vor jeder Buchung
Eine Buchhaltung enthält Kontostände, Gehälter und Steuern. Deshalb muss jede Anfrage an drei Schranken vorbei, bevor sie eine Buchung sieht.
1. IP-Whitelist vor allem anderen
Noch vor der eigentlichen Anwendung prüft eine Schranke die Adresse jeder Anfrage. Kommt sie nicht aus einem freigegebenen Netz, gibt es nur „Forbidden“. Das gilt für jede Seite, jedes Bild und jeden Upload. Von außen ist nicht einmal die Anmeldeseite zu sehen.
2. Passkeys statt Passwörter
Die Anmeldung läuft nur über Passkeys (WebAuthn). Der Schlüssel bleibt auf dem eigenen Gerät und wird mit Fingerabdruck oder Gesichtserkennung freigegeben. Er gilt nur für genau diese Adresse. Es gibt also kein Passwort, das jemand erraten, abfangen oder auf einer falschen Seite abfragen kann.
3. Jedes Konto startet gesperrt
Wer sich registriert, ist zunächst gesperrt. Erst wenn seine E-Mail-Adresse in der Liste der Freigaben steht, kommt er hinein. Wird sie wieder entfernt, ist das Konto sofort gesperrt, auch in Sitzungen, die gerade offen sind.
Dazu die Grundlagen
Nur HTTPS, Sitzungs-Cookies, die Skripte nicht lesen können, und eine Bremse für Anmeldeversuche: höchstens zehn in drei Minuten.
KI dort, wo sie Zeit spart
Banktexte in Japan sind oft kaum zu lesen, zum Beispiel halbbreite Katakana wie ヤハタゼイムシヨ (ein Finanzamt) oder kryptische Händlernamen bei Kartenzahlungen. Dafür haben wir zwei Werkzeuge für Claude Code gebaut. Das erste ordnet bekannte Kontakte zu. Das zweite liest die unbekannten Banktexte, findet heraus, welche Firma dahintersteht, und schlägt neue Kontakte mit Stichwörtern vor. Geschrieben wird erst, wenn ein Mensch den Vorschlag freigegeben hat.
Das Ergebnis
- Die ganze Buchhaltung läuft in einer eigenen Anwendung, die genau zu unserer Arbeit passt.
- Der Steuerberater bekommt dieselben Ordner und Dateien wie vorher. Für ihn hat sich nichts geändert.
- Alle alten Buchungen und Belege sind übernommen, die Nummerierung läuft weiter.
- Belege sammeln geht schneller: einmal pro Lieferant anmelden statt einmal pro Buchung.
- Ohne freigegebenes Netz und Passkey kommt niemand an die Daten.
Was das für Ihre Firma in Japan heißt
Viele europäische Firmen in Japan haben dasselbe Problem in größer: Die Japan-Gesellschaft bucht in einem japanischen Programm, der Steuerberater will sein Format, und die Zentrale will die Zahlen in ihrem eigenen System.
Genau solche Übergänge bauen wir: Bankdaten aus Japan einlesen, Formate übersetzen, Belege zuordnen und alles so absichern, dass nur die richtigen Leute Zugriff haben. Oft geht das schneller, als man denkt, wenn die Vorgaben vorher klar sind.
Ratgeber zum Thema
Japan bucht in freee, die Zentrale will Zahlen im Konzernformat — und jeden Monat baut jemand eine Excel-Datei
Weiterlesen →
Technik
- Ruby on Rails 8.1, SQLite
- Hotwire (Turbo, Stimulus)
- WebAuthn für Passkeys
- Rack-Middleware für die IP-Whitelist
- Claude Code für die Kontakt-Zuordnung
Häufige Fragen
Hätte nicht auch ein fertiges Programm gereicht?
Für viele Firmen schon. Wir wollten aber unsere Daten selbst halten, das Format des Steuerberaters genau treffen und den Zugang strenger absichern, als es die meisten fertigen Programme erlauben.
Sind auf den Bildern echte Daten zu sehen?
Nein. Alle Bildschirme stammen aus einer Kopie der Anwendung mit erfundenen Firmen, Beträgen und Kontonummern.
Machen Sie das auch für unsere Firma?
Ja. Wir bauen und verbinden Systeme für europäische Firmen in Japan, zum Beispiel zwischen japanischer Buchhaltung, Steuerberater und Zentrale. Die steuerliche Beratung bleibt beim Steuerberater.