Kapitalertragsteuer-Schätzer
Wer etwas für 30.000 kauft und nach 400 Tagen für 50.000 verkauft, erzielt 20.000 langfristigen Gewinn und zahlt bei 15 % 3.000 Steuern. Geben Sie Erlös, Kosten und Haltetage ein und sehen Sie Frist, Satz und Steuer. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Verkaufserlös
- 50.000
- Anschaffungskostenbasis
- 30.000
- Kapitalgewinn
- 20.000
- Haltedauerklasse
- long
- Steuersatz (%)
- 15
- Kapitalertragsteuer
- 3.000
Dieser Rechner nimmt den Verkaufserlös, die Anschaffungskosten und die Anzahl der Tage, die ein Vermögenswert gehalten wurde, und liefert den Kapitalgewinn, ob der Gewinn kurz- oder langfristig ist, den angewandten Satz einschließlich eines etwaigen NIIT-Zuschlags und die daraus resultierende geschuldete Steuer.
Wie Gewinn, Haltedauer und Steuersatz zusammenhängen
Der Kapitalgewinn ist der Verkaufserlös minus das, was der Vermögenswert gekostet hat. Der Rechner ermittelt zuerst diesen Gewinn und prüft dann die Haltedauer. Liegen die Haltetage über der Schwelle, standardmäßig 365, ist der Gewinn langfristig und es gilt der langfristige Satz, 15 % ohne Ihre Änderung; sonst ist er kurzfristig und es gilt der kurzfristige Satz, standardmäßig 37 %. Ein Zuschlag, den Sie angeben, kommt hinzu. Ein Verkauf für 50.000 nach 400 Tagen bei 30.000 Anschaffungskosten ergibt 20.000 Gewinn, mit 15 % also 3.000 Steuern.
Fehler, die den Steuerbetrag verändern
Ein Tag zu früh verkauft kann den Gewinn in den kurzfristigen Satz rutschen lassen. Prüfen Sie daher die Tage vor dem Verkauf: Mit der Standardschwelle gelten genau 365 Tage noch als kurzfristig. Die voreingestellten Sätze sind ein Ausgangspunkt, nicht Ihr Steuerjahr; ersetzen Sie sie durch die für Sie gültigen. Die Steuer wird aus dem ungerundeten Gewinn berechnet, die Rundung auf dem Bildschirm ändert den Betrag also nicht. Das Ergebnis ist eine Schätzung, keine Steuerberatung.
Anwendungsfälle
Steuerschätzung vor dem Verkauf
Schätzen Sie vor dem Verkauf von Aktien, Krypto oder Immobilien den Gewinn und die geschuldete Steuer und sehen Sie, wie das Überschreiten der langfristigen Halteschwelle den Satz und die Rechnung verändert.
Integration in Beratung und Tools
Betten Sie eine deterministische Kapitalertragsschätzung in ein Planungstool oder ein Mandantenmemo ein und überschreiben Sie die Satzannahmen, um ein bestimmtes Steuerjahr abzubilden.
Häufige Fragen
Was passiert, wenn ich mit Verlust verkaufe?
Die Steuer ist bei null gedeckelt, sodass ein negativer Gewinn den tatsächlichen Verlust im Feld gain ausweist, die Steuer jedoch 0 beträgt. Frist und Satz werden weiterhin zurückgegeben.
Ist das eine Steuerberatung?
Nein. Es ist eine deterministische Schätzung, die Sie über die Satz-Eingaben vollständig steuern.
Ab wann gilt ein Gewinn als langfristig?
Wenn Sie den Vermögenswert mehr Tage gehalten haben als die Schwelle, die ohne Ihre Änderung bei 365 liegt. Genau 365 Tage gelten noch als kurzfristig, 400 Tage bereits als langfristig.
Kann ich einen Zuschlag auf Nettokapitalerträge hinzufügen?
Ja. Geben Sie den Satz des Zuschlags ein, er wird vor der Berechnung zum kurz- oder langfristigen Satz addiert. Ohne Ihre Angabe bleibt er bei null.
Welche Steuersätze nutzt der Rechner standardmäßig?
15 % für langfristige und 37 % für kurzfristige Gewinne, ohne Zuschlag. Sie können jeden dieser Sätze ersetzen, damit er zu Ihrem Steuerjahr passt.
Was passiert bei einem Verkauf mit Verlust?
Dann beträgt die Steuer null und nicht etwa einen negativen Wert. Der Rechner zeigt Ihnen den Verlust als Ergebnis des Verkaufs, berechnet darauf aber keine Steuer.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/finance/capital-gains-tax \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"proceeds":50000,"cost_basis":30000}'const res = await fetch("https://api.kit.forhosting.com/finance/capital-gains-tax", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"proceeds": 50000,
"cost_basis": 30000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/finance/capital-gains-tax",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"proceeds": 50000,
"cost_basis": 30000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/finance/capital-gains-tax", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"proceeds":50000,"cost_basis":30000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"proceeds":50000,"cost_basis":30000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/finance/capital-gains-tax", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"proceeds": 50000,
"cost_basis": 30000
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.capital_gains_tax",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Wie Gewinn, Frist und Steuer berechnet werden
Die Steuer ergibt sich dann aus Math.max(0, gain) multipliziert mit diesem kombinierten Satz in Prozent, sodass ein Verlust null Steuer statt einer negativen Zahl ergibt. Rechenbeispiel: Erlös 50.000, Anschaffungskosten 30.000, 400 Tage gehalten zu einem langfristigen Satz von 15 % ergibt einen Gewinn von 20.000, die Frist 'long', den Satz 15 % und eine Steuer von 3.000. Das Tool berechnet zunächst den Gewinn als proceeds minus cost_basis. Anschließend stuft es die Haltedauer ein: Ist holding_days streng größer als long_threshold_days (Standard 365), gilt der Gewinn als langfristig, andernfalls als kurzfristig. Der anzuwendende Satz ist der langfristige Satz (lt_rate, Standard 15 %) oder der kurzfristige Satz (st_rate, Standard 37 %) zuzüglich eines etwaigen Zuschlags für die Nettokapitalertragsteuer (niit_rate, Standard 0 %). Die Ausgabe liefert proceeds, cost_basis, holding_days, den gerundeten Gewinn, die Fristzeichenkette, rate_percent und die gerundete Steuer.
Eingaben, Standardwerte, Rundung und Validierung
Ein decimals-Feld (Standard 2) rundet Gewinn und Steuer mit einer ausdrücklichen half-up-Regel, einmal je Ausgabe angewandt. Beachten Sie, dass die Steuer aus dem rohen Gewinn berechnet wird, nicht aus dem gerundeten, sodass die Anzeigerundung den geschuldeten Betrag nie verfälscht. Nur proceeds und cost_basis sind erforderlich; beide müssen endliche Zahlen sein, und jede darf negativ sein, falls Sie eine ungewöhnliche Position modellieren. holding_days steht standardmäßig auf 400 und muss eine nicht-negative ganze Zahl sein — eine gebrochene oder negative Tageszahl liefert einen typisierten invalid_input-Fehler. Die Satzannahmen sind alle überschreibbar: st_rate, lt_rate, niit_rate und long_threshold_days erlauben es, eine bestimmte Rechtsordnung oder ein Steuerjahr abzubilden, ohne US-Stufen fest zu verdrahten. Da ein Verlust bei null Steuer gedeckelt ist, werden term und rate_percent auch dann noch ausgewiesen, wenn keine Steuer fällig ist.
Widget, API und mehrsprachige Landingpages
Greifen Sie zur API, wenn Sie viele Positionen auf einmal bewerten, einen Steuer-Verlust-Ausgleich über ein Portfolio absichern oder die Satzannahmen je Rechtsordnung über Tausende Zeilen hinweg überschreiben möchten. API-Läufe werden ab $0.002 gegen das im Voraus aufgeladene KIT-Guthaben abgerechnet, und nur erfolgreiche Aufgaben werden berechnet. Landingpages erscheinen in acht Sprachen mit übersetzten Slugs und Schlüsselwörtern, sodass jemand, der in seiner eigenen Sprache nach einer Kapitalertragsschätzung sucht, eine lokale Seite erreicht, während die JSON-Feldnamen in jeder Sprachvariante identisch bleiben. Dies ist eine deterministische Schätzung, keine Steuerberatung.
Integrationsbeispiele
Portfolio- und Ausgleichsdurchläufe
Rufen Sie die API über viele Positionen mit eigenen kurzfristigen, langfristigen und NIIT-Sätzen auf, um einen Steuer-Verlust-Ausgleich zu modellieren oder Rechtsordnungen in großer Menge zu vergleichen.
Technische Fragen
Wie wird kurzfristig gegenüber langfristig entschieden?
Ein Gewinn ist langfristig, wenn holding_days streng größer als long_threshold_days ist (Standard 365); andernfalls ist er kurzfristig. Die Schwelle ist konfigurierbar.
Welche Sätze verwendet es standardmäßig?
Standardmäßig gelten ein kurzfristiger Satz von 37 %, ein langfristiger Satz von 15 % und ein NIIT-Zuschlag von 0 %. st_rate, lt_rate und niit_rate sind alle je Aufruf überschreibbar.
Welche Eingaben sind erforderlich und werden validiert?
proceeds und cost_basis sind erforderliche endliche Zahlen; holding_days muss eine nicht-negative ganze Zahl sein. Alles andere liefert einen typisierten invalid_input-Fehler.