Stripe-Abgleich
Stripe-Auszahlungen und Gebühren per KI-Agent buchen
Stripe-Auszahlungen buchen Sie am saubersten, wenn Stripe über die eingebaute Anbindung der App als eigenes Konto in Ihrer Buchhaltung steht: Jede Kundenzahlung kommt als Zufluss, jede Stripe-Gebühr als eigene Zeile und jede Auszahlung als Abgang, und Ihr KI-Agent arbeitet diese Umsätze mit list_bank_transactions, match_bank_transaction und book_bank_transaction ab. Der offizielle MCP-Server von Stripe ergänzt das, wenn der Agent in Stripe nachlesen soll, welche Zahlungen in einer Auszahlung stecken. Gebucht wird immer über den Buchhaltungs-Server — mit denselben Prüfungen wie in der App.
Stand: 2026-10-19
Was in einer Stripe-Auszahlung steckt
- Kundenzahlung: tilgt eine Forderung aus einer Ausgangsrechnung. Sie ist kein neuer Erlös — sonst stünde derselbe Umsatz zweimal in der GuV, während die Rechnung offen bliebe.
- Gebühr: Nebenkosten des Geldverkehrs, im Stripe-Feed als eigene Zeile abgezogen. Zu ihr gibt es keine Eingangsrechnung, die den Posten ausgleichen könnte; der Feed-Auszug ist der Beleg. Sie gehört deshalb zu den wenigen Ausnahmen von der Regel, dass beim Bilanzierer keine Bankzeile ohne Beleg in die GuV bucht.
- Rückerstattung: dreht eine Forderung oder einen Erlös zurück.
- Auszahlung: Eigenes Geld wechselt nur das Konto — Geldtransit, niemals Aufwand. Sie erscheint zweimal: als Abgang auf dem Stripe-Konto und einige Tage später als Zugang auf dem Bankkonto.
Stripe sammelt Kartenzahlungen auf einem Guthaben, zieht seine Gebühren davon ab und zahlt den Rest in Abständen auf Ihr Bankkonto aus. Auf dem Bankauszug steht deshalb nur ein Sammelbetrag. Buchhalterisch sind es bis zu vier verschiedene Vorgänge, und die App liest die Art jeder Zeile aus den Angaben von Stripe, statt sie aus dem Verwendungszweck zu raten:
Weg 1: die Stripe-Anbindung der App
Unter Buchhaltung → „Bankkonten & Auszüge“ verbinden Sie Stripe mit einem eingeschränkten, nur lesenden Stripe-Schlüssel (Restricted Key). Die App prüft den Schlüssel bei Stripe, speichert ihn verschlüsselt und holt damit Ihre Saldo-Transaktionen: jede Zahlung als Zufluss, ihre Gebühr als eigene negative Zeile, Auszahlungen und Rückerstattungen mit ihrem eigenen Betrag. Den Kontostand des Stripe-Guthabens führt sie mit.
Eindeutige Zahlungen zu offenen Ausgangsrechnungen kann die App selbst ausgleichen — aber nur, wenn Sie das ausdrücklich freigegeben haben. Das Verbinden allein bucht nichts; ohne Freigabe bleiben die Zuordnungen Vorschläge.
Für Ihren Agenten ist das Stripe-Konto danach ein Konto wie jedes andere: list_bank_accounts nennt es mit dem Anbieter stripe und seinem Sachkonto, list_bank_transactions liefert seine Umsätze mit Kennung des Kontos (bank_connection_id), Betrag, Währung, Gegenpartei und Verwendungszweck.
Weg 2: der Stripe-MCP-Server für Rückfragen
Stripe betreibt einen eigenen MCP-Server unter https://mcp.stripe.com. Angemeldet wird per OAuth oder mit einem Agent-API-Schlüssel als Bearer-Kopfzeile. Neben einigen Spezialwerkzeugen bietet er mit stripe_api_read lesenden Zugriff auf viele Methoden der Stripe-API — darunter das Auflisten von Saldo-Transaktionen und Auszahlungen — und mit stripe_api_write schreibenden.
Laut Stripe-Dokumentation (Stand Oktober 2026) nimmt der Stripe-MCP-Server ab Dezember 2026 keine geheimen Schlüssel mit Vollzugriff und keine eingeschränkten Schlüssel ohne Agent-Kennzeichen mehr an; Stripe empfiehlt, bis zum 30. November 2026 auf Agent-API-Schlüssel oder OAuth umzustellen. Diese Umstellung betrifft den MCP-Server von Stripe — die Anbindung der App liest über die normale Stripe-API.
Für die Buchhaltung genügt lesender Zugriff. Geben Sie dem Agenten stripe_api_write nicht frei: Rückerstattungen und Zahlungen gehören nicht in einen Buchungsauftrag. Stripe selbst verlangt für bestimmte schreibende Aktionen, etwa Rückerstattungen, zusätzlich eine Bestätigung über einen Link.
Ablauf: eine Auszahlung vollständig abgleichen
- list_bank_accounts: Der Agent findet das Geschäftskonto und das Stripe-Konto mit ihren Sachkonten.
- list_bank_transactions mit status unbooked und Zeitraum: Er sammelt die offenen Zeilen beider Konten — Kundenzahlungen, Gebühren und den Auszahlungsabgang auf dem Stripe-Konto, den Zugang auf dem Bankkonto.
- Optional stripe_api_read: Er liest die Auszahlung und die zugehörigen Saldo-Transaktionen und prüft, ob Zahlungen, Gebühren und Rückerstattungen zusammen den ausgezahlten Betrag ergeben.
- list_open_items mit kind debitor: Zu jeder Kundenzahlung sucht er die offene Ausgangsrechnung und legt Ihnen die Paare vor. Nach Ihrem Ja gleicht match_bank_transaction mit invoice_kind outgoing aus; Teilzahlungen lassen den Rest offen, vereinbarter Skonto wird serverseitig geprüft.
- book_bank_transaction für die Gebührenzeilen: Die App schlägt Nebenkosten des Geldverkehrs vor (SKR03 4970, SKR04 6855) und als Steuerschlüssel V0.
- book_bank_transaction mit kind transfer für die Auszahlung, auf dem Stripe-Konto und auf dem Bankkonto: Gegenkonto ist dann Geldtransit (SKR03 1360, SKR04 1460), sodass sich beide Seiten aufheben.
- Zum Schluss list_bank_accounts mit fiscal_year_id: Auszugssaldo und Buchsaldo des Stripe-Kontos sollten übereinstimmen. Eine Differenz nennt der Agent, statt sie auszubuchen.
Beispiel: Codex mit beiden Servern
In ~/.codex/config.toml tragen Sie beide Server ein. enabled_tools hält beim Stripe-Server das Schreibwerkzeug draußen, die Schlüssel kommen aus Umgebungsvariablen:
[mcp_servers.buchhaltung] url = "https://api.jahresabschluss.io/functions/v1/bookkeeping-mcp" bearer_token_env_var = "JAB_API_KEY" # export JAB_API_KEY=jab_live_… default_tools_approval_mode = "writes" [mcp_servers.stripe] url = "https://mcp.stripe.com" bearer_token_env_var = "STRIPE_AGENT_API_KEY" enabled_tools = ["stripe_api_search", "stripe_api_details", "stripe_api_read"]
Mit default_tools_approval_mode = "writes" fragt Codex laut seiner Dokumentation bei jedem Werkzeug nach, das nicht als nur lesend gekennzeichnet ist; der Buchhaltungs-Server kennzeichnet seine lesenden Werkzeuge mit readOnlyHint.
Ein Auftrag im Chat: „Gleichen Sie die Stripe-Auszahlung vom 14.10. über 1.234,56 € (Beispielbetrag) vollständig ab: Zahlungen den offenen Rechnungen zuordnen, Gebühren und Auszahlung buchen. Zeigen Sie mir zuerst die Tabelle.“ Der Agent liest, legt die Tabelle vor und ruft match_bank_transaction und book_bank_transaction erst nach Ihrer Freigabe auf — jede Zeile mit eigenem idempotency_key.
Umsatzsteuer und Recht
Die Gebühren von Zahlungsdienstleistern behandelt die App als Umsätze im Zahlungs- und Überweisungsverkehr, die nach § 4 Nr. 8 Buchst. d UStG steuerfrei sind; sie schlägt deshalb V0 vor und keinen Fall des § 13b UStG. Maßgeblich bleibt, was die Gebührenabrechnung Ihres Anbieters ausweist — Zweifelsfälle klären Sie mit Ihrer Kanzlei.
Beim Bilanzierer ist eine Kartenzahlung die Tilgung einer Forderung. Fehlt die Ausgangsrechnung in der Buchhaltung, bucht die App die Zahlung nicht ohne Beleg als Erlös. Legen Sie dann zuerst die Rechnung an — nach Ihrer Bestätigung per create_outgoing_invoice oder über eine Shop-Anbindung — und ordnen Sie danach zu. Wer eine Einnahmen-Überschuss-Rechnung führt, bucht am Geldfluss: Die Einnahme zählt mit der Zahlung (§ 11 Abs. 1 EStG).
Was in der App bleibt
- Das Verbinden von Stripe mit dem eingeschränkten Schlüssel und die Zuordnung zum Sachkonto: Bankanbindungen richten Sie interaktiv in der App ein, über die Schnittstelle gibt es dafür keinen Weg.
- Die Freigabe, ob eindeutige Zuordnungen automatisch gebucht werden dürfen.
- Die Bankverbindungen Ihrer Kunden und Lieferanten.
- Rückerstattungen, Streitfälle und Auszahlungspläne — die verwalten Sie in Ihrem Stripe-Konto, nicht in einem Buchungsauftrag.
- Die Sandbox Ihrer Gesellschaft — derzeit nur für Gesellschaften ohne Jahresabschluss-Daten — ist nie mit Bank oder Stripe verbunden; neue Stripe-Umsätze kommen dort nicht an.
Häufige Fragen
Brauche ich den Stripe-MCP-Server, um Stripe zu buchen?
Nein. Die Stripe-Anbindung der App bringt Zahlungen, Gebühren und Auszahlungen als Umsätze eines eigenen Kontos in die Buchhaltung; Ihr Agent bucht sie über den Buchhaltungs-Server. Der Stripe-MCP-Server hilft nur, wenn der Agent Einzelheiten in Stripe nachlesen soll.
Welchen Stripe-Schlüssel braucht die Anbindung der App?
Einen eingeschränkten, nur lesenden Schlüssel (Restricted Key). Ein veröffentlichbarer Schlüssel kann die Saldo-Transaktionen nicht lesen.
Wie bucht der Agent die Stripe-Gebühr?
Mit book_bank_transaction auf der Gebührenzeile des Stripe-Kontos. Die App schlägt Nebenkosten des Geldverkehrs vor — SKR03 4970 bzw. SKR04 6855 — mit dem Steuerschlüssel V0.
Warum ist die Stripe-Auszahlung kein Erlös?
Weil nur eigenes Geld vom Stripe-Guthaben auf das Bankkonto wechselt. Der Erlös entsteht mit der Rechnung; die Auszahlung ist Geldtransit und hebt sich auf beiden Konten auf.
Kann der Agent über die Buchhaltung Rückerstattungen in Stripe auslösen?
Nein. Der Buchhaltungs-Server schreibt nur in Ihre Bücher. Rückerstattungen wären ein Schreibzugriff auf Stripe selbst — den geben Sie für Buchungsaufträge besser nicht frei.
Was passiert mit Kartenzahlungen, zu denen es keine Rechnung gibt?
Beim Bilanzierer bucht die App sie nicht ohne Beleg als Erlös. Legen Sie zuerst die Ausgangsrechnung an oder lassen Sie sie über eine Shop-Anbindung entstehen, dann ordnet der Agent die Zahlung zu.
Vom selben Anbieter: Jahresabschluss nach HGB – der komplette Leitfaden auf jahresabschluss.io.