# Gutschriften programmatisch erstellen Verwenden Sie die Invoicing-API, um Beträge von abgeschlossenen Rechnungen mithilfe von Stornorechnungen anzupassen oder zurückzuerstatten. Generieren Sie eine [Stornorechnung](https://docs.stripe.com/api/credit_notes.md), um den Saldo einer `open` oder `paid` *Rechnung* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice) zu korrigieren. > Informationen zum Arbeiten mit Stornorechnungen über das Dashboard finden Sie unter [Stornorechnungen ausstellen](https://docs.stripe.com/invoicing/dashboard/credit-notes.md). Beim Erstellen einer Stornorechnung stehen Ihnen drei Möglichkeiten zur Verfügung: - Rabatt auf einen festen Betrag von einem Rechnungsposten. - Rabatt auf eine Menge aus einem Rechnungsposten. Der Gesamtrabatt ergibt sich aus der Menge multipliziert mit dem Stückpreis dieses Postens. - Wenden Sie einen Rabatt auf den gesamten Rechnungsbetrag an, indem Sie einen benutzerdefinierten Rabattposten mit einer Beschreibung, einer Menge und einem Stückpreis hinzufügen. Der Gesamtrabatt ergibt sich aus der Menge multipliziert mit dem Stückpreis. Wir empfehlen, Rechnungsposten nach Möglichkeit zu rabattieren, da jede Gutschrift einem Posten zugeordnet wird. Das Hinzufügen eines benutzerdefinierten Rabattpostens kann die Berichterstattung und die Nachverfolgung erschweren, da die Gutschrift keinem echten Rechnungsposten zugeordnet ist. > Sie können keine Rabattarten für einen Rechnungsposten kombinieren. Wenn Sie beispielsweise die Menge eines Postens ermäßigen, kann eine zukünftige Stornorechnung diesen Posten nur nach Menge, nicht nach Betrag, ermäßigen. Wenn Sie einen Rabatt für einen Einzelposten einlegen, kann eine zukünftige Stornorechnung diesen Posten nur nach Betrag und nicht nach Menge ermäßigen. ## Gutschriften für offene Rechnungen Wenn Sie einen nutzerdefinierten Posten in einer Stornorechnung für eine `offene` Rechnung erstellen, wird der `amount_due` auf der Rechnung auf Grundlage der `custom_line_item` der Stornorechnung reduziert. Das geschieht zusätzlich zu den Anpassungen, die Sie an bestehenden `invoice_line_items` vorgenommen haben. Wenn der fällige Betrag einer `offenen` Rechnung beispielsweise 100 USD beträgt und Sie eine `custom_line_item` mit `quantity=1` und `unit_amount=2000` erstellen, beträgt der neue fällige Betrag auf der Rechnung 80 USD. Wenn Sie [custom_line_item](https://docs.stripe.com/api/credit_notes/create.md#create_credit_note-lines) verwenden, müssen Sie den Gutschriftbetrag mit `unit_amount` (oder `unit_amount_decimal`) und der Menge anstelle eines Pauschalbetrags angeben. Sie können den Posten mit einer Beschreibung versehen und Steuern entweder mit `tax_rates` oder `tax_amounts` anwenden, aber nicht mit beidem. Stornorechnungen erscheinen als Positionen nach der Anwendung von Rabatten und Steuern auf Rechnungen, d. h. es handelt sich um einen korrigierten Betrag nach Steuern. Wir berechnen den fälligen Rechnungsbetrag in der folgenden Reihenfolge: 1. Summe der Rechnungsposten 1. Rabatte 1. Rechnungsbetrag vor Steuern 1. Steuern 1. Kundenguthaben 1. Angewendete Stornorechnungen (auf fälligen Bruttobetrag) 1. Neuer fälliger Betrag Ergibt sich aus einer Gutschriftanwendung ein Rechnungsbetrag von Null, wird die Rechnung automatisch als `paid` gebucht. Wenn Sie die Menge oder den Betrag eines vorhandenen Postens ändern möchten, geben Sie die Rechnungs-ID, die Posten-ID und die neue Menge oder den neuen Betrag an. Wenn ein Posten eine Menge und einen Betrag hat, können Sie nur die Menge aktualisieren. Andernfalls können Sie nur den Betrag ändern. Im folgenden Beispiel wird die Menge in zwei geändert: ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice={{INVOICE_ID}} \ -d "lines[0][type]=invoice_line_item" \ -d "lines[0][invoice_line_item]={{INVOICE_LINE_ITEM}}" \ -d "lines[0][quantity]=2" ``` Um einen nutzerdefinierten Stornorechnungsposten zu erstellen, geben Sie die Rechnungs-ID, eine Beschreibung, die Menge und den Betrag (für die jeweilige Einheit) an. Sie können (optional) auch einen Steuersatz festlegen. In diesem Beispiel wird ein nutzerdefinierter Posten mit 10 USD erstellt: ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice={{INVOICE_ID}} \ -d "lines[0][type]=custom_line_item" \ -d "lines[0][description]=Courtesy credit" \ -d "lines[0][quantity]=1" \ -d "lines[0][unit_amount]=1000" ``` ## Stornorechnungen für bezahlte Rechnungen Wenn Sie eine Stornorechnung für eine `paid` Rechnung erstellen, ändert sich der auf der Rechnung fällige Betrag nicht. Stattdessen können Nutzer/innen eine oder mehrere der folgenden Optionen wählen: | Aktion | Beschreibung | | ----------------------------- | ---------------------------------------------------------------------------------------------------------- | | Rückerstattung erstellen | Erstatten Sie den Betrag der Rechnung über die Zahlungsmethode der Kundin/des Kunden zurück. | | Eine Rückerstattung verlinken | Link einer bestehenden Rückerstattung für die Zahlung der Rechnung. | | Kundenguthaben gutschreiben | Schreiben Sie das Kundenguthaben gut, sodass es automatisch auf zukünftige Rechnungen angerechnet wird. | | Guthaben außerhalb von Stripe | Schreiben Sie der Rechnung einen Betrag gut, der durch eine Korrektur außerhalb von Stripe entstanden ist. | Im folgenden Beispiel führt die Stornorechnung zu einer Rückerstattung. ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice={{INVOICE_ID}} \ -d "lines[0][type]=invoice_line_item" \ -d "lines[0][invoice_line_item]={{INVOICE_LINE_ITEM}}" \ -d "lines[0][quantity]=2" \ -d refund_amount=500 ``` Hier erzeugt die Stornorechnung ein Guthaben für das Kundenguthaben: ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice={{INVOICE_ID}} \ -d "lines[0][type]=invoice_line_item" \ -d "lines[0][invoice_line_item]={{INVOICE_LINE_ITEM}}" \ -d "lines[0][quantity]=2" \ -d credit_amount=500 ``` Sie können auch mehrere Parameter kombinieren. Gelder, die nach Abzug der Rückerstattungs- und Stornorechnungsbeträge vom `amount` auf der Rechnung übrig bleibt, fließen in eine Stornorechnung außerhalb von Stripe, in der Regel in Form von Bargeld oder eines Schecks. ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice={{INVOICE_ID}} \ -d "lines[0][type]=invoice_line_item" \ -d "lines[0][invoice_line_item]={{INVOICE_LINE_ITEM}}" \ -d "lines[0][quantity]=2" \ -d refund_amount=100 \ -d credit_amount=200 \ -d out_of_band_amount=200 ``` ## Stornorechnungen annullieren Sie können eine Stornorechnung nur dann annullieren, wenn sie sich auf einer offenen Rechnung befindet. Durch Stornieren einer Stornorechnung wird deren Anpassung rückgängig gemacht, wodurch sich der in der Rechnung fällige Betrag um den Betrag der Stornorechnung erhöht. So stornieren Sie eine Stornorechnung: ```curl curl -X POST https://api.stripe.com/v1/credit_notes/{{CREDIT_NOTE_ID}}/void \ -u "<>:" ``` ## Gutschrift negativer Posten Sie können einen negativen Betrag für einen negativen `invoice_line_item` mit dem Parameter `amount` oder `quantity` gutschreiben. Zum Beispiel, wenn Sie eine `open` Rechnung mit zwei Einzelposten haben: - ein positiver Posten mit `quantity=1` und `unit_amount=10000` - und ein negativer Posten mit `quantity=1` und `unit_amount=-5000`. In diesem Beispiel wird der Parameter `amount` verwendet, um den vollen Betrag beider Posten gutzuschreiben: ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice={{INVOICE_ID}} \ -d "lines[0][type]=invoice_line_item" \ -d "lines[0][invoice_line_item]={{POSITIVE_INVOICE_LINE_ITEM}}" \ -d "lines[0][amount]=10000" \ -d "lines[1][type]=invoice_line_item" \ -d "lines[1][invoice_line_item]={{NEGATIVE_INVOICE_LINE_ITEM}}" \ -d "lines[1][amount]=-5000" ``` In diesem Beispiel wird der Parameter `quantity` verwendet, um dasselbe zu tun: ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice={{INVOICE_ID}} \ -d "lines[0][type]=invoice_line_item" \ -d "lines[0][invoice_line_item]={{POSITIVE_INVOICE_LINE_ITEM}}" \ -d "lines[0][quantity]=1" \ -d "lines[1][type]=invoice_line_item" \ -d "lines[1][invoice_line_item]={{NEGATIVE_INVOICE_LINE_ITEM}}" \ -d "lines[1][quantity]=1" ``` Es gelten die folgenden Einschränkungen: - Der Gesamtbetrag der Stornorechnung muss positiv bleiben. - Der Gesamtbetrag, der für einen negativen Posten gutgeschrieben wird, muss negativ sein. - Der Gesamtbetrag, der für einen negativen Posten gutgeschrieben wird, darf nicht geringer sein als der Postenbetrag. Sie können auch keinen negativen Betrag für einen `custom_line_item` gutschreiben. Wir unterstützen nur negative Beträge für `invoice_line_items`.