# Transaktionsdaten abfragen Erstellen Sie nutzerdefinierte Berichte für Zahlungen, Rückerstattungen, Überweisungen und vieles mehr. Verwenden Sie die Daten innerhalb des [Schemas](https://docs.stripe.com/stripe-data/write-queries.md) von Stripe Sigma für die Berichterstellung über die Aktivität Ihres Kontoguthabens. Der Abschnitt **Zahlungstabellen** enthält Tabellen, die die Geldbewegungen zwischen Ihren Kundinnen/Kunden und Ihrem Stripe-Konto darstellen, wie beispielsweise Zahlungen oder Rückerstattungen. Informationen zu Überweisungen von Ihrem Stripe-Kontoguthaben auf Ihre Bankkonto-(*Auszahlungen* (A payout is the transfer of funds to an external account, usually a bank account, in the form of a deposit)) sind im Abschnitt **Überweisungstabellen** aufgeführt. Verwenden Sie für die Abrechnung die Tabelle `balance_transactions` als Ausgangspunkt. Im Gegensatz zu separaten Tabellen (z. B. `charges` oder `refunds`) bietet sie für jede [Art](https://docs.stripe.com/api.md#balance_transaction_object-type) von Transaktion im Guthaben Ihres Stripe-Kontos einen Geschäftsbuch-ähnlichen Bericht. Verwenden Sie die Saldo-Transaktionen, um die am häufigsten verwendeten Berichte zu generieren und die Berichterstellung zu finanziellen Aktivitäten zu vereinfachen. Zu den gängigen Arten von Saldo-Transaktion gehören: - `charges` - `refunds` - `transfers` - `payouts` - `adjustments` - `application_fees` Jede Zeile einer Saldo-Transaktion stellt ein einzelnes [balance_transaction](https://docs.stripe.com/api.md#balance_transaction_object)-Objekt dar, das sich nach der Erstellung nicht mehr ändert. Beispielsweise wird bei der Erstellung einer Zahlung auch eine entsprechende Saldo-Transaktion vom Typ `charge` erstellt. Wenn diese Zahlung zurückerstattet wird, wird außerdem eine separate Saldo-Transaktion vom Typ `refund` erstellt – wobei sich die ursprüngliche Saldo-Transaktion nicht ändert. Auf ähnliche Weise wird eine Saldo-Transaktion erstellt, wenn eine Auszahlung (Überweisung) auf Ihr Bankkonto erfolgt. Die nachfolgende Beispielabfrage verwendet diese Tabelle, um bestimmte Informationen über die fünf letzten Saldo-Transaktionen abzurufen. ```sql select date_format(created, '%m-%d-%Y') as day, id, amount, currency, source_id, type from balance_transactions order by day desc limit 5 ``` | Tag | ID | Betrag | Währung | source_id | Typ | | --------- | ------------------- | ------ | ------- | ------------------ | -------------- | | 15.4.2026 | txn_orWziM4j7CiRL8J | -1.000 | usd | re_orWziM4j7CiRL8J | Rückerstattung | | 15.4.2026 | txn_orWziM4j7CiRL8J | 1.000 | usd | ch_orWziM4j7CiRL8J | Zahlung | | 15.4.2026 | txn_orWziM4j7CiRL8J | 1.000 | usd | ch_orWziM4j7CiRL8J | Zahlung | | 15.4.2026 | txn_orWziM4j7CiRL8J | 1.000 | eur | ch_orWziM4j7CiRL8J | Zahlung | | 15.4.2026 | txn_orWziM4j7CiRL8J | -1.000 | usd | re_orWziM4j7CiRL8J | Rückerstattung | Die gängigsten Finanzübersichten können durch Zusammenfügen der Tabelle `balance_transactions` mit anderen Tabellen, die die entsprechenden Informationen enthalten, berechnet werden. Einige unserer Abfragevorlagen (z. B. [Tagessaldo](https://dashboard.stripe.com/sigma/queries/templates/Daily%20balance) oder [Monatliche Zusammenfassung und Saldo](https://dashboard.stripe.com/sigma/queries/templates/Monthly%20summary%20and%20balance)) lassen sich durch Verbinden dieser Tabelle mit anderen Tabellen berechnen. ![](https://b.stripecdn.com/docs-statics-srv/assets/balance-transactions.f272cb17ff065ae1c02b320a235f0b3e.png) ## Details zu Saldo-Transaktionsgebühren Informationen zu den Transaktionsgebühren für jede einzelne Saldo-Transaktion werden in der Tabelle `balance_transaction_fee_details` bereitgestellt. Durch das wie unten beschriebene Zusammenfügen dieser Tabelle mit `balance_transactions` können Sie die Informationen zu den Transaktionsgebühren für jede Saldo-Transaktion zurückgeben. ![](https://b.stripecdn.com/docs-statics-srv/assets/balance_transaction_fee_details.e8c6bba21d6e26ee77157a3fd6b797be.png) Die nachfolgende Abfrage verbindet die Tabellen `balance_transactions` und `balance_transaction_fee_details` miteinander. Jeder zurückgegebene Saldo-Transaktionsposten umfasst den Betrag, die Transaktionsgebühr, die Art der erhobenen Transaktionsgebühr und eine Beschreibung der Transaktionsgebühr. ```sql select date_format(date_trunc('day', balance_transactions.created), '%m-%d-%Y') as day, balance_transactions.id, balance_transactions.amount, balance_transactions.fee, balance_transaction_fee_details.type from balance_transactions inner join balance_transaction_fee_details on balance_transaction_fee_details.balance_transaction_id=balance_transactions.id order by day desc limit 5 ``` | Tag | ID | Betrag | Gebühr | Typ | | --------- | ------------------- | ------ | ------ | ---------- | | 15.4.2026 | txn_orWziM4j7CiRL8J | 1.000 | 59 | stripe_fee | | 15.4.2026 | txn_orWziM4j7CiRL8J | 1.000 | 59 | stripe_fee | | 15.4.2026 | txn_orWziM4j7CiRL8J | 1.000 | 59 | stripe_fee | | 15.4.2026 | txn_orWziM4j7CiRL8J | 1.000 | 59 | stripe_fee | | 15.4.2026 | txn_orWziM4j7CiRL8J | 1.000 | 59 | stripe_fee | ## Abbuchungen Die Tabelle `charges` enthält Daten über [Charge](https://docs.stripe.com/api.md#charge_object)-Objekte. Diese Tabelle eignet sich besonders für Abfragen, die sich auf Informationen zu Zahlungen konzentrieren und weniger für Abrechnungs- oder Abgleichungszwecke gedacht sind. Gleichzeitig ergänzt sie die Abrechnungsberichte mit weiteren Kundendaten. Die Vorlagenabfrage für die [Zahlungskartenaufschlüsselung](https://dashboard.stripe.com/sigma/queries/templates/Payment%20card%20breakdown) nutzt beispielsweise die Tabelle `charges`, um Berichte über die verschiedenen von Ihren Kundinnen/Kunden verwendeten Kartentypen zu erstellen. Sie können die Tabelle `charges` mit mehreren anderen Tabellen zusammenfügen, um mehr Informationen mit Ihren Abfragen abrufen zu können. ![](https://b.stripecdn.com/docs-statics-srv/assets/charges.6bba866fbd70648f58b7af6bcf425c3e.png) Das folgende Beispiel verwendet die Tabelle `charges`, um Berichte über fehlgeschlagene Zahlungen zu erstellen, und gibt dabei sowohl die Kartenmarke als auch den Fehlercode und die Fehlermeldung zurück. ```sql select date_format(date_trunc('day', created), '%m-%d-%Y') as day, id, card_brand, failure_code, failure_message from charges where status = 'failed' order by day desc limit 5 ``` | Tag | ID | card_brand | failure_code | failure_message | | --------- | ------------------ | ---------- | ------------- | ---------------------------------------------------------- | | 15.4.2026 | ch_orWziM4j7CiRL8J | Visa | card_declined | Ihre Karte wurde abgelehnt. | | 15.4.2026 | ch_orWziM4j7CiRL8J | MasterCard | card_declined | Diese Art von Kauf wird von Ihrer Karte nicht unterstützt. | | 15.4.2026 | ch_orWziM4j7CiRL8J | Visa | card_declined | Das Guthaben auf Ihrer Karte ist nicht ausreichend. | | 15.4.2026 | ch_orWziM4j7CiRL8J | Visa | card_declined | Ihre Karte wurde abgelehnt. | | 15.4.2026 | ch_orWziM4j7CiRL8J | MasterCard | card_declined | Ihre Karte wurde abgelehnt. | ## Kunde/Kundinnen Daten über [Customer](https://docs.stripe.com/api.md#customers)-Objekte sind in der Tabelle `customers` enthalten (gehört nicht zur Gruppe **Zahlungstabellen**). Verwenden Sie diese Tabelle, wenn Sie Zahlungen mit Kundinnen/Kunden (beispielsweise mit gespeicherten Zahlungsinformationen) erstellen. Die Tabelle ist ebenfalls hilfreich, wenn Sie [Abonnements](https://docs.stripe.com/stripe-data/query-billing-data.md) nutzen. ![](https://b.stripecdn.com/docs-statics-srv/assets/customers.44a1f795dc4ca7d4df666617f45855e9.png) Das folgende Beispiel ruft eine Liste fehlgeschlagener Zahlungen mit Angabe der ID und E-Mail-Adresse für die jeweiligen Kund/innen ab. ```sql select date_format(date_trunc('day', charges.created), '%m-%d-%Y') as day, customers.id, customers.email, charges.id from charges inner join customers on customers.id=charges.customer_id where charges.status = 'failed' order by day desc limit 5 ``` ## Rückerstattungen Zahlungen und Rückerstattungen sind separate Objekte innerhalb der API. Bei der Rückerstattung einer Zahlung wird immer ein [Refund](https://docs.stripe.com/api.md#refund_object)-Objekt erstellt. Diese Daten sind in der Tabelle `refunds` verfügbar und liefern detaillierte Informationen über erfolgte Rückerstattungen. Wie auch bei der Erstellung von Berichten über Zahlungen sollten zunächst Informationen über Saldo-Transaktionen herangezogen werden. Bei Bedarf können Sie anschließend weitere Einzelheiten mithilfe der Tabelle `refunds` erfassen. Sie können die Tabelle `refunds` mit den Tabellen `balance_transactions` und `charges` zusammenführen, um die Daten der Rückerstattung genauer zu untersuchen. ![](https://b.stripecdn.com/docs-statics-srv/assets/refunds.aebf78debf4de6e9ee96a477b23fc198.png) Im nachfolgenden Beispiel werden die Tabellen `balance_transactions` und `refunds` mithilfe der Spalten `refunds.balance_transaction_id` und `balance_transactions.id` miteinander verbunden. Jeder zurückgegebene Saldo-Transaktionsposten ist eine Rückerstattung und zeigt die entsprechende ID und den Betrag der Zahlung. Es werden nur Saldo-Transaktionen zurückgegeben, die nach einem bestimmten Datum erstellt wurden. ```sql select date_format(date_trunc('day', balance_transactions.created), '%m-%d-%Y') as day, balance_transactions.source_id, refunds.charge_id, balance_transactions.amount from balance_transactions inner join refunds on refunds.balance_transaction_id=balance_transactions.id where balance_transactions.type = 'refund' order by day desc limit 5 ``` | Tag | source_id | charge_id | Betrag | | --------- | ------------------ | ------------------ | ------ | | 15.4.2026 | re_orWziM4j7CiRL8J | ch_orWziM4j7CiRL8J | -1.000 | | 15.4.2026 | re_orWziM4j7CiRL8J | ch_orWziM4j7CiRL8J | -1.000 | | 15.4.2026 | re_orWziM4j7CiRL8J | ch_orWziM4j7CiRL8J | -1.000 | | 15.4.2026 | re_orWziM4j7CiRL8J | ch_orWziM4j7CiRL8J | -1.000 | | 15.4.2026 | re_orWziM4j7CiRL8J | ch_orWziM4j7CiRL8J | -1.000 | ## Anteilig erfasste Rückerstattungen Wenn Sie die [separate Autorisierung und Erfassung](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md) nutzen und nur einen Teil des autorisierten Betrags erfassen, werden sowohl eine Zahlung als auch eine Rückerstattung erstellt. Eine autorisierte Zahlung erzeugt eine `charge` und eine zugehörige Saldo-Transaktion für den vollständigen Betrag. Sobald eine anteilige Erfassung abgeschlossen ist, wird der nicht erfasste Betrag freigegeben und ein `refund` mit dem Feld `reason` von `partial_capture` und einer entsprechenden Saldo-Transaktion wird erstellt. Wenn Sie beispielsweise eine Zahlung in Höhe von 10 USD autorisieren, aber nur 7 USD erfassen, wird zunächst eine `charge` in Höhe von 10 USD erstellt. So wird für die verbliebenen 3 USD zudem ein `refund` mit dem Grund `partial_capture` erstellt. Berücksichtigen Sie diesen Punkt, wenn Ihr Unternehmen Zahlungen mittels separater Autorisierung und Erfassung abwickelt und Sie Berichte zur Prüfung der Rückerstattungsquote von Kund/innen erstellen. Andernfalls kann die Anzahl der Rückerstattungen in Ihrem Konto falsch dargestellt werden. Verwenden Sie das Feld `reason` der Rückerstattung, um beim Abrufen von Zahlungsinformationen unvollständig erfasste Rückerstattungen herauszufiltern. ```sql select balance_transactions.id, balance_transactions.amount from balance_transactions inner join refunds on refunds.id=balance_transactions.source_id where reason != 'partial_capture' limit 5 ``` ## Überweisungen und Auszahlungen Die Tabelle `transfers` enthält Daten über [Auszahlungen](https://docs.stripe.com/payouts.md), die von Ihrem Stripe-Guthaben auf Ihr Bankkonto getätigt wurden. Sie können diese Tabelle verwenden, um jede Auszahlung mit den entsprechenden Zahlungen, Rückerstattungen und Anpassungen abzustimmen, sofern Sie [automatische Auszahlungen](https://docs.stripe.com/payouts.md) verwenden. Für *Connect* (Connect is Stripe's solution for multi-party businesses, such as marketplace or software platforms, to route payments between sellers, customers, and other recipients)-Plattformen enthält diese Tabelle auch Daten zu Überweisungen auf verbundene Stripe-Konten. ![](https://b.stripecdn.com/docs-statics-srv/assets/transfers.f4311836b58c92e30de891a4d124d402.png) Wenn Sie Auszahlungen manuell durchführen, ist der jeweilige Auszahlungsbetrag auf Ihr Bankkonto beliebig. Somit kann er nicht mit bestimmten Saldo-Transaktionen abgeglichen werden und gibt nur den von Ihnen zur Auszahlung auf Ihr Bankkonto angeforderten Betrag an. Im folgenden Beispiel werden die Tabellen `balance_transactions` und `transfers` miteinander verbunden. Dabei werden eine Liste von Zahlungen und Rückerstattungen, die entsprechende Auszahlung und das Datum des planmäßigen Eintreffens der Auszahlung auf Ihrem Bankkonto übergeben. ```sql select date_format(date_trunc('day', balance_transactions.created), '%m-%d-%Y') as bt_created, balance_transactions.source_id, balance_transactions.type, balance_transactions.net as net_amount, balance_transactions.automatic_transfer_id as transfer_id, date_format(date_trunc('day', transfers.date), '%m-%d-%Y') as transfer_date from balance_transactions inner join transfers on balance_transactions.automatic_transfer_id=transfers.id where balance_transactions.type = 'charge' and balance_transactions.type != 'refund' order by bt_created desc limit 5 ``` | Tag | source_id | Typ | net_amount | transfer_id | transfer_date | | ---------- | ------------------ | ------- | ---------- | ------------------ | ------------- | | 22.05.2017 | ch_orWziM4j7CiRL8J | Zahlung | 941 | po_orWziM4j7CiRL8J | 24.05.2017 | | 22.05.2017 | ch_orWziM4j7CiRL8J | Zahlung | 941 | po_orWziM4j7CiRL8J | 24.05.2017 | | 21.05.2017 | ch_orWziM4j7CiRL8J | Zahlung | 941 | po_orWziM4j7CiRL8J | 23.05.2017 | | 21.05.2017 | ch_orWziM4j7CiRL8J | Zahlung | 941 | po_orWziM4j7CiRL8J | 23.05.2017 | | 21.05.2017 | ch_orWziM4j7CiRL8J | Zahlung | 941 | po_orWziM4j7CiRL8J | 23.05.2017 | > Auszahlungen vor dem 06.04.2017 haben eine TRANSFER_ID mit Präfix `tr_`. ## Rückbuchungen von Überweisungen Eine manuell erstellte Auszahlung (oder Überweisung auf ein verbundenes Stripe-Konto) kann rückgängig gemacht werden, wenn sie noch nicht ausgezahlt wurde. Dabei werden alle Gelder in das verfügbare Guthaben Ihres Kontos zurückgebucht. Sie werden als [Transfer_reversal](https://docs.stripe.com/api.md#transfer_reversal_object)-Objekte dargestellt und sind in der Tabelle `transfer_reversals` zu finden. Rückbuchungen von Überweisungen gelten nur für manuell erstellte Auszahlungen und Überweisungen – automatische Auszahlungen können nicht zurückgebucht werden.