# Steuern für wiederkehrende Zahlungen erheben So erheben und erklären Sie Steuern für wiederkehrende Zahlungen. Um Steuern für wiederkehrende Zahlungen zu berechnen, bieten wir Stripe Tax und Tax Rates an. - **Stripe Tax** – Ein kostenpflichtiges Produkt, das Steuern für Ihre Transaktionen automatisch und ohne vordefinierte Steuersätze und -regeln berechnet. Gebühren werden erst dann fällig, wenn Sie mindestens einen Standort angegeben haben, an dem Sie zur Berechnung und Abführung von Steuern verpflichtet sind. Weitere Informationen finden Sie unter [Stripe Tax](https://docs.stripe.com/tax.md). - **Tax Rates** – Eine kostenlose Funktion, mit der Sie beliebig viele Steuersätze definieren und auf *Rechnungen* (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), *Abonnements* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) und einmalige Zahlungen anwenden. Stripe erstellt oder unterhält keine Steuersätze für Sie. Weitere Informationen finden Sie unter [Tax Rates](https://docs.stripe.com/api/tax_rates.md) und [wie diese funktionieren](https://docs.stripe.com/billing/taxes/tax-rates.md). # Stripe Tax > This is a Stripe Tax for when tax-calculation is stripe-tax. View the full page at https://docs.stripe.com/billing/taxes/collect-taxes?tax-calculation=stripe-tax. Mit Stripe Tax können Sie den Steuerbetrag auf Ihre wiederkehrenden Zahlungen berechnen, wenn Sie Stripe Billing verwenden. Verwenden Sie die Standortdaten Ihrer Kundinnen und Kunden, um eine Vorschau des Steuerbetrags zu erhalten, bevor Sie ein Abonnement erstellen, und erstellen Sie es dann mit aktiviertem Stripe Tax, wenn Ihr Kunde/Ihre Kundin bereit ist, zu zahlen. Stripe Tax ist in Stripe Billing integriert und verarbeitet automatisch Steuerberechnungen mit Ihrem [Preismodell](https://docs.stripe.com/products-prices/pricing-models.md), [anteilmäßigen Verrechnungen](https://docs.stripe.com/billing/subscriptions/prorations.md), [Rabatten](https://docs.stripe.com/billing/subscriptions/coupons.md), [Testversionen](https://docs.stripe.com/billing/subscriptions/trials.md) usw. #### Customer v1 Ein Diagramm, das eine allgemeine Übersicht über eine Integration von Stripe Tax und Billing mit Customer v1 bietet. (See full diagram at https://docs.stripe.com/billing/taxes/collect-taxes) In diesem Leitfaden wird davon ausgegangen, dass Sie Stripe Tax und Billing zum ersten Mal einrichten. Erfahren Sie, wie Sie [bestehende Abonnements aktualisieren](https://docs.stripe.com/tax/subscriptions/update.md). Wenn Sie Stripe Checkout verwenden, um neue Abonnements zu erstellen, informieren Sie sich darüber, wie Sie [automatisch Steuern für Checkout-Sitzungen einziehen](https://docs.stripe.com/tax/checkout.md), oder sehen Sie sich das kurze Video unten an: [Watch on YouTube](https://www.youtube.com/watch?v=3QBRs4IfDNo) ## Steuern und Gesamtsumme schätzen [Serverseitig] #### Vor der Adresserfassung Wenn Kundinnen/Kunden zum ersten Mal Ihren Bezahlvorgang durchlaufen, liegen Ihnen möglicherweise noch keine Adressdaten vor. [Erstellen Sie in diesem Fall eine Rechnung](https://docs.stripe.com/api/invoices/create_preview.md) und legen Sie [customer_details.tax.ip_address](https://docs.stripe.com/api/invoices/create_preview.md#create_create_preview-customer_details-tax-ip_address) fest, damit Stripe sie anhand ihrer IP-Adresse ermitteln kann. > In den meisten Fällen kann Stripe eine IP-Adresse in einen physischen Bereich auflösen, aber die Genauigkeit variiert und spiegelt möglicherweise nicht den tatsächlichen Standort Ihres Kunden/Ihrer Kundin wider. Wir empfehlen, sich nicht auf die IP-Adresse eines Kunden/einer Kundin zu verlassen, um seine/ihre Adresse über eine anfängliche Schätzung hinaus zu bestimmen. ```curl curl https://api.stripe.com/v1/invoices/create_preview \ -u "<>:" \ -d "automatic_tax[enabled]"=true \ -d "customer_details[tax][ip_address]"={{IP_ADDRESS}} \ -d "subscription_details[items][0][price]"="{{PRICE_ID}}" ``` #### Nach der Adresserfassung Wenn Ihr Kunde/Ihre Kundin seine/ihre Adressdaten eingibt, legen Sie auch [customer_details.address](https://docs.stripe.com/api/invoices/create_preview.md#create_create_preview-customer_details-address) fest. Verwenden Sie [customer_details.shipping](https://docs.stripe.com/api/invoices/create_preview.md#create_create_preview-customer_details-shipping), wenn Sie Versandadressen erfassen. ```curl curl https://api.stripe.com/v1/invoices/create_preview \ -u "<>:" \ -d "automatic_tax[enabled]"=true \ -d "customer_details[address][line1]"={{LINE1}} \ -d "customer_details[address][line2]"={{LINE2}} \ -d "customer_details[address][city]"={{CITY}} \ -d "customer_details[address][state]"={{STATE}} \ -d "customer_details[address][postal_code]"={{POSTAL_CODE}} \ -d "customer_details[address][country]"={{COUNTRY}} \ -d "customer_details[tax][ip_address]"={{IP_ADDRESS}} \ -d "subscription_details[items][0][price]"="{{PRICE_ID}}" ``` Überprüfen Sie den [automatic_tax.status](https://docs.stripe.com/api/invoices/object.md#invoice_object-automatic_tax-status) der Rechnung. Wenn der Status `requires_location_inputs` ist, bedeutet dies, dass die Adressdaten ungültig oder unzureichend sind. Fordern Sie Ihre Kundinnen/Kunden in diesem Fall auf, ihre Adressdaten erneut einzugeben oder genaue Adressdaten anzugeben. Die [Rechnungssumme](https://docs.stripe.com/api/invoices/object.md#invoice_object-total) gibt an, wie viel Ihr Kunde/Ihre Kundin zahlt, und die [Steuer](https://docs.stripe.com/api/invoices/object.md#invoice_object-tax) ist die Summe aller Steuerbeträge auf der Rechnung. Eine Aufschlüsselung der Steuern finden Sie unter [total_tax_amounts](https://docs.stripe.com/api/invoices/object.md#invoice_object-total_tax_amounts). Alle Beträge sind in Cent angegeben. > #### Keine Steuern > > Wenn der Wert für `tax` Null ist, stellen Sie sicher, dass Sie am Standort Ihres Kunden/Ihrer Kundin steuerlich registriert sind. Erfahren Sie, [wie Sie sich für Sales Tax, Umsatzsteuer und GST](https://docs.stripe.com/tax/registering.md) registrieren, und erfahren Sie mehr über [steuerfreie Beträge und die Umkehrung der Steuerschuldnerschaft](https://docs.stripe.com/tax/zero-tax.md). ## Erfassung der Kundendaten [Clientseitig] Nachdem Sie eine Schätzung der Steuern und der Gesamtsumme erhalten haben, beginnen Sie mit der Erfassung von Kundeninformationen, einschließlich der Versandadresse (falls zutreffend), der Rechnungsadresse und der Zahlungsdaten. Beachten Sie, dass Sie bei der Verwendung von Stripe Tax Zahlungsdetails ohne Intent erfassen. Im ersten Schritt [erstellen Sie ein Elements-Objekt ohne Intent](https://docs.stripe.com/js/elements_object/create_without_intent): ```javascript const stripe = Stripe("<>"); const elements = stripe.elements({ mode: 'subscription', currency: '{{CURRENCY}}', amount: {{TOTAL}}, // Dies ist die Gesamtsumme der Rechnung. }); ``` Erstellen Sie als Nächstes ein [Address Element](https://docs.stripe.com/js/elements_object/create_address_element) und ein [Payment Element](https://docs.stripe.com/js/elements_object/create_payment_element) und [verbinden](https://docs.stripe.com/js/element/mount) Sie beide: ```javascript const addressElement = elements.create('address', { mode: 'billing' // or 'shipping', if you are shipping goods }); addressElement.mount('#address-element'); const paymentElementOptions = { layout: 'accordion'}; const paymentElement = elements.create('payment', paymentElementOptions); paymentElement.mount('#payment-element'); ``` Anschließend können Sie das Address Element auf [Änderungsereignisse](https://docs.stripe.com/js/element/events/on_change?type=paymentElement#element_on_change-event) überwachen. Wenn sich die Adresse ändert, [schätzen](https://docs.stripe.com/tax/subscriptions.md?estimate=after#estimate-taxes-total) Sie die Steuern und die Gesamtsumme neu. ```javascript addressElement.on('change', async function(event) { // Throttle your requests to avoid overloading your server or hitting // Stripe's rate limits. const { tax, total } = await updateEstimate(event.value.address); elements.update({ amount: total }); // Update your page to display the new tax and total to the user... }); ``` > Wenn Ihr Kunde/Ihre Kundin seine/ihre Adresse eingibt, löst das Adresselement für jeden Tastenanschlag ein `change`-Ereignis aus. Um eine Überlastung Ihres Servers und das Erreichen der [Ratenbegrenzungen](https://docs.stripe.com/rate-limits.md) von Stripe zu vermeiden, warten Sie einige Zeit nach dem letzten `change`-Ereignis, bevor Sie die Steuern und die Summe neu schätzen. ## Übermittlung handhaben [Clientseitig] Wenn Ihre Kundinnen/Kunden das Formular absenden, rufen Sie [elements.submit()](https://docs.stripe.com/js/elements/submit) auf, um die Formularfelder zu validieren und alle für Wallets erforderlichen Daten zu erfassen. Sie müssen warten, bis das Promise dieser Funktion aufgelöst wurde, bevor Sie weitere Vorgänge ausführen. ```javascript document.querySelector("#form").addEventListener("submit", async function(event) { // We don't want to let default form submission happen here, // which would refresh the page. event.preventDefault(); const { error: submitError } = await elements.submit(); if (submitError) { // Handle error... return; } const { value: customerDetails } = await addressElement.getValue(); // See the "Save customer details" section below to implement this // server-side. await saveCustomerDetails(customerDetails); // Fordert Ihren Server auf, die Kundendaten zu speichern. // See the "Create subscription" section below to implement this server-side. const { clientSecret } = await createSubscription(); // latest_invoice.confirmation_secret.client_secret des neuen Abonnements. // Stellt eine Anfrage an Ihren Server, um ein Abonnement zu erstellen. const { error: confirmError } = await stripe.confirmPayment({ elements, clientSecret, confirmParams: { return_url: {{RETURN_URL}}, // Die URL, an die Stripe Ihre Kundinnen und Kunden weiterleitet, nachdem sie die Zahlung abgeschlossen haben. }, }); if (confirmError) { // Handle error... return; } // Upon a successful confirmation, your user will be redirected to the // return_url you provide before the Promise ever resolves. }); ``` ## Kundendaten speichern [Serverseitig] #### Customer v1 [Aktualisieren](https://docs.stripe.com/api/customers/update.md) Sie Ihr `Customer`-Objekt anhand der Angaben, die Sie von Ihren Kundinnen/Kunden erfasst haben, damit Stripe Tax den genauen Standort des Kunden/der Kundin bestimmen kann und genaue Ergebnisse erhält. > Wenn sich Ihr/e Kund/in in den USA befindet, geben Sie nach Möglichkeit eine vollständige Adresse an. Mit dem Begriff „dachgenau“ meinen wir, dass wir den Standort Ihres Kunden/Ihrer Kundin einem bestimmten Haus oder Gebäude zuordnen können. Dies bietet eine höhere Genauigkeit, wenn zwei nebeneinander liegende Häuser in derselben Straße aufgrund komplexer Zuständigkeitsgrenzen unterschiedlichen Steuersätzen unterliegen können. Wenn Sie noch kein `Customer`-Objekt erstellt haben (zum Beispiel bei der ersten Anmeldung Ihres Kunden/Ihrer Kundin auf Ihrer Website), können Sie jetzt eines [erstellen](https://docs.stripe.com/api/customers/create.md). #### Kunden/Kundin aktualisieren ```curl curl https://api.stripe.com/v1/customers/{{CUSTOMER_ID}} \ -u "<>:" \ -d "address[line1]"={{LINE1}} \ -d "address[line2]"={{LINE2}} \ -d "address[city]"={{CITY}} \ -d "address[state]"={{STATE}} \ -d "address[postal_code]"={{POSTAL_CODE}} \ -d "address[country]"={{COUNTRY}} \ -d "tax[validate_location]"=immediately ``` > Falls Ihr Kunde/Ihre Kundin bereits andere Abonnements mit aktivierten automatischen Steuern hat und Sie seine/ihre Adressdaten aktualisieren, können sich die Steuern und die Gesamtbeträge auf ihren zukünftigen Rechnungen unterscheiden. Dies liegt daran, dass die Steuersätze je nach Kundenstandort variieren. #### Kunden/Kundin erstellen ```curl curl https://api.stripe.com/v1/customers \ -u "<>:" \ -d "address[line1]"={{LINE1}} \ -d "address[line2]"={{LINE2}} \ -d "address[city]"={{CITY}} \ -d "address[state]"={{STATE}} \ -d "address[postal_code]"={{POSTAL_CODE}} \ -d "address[country]"={{COUNTRY}} \ -d "tax[validate_location]"=immediately ``` Ihr Kunde/Ihre Kundin muss über einen gültigen Steuerstandort verfügen, um die automatische Steuer für sein/ihr Abo zu aktivieren. Legen Sie für [tax.validate_location](https://docs.stripe.com/api/customers/update.md#update_customer-tax-validate_location) `immediately` fest, um den Steuerstandort des Kunden/der Kundin zu validieren. Schlägt die Validierung fehl, sorgt Stripe dafür, dass Ihre Anfrage mit dem Fehlercode [customer_tax_location_invalid](https://docs.stripe.com/error-codes.md#customer-tax-location-invalid) fehlschlägt. Durch Überprüfen von [automatic_tax.status](https://docs.stripe.com/api/invoices/object.md#invoice_object-automatic_tax-status) für Ihre Rechnungsvorschau können Sie diesen Fehler vermeiden. ## Abonnement erstellen [Serverseitig] [Erstellen](https://docs.stripe.com/api/subscriptions/create.md) Sie ein Abonnement mit aktivierten automatischen Steuern #### Customer v1 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "automatic_tax[enabled]"=true \ -d customer="{{CUSTOMER_ID}}" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "payment_settings[save_default_payment_method]"=on_subscription \ -d "expand[0]"="latest_invoice.confirmation_secret" ``` Das [latest_invoice.confirmation_secret.client_secret](https://docs.stripe.com/api/invoices/object.md#invoice_object-confirmation_secret-client_secrett) ist das *Client-Geheimnis* (The client secret is a unique key returned from Stripe as part of a PaymentIntent. This key lets the client access important fields from the PaymentIntent (status, amount, currency) while hiding sensitive ones (metadata, customer)) des *Payment Intent* (API object that represents your intent to collect payment from a customer, tracking charge attempts and payment state changes throughout the process) der ersten (und der letzten) Rechnung des neuen Abonnements. Sie müssen das Client-Geheimnis an Ihr Frontend übergeben, um den Payment Intent *bestätigen* (Confirming a PaymentIntent indicates that the customer intends to pay with the current or provided payment method. Upon confirmation, the PaymentIntent attempts to initiate a payment) zu können. > Sie dürfen das Client-Geheimnis weder speichern, noch protokollieren oder Personen außer dem Kunden/der Kundin selbst zugänglich machen. Vergewissern Sie sich, dass auf jeder Seite, die das Client-Geheimnis enthält, TLS aktiviert ist. Wenn Ihr Kunde/Ihre Kundin über eine Standardzahlungsmethode verfügt, wird die erste Rechnung des Abonnements automatisch bezahlt. Sie können dies mit dem [latest_invoice.status](https://docs.stripe.com/api/invoices/object.md#invoice_object-status) des Abonnements bestätigen. Wenn Sie die neuen Zahlungsdetails, die Sie von Ihrem Kunden/Ihrer Kundin erfasst haben in Ihrem Bezahlvorgang verwenden möchten, müssen Sie sicherstellen, dass die erste Rechnung nicht automatisch bezahlt wird. Übergeben Sie `default_incomplete` für das [payment_behavior](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-payment_behavior), wenn Sie Ihr Abonnement erstellen, und bestätigen Sie den Payment Intent mit [stripe.confirmPayment()](https://docs.stripe.com/js/payment_intents/confirm_payment), wie dargestellt. Weitere Informationen finden Sie unter [Billing-Einzugsmethoden](https://docs.stripe.com/billing/collection-method.md). ## Optional: Produkte und Preise aktualisieren Stripe Tax verwendet Informationen, die zu *Produkten* (Products represent what your business sells—whether that's a good or a service) und *Preisen* (Prices define how much and how often to charge for products. This includes how much the product costs, what currency to use, and the interval if the price is for subscriptions) gespeichert sind, um Steuern zu berechnen, wie z. B. *Steuercode* (A tax code is the category of your product for tax purposes) und *Steuerverhalten* (Tax behavior determines whether you want to include taxes in the price ("inclusive") or add them on top ("exclusive")). Wenn Sie diese Konfigurationen nicht explizit angeben, verwendet Stripe Tax den in den [Steuereinstellungen](https://dashboard.stripe.com/settings/tax) ausgewählten Standard-Steuercode. Weitere Informationen finden Sie unter [Produkt-Steuerkennzeichen und Steuerverhalten festlegen](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md). ## Optional: Abwicklung von Rückerstattungen [Serverseitig] Wenn Sie eine Rückerstattung für eine Rechnungszahlung erstellen, reduziert Stripe Tax automatisch Ihre Steuerpflicht. Alternativ können Sie [Stornorechnungen](https://docs.stripe.com/api/credit_notes/object.md) ausstellen, um die Verringerung der Steuerpflicht nachzuverfolgen und Ihren Kundinnen/Kunden Aufzeichnungen zur Verfügung zu stellen. #### Rechnungsbetrag zurückerstatten Um einen mit einer Rechnungssumme verknüpften Betrag zurückzuerstatten, erstellen Sie eine Stornorechnung und eine Rückerstattung. #### Stornorechnung mit automatischer Rückerstattung Erstellen Sie eine Stornorechnung und eine [Rückerstattung](https://docs.stripe.com/api/refunds/object.md) gemeinsam, indem Sie [create Credit Note](https://docs.stripe.com/api/credit_notes/create.md) aufrufen und einen `refund_amount`-Wert angeben. ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice="{{INVOICE_ID}}" \ -d refund_amount=1000 ``` #### Stornorechnung mit manueller Rückerstattung [Erstellen Sie eine Rückerstattung](https://docs.stripe.com/api/refunds/create.md) und geben Sie deren ID an, wenn Sie eine [Stornorechnung](https://docs.stripe.com/api/credit_notes/object.md) erstellen. Geben Sie in diesem Fall keinen `refund_amount`-Wert an. ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice="{{INVOICE_ID}}" \ -d "refunds[0][refund]"="{{REFUND_ID}}" \ -d "refunds[0][amount_refunded]"=1000 ``` Stripe Tax verteilt den gesamten Erstattungsbetrag automatisch zwischen den Steuern und dem Nettobetrag. #### Rechnungspostenbetrag zurückerstatten Wenn Sie einen mit einem Rechnungsposten verknüpften Betrag zurückerstatten möchten, berechnen Sie zuerst die [Summe](https://docs.stripe.com/api/credit_notes/object.md#credit_note_object-total) und die [total_excluding_tax](https://docs.stripe.com/api/credit_notes/object.md#credit_note_object-total_excluding_tax)-Beträge, indem Sie [preview Credit Note](https://docs.stripe.com/api/credit_notes/preview.md) aufrufen. ```curl curl -G https://api.stripe.com/v1/credit_notes/preview \ -u "<>:" \ -d invoice="{{INVOICE_ID}}" \ -d "lines[0][type]"=invoice_line_item \ --data-urlencode "lines[0][invoice_line_item]"="{{line item id from invoice}}" \ -d "lines[0][amount]"=1000 ``` Erstellen Sie dann eine [Stornorechnung](https://docs.stripe.com/api/credit_notes/object.md) und eine [Rückerstattung](https://docs.stripe.com/api/refunds/object.md). #### Stornorechnung mit automatischer Rückerstattung Erstellen Sie eine Stornorechnung und eine [Rückerstattung](https://docs.stripe.com/api/refunds/object.md) gemeinsam, indem Sie [create Credit Note](https://docs.stripe.com/api/credit_notes/create.md) aufrufen und einen `refund_amount`-Wert angeben. ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice="{{INVOICE_ID}}" \ -d refund_amount=1000 \ -d "lines[0][type]"=invoice_line_item \ -d "lines[0][invoice_line_item]"="{{line item id from invoice}}" \ -d "lines[0][amount]"=1000 ``` #### Stornorechnung mit manueller Rückerstattung [Erstellen Sie eine Rückerstattung](https://docs.stripe.com/api/refunds/create.md) mithilfe der in der Vorschau der Stornorechnung berechneten `total` und geben Sie deren ID an, wenn Sie eine [Stornorechnung](https://docs.stripe.com/api/credit_notes/object.md) erstellen. Geben Sie in diesem Fall keinen `refund_amount`-Wert an. ```curl curl https://api.stripe.com/v1/credit_notes \ -u "<>:" \ -d invoice="{{INVOICE_ID}}" \ -d "refunds[0][refund]"="{{REFUND_ID}}" \ -d "refunds[0][amount_refunded]"=1000 \ -d "lines[0][type]"=invoice_line_item \ -d "lines[0][invoice_line_item]"="{{line item id from invoice}}" \ -d "lines[0][amount]"=1000 ``` ## Webhooks verwenden Wir empfehlen, Abonnement-Ereignisse mit *Webhooks* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) zu überwachen, da die meisten Abonnementaktivitäten asynchron erfolgen. Wenn Sie mit der Verwendung von Stripe Tax beginnen, überwachen Sie unbedingt die [invoice.finalization_failed](https://docs.stripe.com/api/events/types.md#event_types-invoice.finalization_failed)-Ereignisse. Wenn der [automatic_tax.status](https://docs.stripe.com/api/invoices/object.md#invoice_object-automatic_tax-status) der Rechnung `requires_location_inputs` ist, bedeutet dies, dass die Adressdetails Ihres Kunden/Ihrer Kundin ungültig oder unzureichend sind. In diesem Fall kann Stripe die Steuern nicht berechnen, die Rechnung nicht finalisieren und die Zahlung nicht einziehen. Bitten Sie Ihren Kunden/Ihre Kundin, die Adressdetails erneut einzugeben oder eine genaue Adresse anzugeben. Weitere Informationen finden Sie unter [Verwenden von Webhooks mit Abonnements](https://docs.stripe.com/billing/subscriptions/webhooks.md). # Steuersätze > This is a Steuersätze for when tax-calculation is tax-rates. View the full page at https://docs.stripe.com/billing/taxes/collect-taxes?tax-calculation=tax-rates. Um Steuern für ein Abo zu erheben, legen Sie [Steuersätze beim Abo](https://docs.stripe.com/billing/taxes/collect-taxes.md#static-configuration) fest oder [definieren Sie die Steuersätze auf Rechnungen](https://docs.stripe.com/billing/taxes/collect-taxes.md#dynamic-configuration), wenn das Abo verlängert wird. Wenn Sie Checkout verwenden, können Sie die [Steuersätze in Checkout-Sessions](https://docs.stripe.com/billing/taxes/collect-taxes.md#adding-tax-rates-to-checkout) angeben, um Steuern auf Abos anzuwenden. ## Steuersätze beim Abo festlegen (Recommended) Bei Abonnements werden Rechnungsentwürfe erstellt, die nach Erstellung noch etwa eine Stunde lang bearbeitet werden können. Innerhalb dieser Zeit können Sie die Steuersätze mit den unten beschriebenen Schritten korrigieren. Sie können Steuern auf der Ebene des Abonnements und der Abonnement-Artikel erheben und bis zu [fünf Steuersätze](https://docs.stripe.com/billing/taxes/tax-rates.md#using-multiple-tax-rates) für jeden Abonnement-Artikel festlegen. Wenn Rechnungen für Abonnements erstellt werden, werden die Steuersätze vom Abonnement in die Rechnung kopiert. Im folgenden Beispiel hat der erste Abonnement-Artikel zwei Steuersätze: 3 % und 5 %. Dadurch wird der Steuersatz von 1 % aus der Ebene des Abonnements überschrieben. Für den zweiten Artikel sind keine eigenen Steuersätze festgelegt, sodass automatisch der Steuersatz von 1 % aus der Ebene des Abonnements angewendet wird. | | | | | Abonnement-Artikel 1 | 3 % und 5 % | ➡️ | Rechnungsposten 1 | 3 % und 5 % | | Abonnement-Artikel 2 | (kein Steuersatz festgelegt) | ➡️ | Rechnungsposten 2 | (kein Steuersatz festgelegt) | | Abonnement | 1 % | ➡️ | Rechnung | 1 % | Sie können Steuersätze festlegen, wenn Sie Abonnement-Artikel erstellen oder aktualisieren, indem Sie die [Steuersatz-IDs](https://docs.stripe.com/api/subscription_items/object.md#subscription_item_object-tax_rates-id) übergeben. Im folgenden Beispiel wird ein bestehender Abonnement-Artikel mit zwei Steuersätzen aktualisiert: ```curl curl https://api.stripe.com/v1/subscription_items/si_F2yjdxUlCCOAtv \ -u "<>:" \ -d "tax_rates[]"=txr_1F6kmAAJVYItwOKqV9IWehUH \ -d "tax_rates[]"=txr_2J8lmBBGHJYyuUJqF6QJtkNM ``` Sie können Steuersätze auf Ebene des Abonnements festlegen, wenn Sie Abonnements erstellen oder aktualisieren. Legen Sie die anzuwendenden Steuersätze fest, indem Sie die [Standard-Steuersatz-IDs](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-default_tax_rates) übergeben. Im folgenden Beispiel wird ein bestehender Abonnement-Artikel mit zwei Steuersätzen aktualisiert: ```curl curl https://api.stripe.com/v1/subscriptions/sub_BVxXIrxAAYb7Fb \ -u "<>:" \ -d "default_tax_rates[]"=txr_1EO66sClCIKljWvs98IiVfHW \ -d "default_tax_rates[]"=txr_1EEOvcClCIKljWvsqYb9U0MB ``` ## Dynamisches Konfigurieren der Steuersätze für jeden Abo-Servicezeitraum Wenn Sie [zusätzliche Rechnungsposten](https://docs.stripe.com/billing/invoices/subscription.md#adding-upcoming-invoice-items) hinzufügen oder in so vielen Regionen verkaufen, dass sich die Steuersätze häufig ändern, können Sie die Steuersätze dynamisch berechne und der Rechnung des Abonnements bei der Erstellung zuweisen. Wenn ein Abonnement verlängert und eine Rechnung erstellt wird, übermittelt Stripe das *Webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests)-Ereignis `invoice.created`. Stripe [wartet etwa eine Stunde](https://docs.stripe.com/billing/subscriptions/webhooks.md#understand), bevor die Rechnung abgeschlossen und die Zahlung durchgeführt oder eine E-Mail gesendet wird. Während dieser Verzögerung liegt die Rechnung als [draft](https://docs.stripe.com/api/invoices/object.md#invoice_object-status) vor und kann bearbeitet werden. Befolgen Sie die Schritte zum [Zuweisen von Steuersätzen](https://docs.stripe.com/invoicing/taxes/tax-rates.md) für diese Rechnung. Wenn Sie [anteilsmäßige Verrechnungen](https://docs.stripe.com/billing/subscriptions/prorations.md) von Gutschriften haben, verwenden Sie den Parameter `proration_details` im Objekt [(Rechnungsposten](https://docs.stripe.com/api/invoice-line-item/object.md), um auf die ursprünglichen Soll-Posten zu verweisen, für die die anteilsmäßige Verrechnung der Gutschrift gilt. Passen Sie anhand dieses Verweises die Steuerbeträge korrekt für die anteilsmäßigen Verrechnungen der Gutschrift an. ## Steuersätze zu Checkout hinzufügen Sie können [Steuersätze](https://docs.stripe.com/billing/taxes/tax-rates.md), (Verkäufe, USt., GST und mehr) in Checkout-Sitzungen angeben, um Steuern auf *Abonnements* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) anzuwenden. - Verwenden Sie feste Steuersätze, wenn Sie den exakten Steuersatz kennen, den Sie Ihrem Kunden/Ihrer Kundin berechnen müssen, bevor sie den Bezahlvorgang starten (wenn Sie beispielsweise nur an Kund/innen in Großbritannien verkaufen und immer 20 % Mehrwertsteuer berechnen). - Mit der *Prices* (Prices define how much and how often to charge for products. This includes how much the product costs, what currency to use, and the interval if the price is for subscriptions) API können Sie dynamische Steuersätze verwenden, wenn Sie weitere Informationen von Ihren Kund/innen benötigen (beispielsweise ihre Rechnungs- oder Versandadresse), bevor Sie den fälligen Steuersatz ermitteln. Mit dynamischen Steuersätzen erstellen Sie Steuersätze für verschiedene Regionen (beispielsweise einen Mehrwertsteuersatz von 20 % für Kund/innen in Großbritannien und einen Umsatzsteuersatz von 7,25 % für Kund/innen in Kalifornien, USA). Stripe versucht, den Standort Ihrer Kund/innen diesen Steuersätzen zuzuordnen. #### Feste Steuersätze Legen Sie [subscription_data.default_tax_rates](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-default_tax_rates) fest, um einen Standardsteuersatz auf ein Abonnement anzuwenden, das ohne Checkout gestartet wurde. #### curl ```bash curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d "payment_method_types[]"=card \ -d "line_items[][price]"="{{PRICE_ID}}" \ -d "line_items[][quantity]"=1 \-d "subscription_data[default_tax_rates][]"="{{TAX_RATE_ID}}" \ -d mode=subscription \ -d success_url="https://example.com/success" \ ``` Sie können auch [line_items.tax_rates](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-tax_rates) oder [subscription_data.items.tax_rates](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-items-tax_rates) angeben, um Steuersätze auf bestimmte Pläne oder Rechnungsposten anzuwenden. #### curl ```bash curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d "payment_method_types[]"="card" \ -d "line_items[][price]"="{{PRICE_ID}}" \ -d "line_items[][quantity]"=1 \-d "line_items[][tax_rates][0]"="{{TAX_RATE_ID}}" \ -d "mode"="subscription" \ -d "success_url"="https://example.com/success" \ ``` #### Dynamische Steuersätze Übergeben Sie ein Array mit [Steuersätzen](https://docs.stripe.com/api/tax_rates/object.md) an [line_items.dynamic_tax_rates](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-dynamic_tax_rates). Für jeden Steuersatz ist ein [unterstütztes](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-dynamic_tax_rates) `country` erforderlich und für die USA zusätzlich ein `state`. Auf dieser Liste werden die Steuersätze mit der [Versandadresse](https://docs.stripe.com/payments/collect-addresses.md), der Rechnungsadresse oder dem Land Ihrer Kundin/Ihres Kunden abgeglichen. Die Versandadresse hat für die Bestimmung des zu berechnenden Steuersatzes Vorrang vor der Rechnungsadresse. Wenn Sie keine Versand- oder Rechnungsadresse erfassen, wird der Steuersatz anhand des Landes (und gegebenenfalls der Postleitzahl) Ihrer Kund/innen ermittelt. Wenn Sie keinen Steuersatz übergeben haben, der mit der Versand- oder Rechnungsadresse Ihres Kunden/Ihrer Kundin übereinstimmt, wird kein Steuersatz angewendet. #### Curl ```bash curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d "payment_method_types[]"="card" \ -d "line_items[][price]"="{{PRICE_ID}}" \ -d "line_items[][quantity]"=1 \-d "line_items[][dynamic_tax_rates][]"="{{FIRST_TAX_RATE_ID}}" \ -d "line_items[][dynamic_tax_rates][]"="{{SECOND_TAX_RATE_ID}}" \ -d "mode"="subscription" \ -d "success_url"="https://example.com/success" \ ``` > [subscription_data.default_tax_rates](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-default_tax_rates) und [line_items.tax_rates](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-tax_rates) können nicht in Verbindung mit [line_items.dynamic_tax_rates](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-dynamic_tax_rates) verwendet werden. Sie können die Datenexporte von Stripe verwenden, um die für die Überweisung erforderlichen regelmäßigen Berichte auszufüllen. Weitere Informationen finden Sie unter [Steuerberichterstattung und Überweisung](https://docs.stripe.com/billing/taxes/tax-rates.md#remittance). ## See also - [Kundenstandorte ermitteln](https://docs.stripe.com/tax/customer-locations.md) - [Steuer-IDs von Kundinnen/Kunden](https://docs.stripe.com/billing/customer/tax-ids.md) - [Steuerberichterstattung und Einreichung](https://docs.stripe.com/tax/reports.md) - [Steuersätze](https://docs.stripe.com/billing/taxes/tax-rates.md) - [Steuersätze auf Rechnungen](https://docs.stripe.com/invoicing/taxes/tax-rates.md)