Stimatore dell'imposta sulle plusvalenze
Vendere a 50.000 un bene pagato 30.000 dopo 400 giorni dà una plusvalenza a lungo termine di 20.000 e, al 15%, un'imposta di 3.000. Inserisca incasso, costo e giorni per vedere il termine, l'aliquota e l'imposta. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Proventi della vendita
- 50.000
- Base di costo
- 30.000
- Plusvalenza
- 20.000
- Durata di detenzione
- long
- Aliquota fiscale (%)
- 15
- Imposta sulla plusvalenza
- 3000
Questo calcolatore prende i proventi della vendita, il costo base e il numero di giorni per cui un'attività è stata detenuta, quindi restituisce la plusvalenza, se sia a breve o a lungo termine, l'aliquota applicata inclusa l'eventuale addizionale NIIT e l'imposta dovuta che ne risulta.
Come si combinano plusvalenza, durata e aliquota
La plusvalenza è ciò che riceve da una vendita meno ciò che il bene le è costato. Il calcolatore ricava prima questo guadagno e poi guarda per quanto tempo ha tenuto il bene. Se i giorni di possesso superano la soglia, 365 per impostazione predefinita, la plusvalenza è a lungo termine e si applica l'aliquota a lungo termine, il 15% salvo modifiche; altrimenti è a breve termine e si applica l'aliquota a breve, il 37% di base. L'eventuale sovrattassa si aggiunge sopra. Vendere a 50.000 un bene pagato 30.000 dopo 400 giorni dà un guadagno di 20.000 tassato al 15%: 3.000 di imposta.
Errori che cambiano il conto
Vendere un giorno troppo presto può portare il guadagno all'aliquota a breve termine, quindi controlli i giorni prima di vendere: con la soglia predefinita, 365 giorni esatti restano a breve termine. Una vendita in perdita dà un'imposta pari a zero, mai una cifra negativa. Le aliquote predefinite sono un punto di partenza, non il suo anno fiscale: le sostituisca con quelle che la riguardano. L'imposta si calcola sul guadagno non arrotondato, quindi l'arrotondamento a schermo non cambia l'importo dovuto. È una stima, non una consulenza fiscale.
Casi d'uso
Stima fiscale pre-vendita
Prima di vendere azioni, criptovalute o immobili, stimi la plusvalenza e l'imposta dovuta e veda come superare la soglia di detenzione a lungo termine cambia l'aliquota e il conto.
Integrazione con consulenti e strumenti
Incorpori una stima deterministica delle plusvalenze in uno strumento di pianificazione o in un memo per il cliente, sovrascrivendo le ipotesi sull'aliquota per corrispondere a uno specifico anno fiscale.
Domande frequenti
Quali aliquote usa per impostazione predefinita?
Per impostazione predefinita usa un'aliquota a breve termine del 37%, un'aliquota a lungo termine del 15% e un'addizionale NIIT dello 0%.
Cosa succede se vendo in perdita?
L'imposta è azzerata, quindi una plusvalenza negativa riporta la perdita effettiva nel campo gain ma un'imposta di 0. Il termine e l'aliquota vengono comunque restituiti.
Questa è una consulenza fiscale?
No. È una stima deterministica che controlla interamente tramite gli input dell'aliquota.
Quando una plusvalenza conta come a lungo termine?
Quando ha tenuto il bene per più giorni della soglia, che è 365 se lei non la cambia. Con esattamente 365 giorni resta a breve termine; con 400 giorni è già a lungo termine.
Posso aggiungere la sovrattassa sul reddito netto da investimenti?
Sì. Indichi l'aliquota della sovrattassa: si somma all'aliquota a breve o a lungo termine prima del calcolo dell'imposta. Se non la indica, resta a zero.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"proceeds": 50000,
"cost_basis": 30000
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.capital_gains_tax",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Come si calcolano plusvalenza, termine e imposta
L'imposta è quindi Math.max(0, gain) moltiplicato per quella percentuale di aliquota combinata, così una perdita produce imposta zero anziché un numero negativo. Esempio svolto: proventi 50.000, costo base 30.000, detenzione 400 giorni a un'aliquota a lungo termine del 15% dà una plusvalenza di 20.000, termine 'long', aliquota 15% e imposta 3.000. Lo strumento calcola dapprima la plusvalenza come proventi meno cost_basis. Classifica poi il periodo di detenzione: se holding_days è strettamente maggiore di long_threshold_days (predefinito 365), la plusvalenza è a lungo termine, altrimenti a breve termine. L'aliquota applicabile è quella a lungo termine (lt_rate, predefinita 15%) o quella a breve termine (st_rate, predefinita 37%) più l'eventuale addizionale sull'imposta sui redditi netti da investimento (niit_rate, predefinita 0%). L'output restituisce proceeds, cost_basis, holding_days, la plusvalenza arrotondata, la stringa del termine, rate_percent e l'imposta arrotondata.
Input, valori predefiniti, arrotondamento e validazione
Un campo decimals (predefinito 2) arrotonda plusvalenza e imposta usando una regola esplicita half-up applicata una volta per output. Noti che l'imposta è calcolata dalla plusvalenza grezza, non da quella arrotondata, così l'arrotondamento di visualizzazione non distorce mai l'importo dovuto. Solo proceeds e cost_basis sono obbligatori; entrambi devono essere numeri finiti e ciascuno può essere negativo se sta modellando una posizione insolita. holding_days assume per impostazione predefinita 400 e deve essere un numero intero non negativo — un conteggio di giorni frazionario o negativo restituisce un errore tipizzato invalid_input. Le ipotesi sull'aliquota sono tutte sovrascrivibili: st_rate, lt_rate, niit_rate e long_threshold_days le consentono di corrispondere a una giurisdizione o a un anno fiscale specifico senza codificare rigidamente gli scaglioni statunitensi. Poiché una perdita è azzerata a imposta zero, il termine e rate_percent sono comunque riportati anche quando non è dovuta alcuna imposta.
Widget, API e landing multilingue
Questa è una stima deterministica, non una consulenza fiscale. Ricorra all'API quando deve valutare molti lotti in una volta, sostenere un'analisi di tax-loss harvesting su un portafoglio o sovrascrivere le ipotesi sull'aliquota per giurisdizione su migliaia di righe. Le esecuzioni API sono fatturate da $0.002 sul saldo prepagato KIT e vengono addebitate solo le attività riuscite. Le landing sono pubblicate in otto lingue con slug e parole chiave tradotti, così chi cerca una stima delle plusvalenze nella propria lingua raggiunge una pagina locale, mentre i nomi dei campi JSON restano identici in ogni locale.
Casi di integrazione
Analisi su portafoglio e harvesting
Chiami l'API su molti lotti con aliquote personalizzate a breve termine, a lungo termine e NIIT per modellare il tax-loss harvesting o confrontare giurisdizioni in blocco.
Domande tecniche
Come si decide tra breve e lungo termine?
Una plusvalenza è a lungo termine quando holding_days è strettamente maggiore di long_threshold_days (predefinito 365); altrimenti è a breve termine. La soglia è configurabile.
Quali input sono obbligatori e validati?
proceeds e cost_basis sono numeri finiti obbligatori; holding_days deve essere un numero intero non negativo. Qualsiasi altra cosa restituisce un errore tipizzato invalid_input.