PayPal-Abgleich
PayPal-Umsätze per KI-Agent buchen
PayPal-Umsätze kommen am zuverlässigsten über die eingebaute PayPal-Anbindung in Ihre Buchhaltung: Mit Client-ID und Secret Ihrer eigenen PayPal-REST-App liest die App das PayPal-Konto als eigenes Konto ein — jede Zahlung als Umsatz, die Gebühr als eigene Zeile und jede weitere Währung auf einem eigenen Unterkonto. Ihr KI-Agent arbeitet diese Umsätze danach mit list_bank_transactions, match_bank_transaction und book_bank_transaction ab. Ohne Anbindung bleibt der Weg über eine Datei, die der Agent als Kontoauszug importiert; PayPal betreibt zusätzlich einen eigenen MCP-Server, der bei Rückfragen hilft.
Stand: 2026-10-19
Was die App aus einer PayPal-Zeile liest
- Zahlungen (Codes T00…): Ein Eingang ist eine Kundenzahlung und tilgt eine Forderung. Ausgenommen sind „Geld erhalten“, Mobil-Zahlungen und Spenden zwischen Personen (T0000, T0011, T0013) — das können Einlagen eines Gesellschafters oder Erstattungen sein, aber keine Verkäufe.
- Gebühren (T01…): Gebühren ohne Zahlung, etwa Monats- oder Rückbuchungsgebühren; die Gebühr zu einer Zahlung führt die Anbindung als eigene Zeile.
- Aufladung vom eigenen Bankkonto (T03…) und Abbuchung auf das eigene Bankkonto (T04…): Geldtransit, eigenes Geld wechselt nur das Konto.
- Rückerstattung an einen Kunden (T1106, T1107) als Abgang.
- Währungsumrechnung (T02…): PayPal liefert sie als zwei Zeilen mit derselben Referenz — Abgang in der einen, Zugang in der anderen Währung. Zusammen sind sie ein Transit zwischen den Währungskonten; der Eurobetrag ist der von PayPal abgerechnete Gegenwert, kein geschätzter Kurs.
- Alles andere — Einbehalte, Korrekturen, unbekannte Codes — kommt zur Prüfung und wird nie automatisch gebucht.
PayPal versieht jede Transaktion mit einem Ereigniscode. Die App liest daraus zusammen mit dem Vorzeichen, was eine Zeile buchhalterisch ist — statt es aus dem Text zu erraten. Für Ihren Agenten ist das die Grundlage jeder Entscheidung:
Weg 1: die PayPal-Anbindung der App
Unter Buchhaltung → „Bankkonten & Auszüge“ wählen Sie „PayPal verbinden“ und tragen Client-ID und Client-Secret aus Ihrem PayPal-Entwicklerkonto ein (developer.paypal.com, Bereich „Apps & Credentials“). Die App prüft die Zugangsdaten, indem sie damit ein Zugriffstoken anfordert, und speichert beide verschlüsselt. Gelesen werden nur Ihre Umsätze.
Der Abruf nutzt die Transaktionssuche von PayPal in Abschnitten von höchstens 31 Tagen. Weil PayPal Transaktionen teils erst Stunden später veröffentlicht, liest jeder Lauf mit Überlappung nach; doppelte Zeilen erkennt die App an der PayPal-Kennung. Ältere Umsätze holen Sie mit „Ältere Umsätze nachladen“.
Jede weitere Währung bekommt eine eigene Verbindung, etwa „PayPal USD“, mit eigenem Sachkonto — einem sechsstelligen Unterkonto des Verrechnungskontos — und eigenem Kontostand. Für den Agenten ist jede davon ein Konto: list_bank_accounts nennt sie mit dem Anbieter paypal, list_bank_transactions liefert ihre Umsätze mit Währung.
Weg 2: eine PayPal-Datei als Kontoauszug importieren
Ohne Anbindung legen Sie in der App ein Konto für PayPal mit eigenem Sachkonto an. Ihr Agent importiert dann mit import_bank_statement eine CSV-Datei, nachdem er die Spalten in eine Form gebracht hat, die die Import-Prüfung erkennt: ein Datum (etwa „Buchungstag“), einen Betrag mit Vorzeichen („Betrag“), den Verwendungszweck und den Namen des Zahlungspartners. Steht der Betrag in Ihrer PayPal-Datei nicht in einer Spalte namens „Betrag“, sondern etwa getrennt nach Brutto und Gebühr, macht der Agent aus jeder Transaktion zwei Zeilen — Bruttobetrag und Gebühr.
Geben Sie Anfangs- und Endbestand des Zeitraums mit (opening_balance, closing_balance): Bei CSV-Dateien prüft die App damit, ob Eröffnung plus Umsätze den Endbestand ergeben. Konto, Salden und Dubletten prüft sie in jedem Fall. Fremdwährungszeilen sind der Fall für die Anbindung — eine Datei sollte nur Zeilen in der Währung des Kontos enthalten.
Buchungstag;Betrag;Verwendungszweck;Name
02.10.2026;119,00;PayPal 5TY12345AB678901C Bestellung 1042;Muster GmbH
02.10.2026;-4,51;Gebühr zu 5TY12345AB678901C;PayPal
06.10.2026;-500,00;Abbuchung auf Geschäftskonto;PayPal
# Aufruf (Beispielwerte; die Datei geht Base64-kodiert mit)
import_bank_statement {
"idempotency_key": "6f1c2a9e-4b7d-4c1e-9a55-2f0d8c3b7e10",
"bank_connection_id": "<Kennung des PayPal-Kontos aus list_bank_accounts>",
"file_name": "paypal-2026-10.csv",
"format": "csv",
"file_base64": "<Datei als Base64>",
"opening_balance": 820.40,
"closing_balance": 434.89
}Weg 3: der PayPal-MCP-Server für Rückfragen
PayPal betreibt einen offiziellen MCP-Server: entfernt unter https://mcp.paypal.com (Testumgebung https://mcp.sandbox.paypal.com, Streamable HTTP unter /http) oder lokal mit npx -y @paypal/mcp --tools=all, wobei Sie PAYPAL_ACCESS_TOKEN und PAYPAL_ENVIRONMENT (SANDBOX oder PRODUCTION) setzen. Der Werkzeugkatalog umfasst laut PayPal unter anderem Rechnungen, Zahlungen und Rückerstattungen, Streitfälle, Abonnements und einen Bereich „Reporting and insights“ mit einem Werkzeug zum Auflisten von Transaktionen.
Für die Buchhaltung ist der PayPal-Server ein Nachschlagewerk: Der Agent klärt damit etwa, zu welcher Bestellung eine Zahlung gehört oder ob ein Streitfall offen ist. Gebucht wird nur über den Buchhaltungs-Server. Erlauben Sie in Ihrem KI-Programm nur die lesenden Werkzeuge des PayPal-Servers — Rückerstattungen oder Rechnungsversand in PayPal haben in einem Buchungsauftrag nichts zu suchen.
Ablauf: einen PayPal-Monat abschließen
- list_bank_accounts: Der Agent findet die PayPal-Konten — je Währung eines — mit ihren Sachkonten.
- list_bank_transactions mit status unbooked und Zeitraum: Er sammelt die offenen Zeilen und ordnet sie nach Art.
- Kundenzahlungen: list_open_items mit kind debitor liefert die offenen Ausgangsrechnungen; nach Ihrem Ja gleicht match_bank_transaction aus.
- Gebühren: book_bank_transaction mit dem Vorschlag der App für Nebenkosten des Geldverkehrs (SKR03 4970, SKR04 6855) und dem Steuerschlüssel V0.
- Abbuchungen und Aufladungen: book_bank_transaction mit kind transfer auf beiden Seiten — PayPal-Konto und Bankkonto —, Gegenkonto Geldtransit (SKR03 1360, SKR04 1460).
- Zahlungen zwischen Personen und unklare Codes: Der Agent fragt Sie, was dahintersteht, statt einen Erlös anzunehmen.
- Abstimmung: list_bank_accounts mit fiscal_year_id zeigt Auszugssaldo und Buchsaldo je PayPal-Konto zum Auszugsstichtag; Differenzen nennt der Agent, statt sie auszubuchen.
Gebühren, Währungen und Recht
PayPal-Gebühren behandelt die App als Umsätze im Zahlungs- und Überweisungsverkehr, die nach § 4 Nr. 8 Buchst. d UStG steuerfrei sind, und schlägt V0 vor. Maßgeblich bleibt die Gebührenabrechnung des Anbieters; Zweifelsfälle klären Sie mit Ihrer Kanzlei.
Ein PayPal-Guthaben in US-Dollar ist für den Bilanzierer ein auf fremde Währung lautender Vermögensgegenstand. Zum Abschlussstichtag wird es nach § 256a HGB zum Devisenkassamittelkurs umgerechnet — deshalb führt die Anbindung jede Währung auf einem eigenen Konto mit Währungsangabe. Wer eine Einnahmen-Überschuss-Rechnung führt, bucht am Geldfluss; eine Einnahme zählt mit dem Zufluss (§ 11 Abs. 1 EStG).
Was in der App bleibt
- Das Verbinden mit Client-ID und Secret und die Zuordnung der PayPal-Konten zu Sachkonten — Bankanbindungen gibt es über die Schnittstelle nicht.
- Das Nachladen älterer Umsätze und das Anlegen eines Kontos für den Dateiimport.
- Bankverbindungen Ihrer Geschäftspartner.
- Rückerstattungen, Streitfälle und Rechnungen in PayPal selbst.
Häufige Fragen
Brauche ich ein PayPal-Entwicklerkonto?
Für die Anbindung ja: Client-ID und Client-Secret stammen aus einer REST-App in Ihrem PayPal-Entwicklerkonto (Bereich „Apps & Credentials“). Für den Dateiimport brauchen Sie es nicht.
Kann der Agent die PayPal-Datei direkt importieren?
Er importiert sie mit import_bank_statement als CSV-Kontoauszug, sobald die Spalten Datum, Betrag und Verwendungszweck erkennbar sind. Weicht Ihre Datei davon ab, formt der Agent sie vorher um, ohne Beträge zu ändern.
Wie werden Umsätze in US-Dollar gebucht?
Über die Anbindung bekommt jede Währung ein eigenes PayPal-Konto mit eigenem Sachkonto. Umrechnungen innerhalb von PayPal behandelt die App als Transit zwischen diesen Konten, mit dem von PayPal abgerechneten Eurobetrag.
Gibt es einen offiziellen PayPal-MCP-Server?
Ja. PayPal bietet ihn entfernt unter mcp.paypal.com und lokal als Paket an. Für die Buchhaltung nutzen Sie ihn zum Nachschlagen; gebucht wird über den Buchhaltungs-Server.
Warum fragt der Agent bei „Geld erhalten“ nach?
Weil solche Zahlungen zwischen Personen keine Verkäufe sein müssen — es kann eine Einlage oder eine Erstattung sein. Die App bucht sie deshalb nicht als Kundenzahlung, und der Agent klärt den Sachverhalt mit Ihnen.
Welche Rechte braucht der Schlüssel?
Zum Lesen und Abstimmen genügt das Leserecht. Für match_bank_transaction, book_bank_transaction und import_bank_statement braucht der Schlüssel das Recht write.
Vom selben Anbieter: Jahresabschluss nach HGB – der komplette Leitfaden auf jahresabschluss.io.