Estimador del impuesto sobre plusvalías
Vender por 50 000 algo que costó 30 000 tras 400 días deja una plusvalía de 20 000 a largo plazo y, al 15 %, un impuesto de 3000. Introduzca venta, coste y días para ver el plazo, el tipo y el impuesto. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Ingresos de la venta
- 50 000
- Base de costo
- 30 000
- Ganancia de capital
- 20 000
- Plazo de tenencia
- long
- Tasa impositiva (%)
- 15
- Impuesto sobre ganancias de capital
- 3 000
Esta calculadora toma el importe de la venta, la base de coste y el número de días que se mantuvo un activo, y devuelve la plusvalía, si la ganancia es a corto o largo plazo, el tipo aplicado incluida cualquier sobretasa NIIT y el impuesto adeudado resultante.
Cómo encajan la plusvalía, el plazo y el tipo
La plusvalía es lo que recibe por una venta menos lo que le costó el bien. La calculadora obtiene primero esa ganancia y después mira cuánto tiempo conservó el bien. Si los días de tenencia superan el umbral, 365 por defecto, la plusvalía es a largo plazo y se aplica el tipo de largo plazo, un 15 % salvo que usted lo cambie; si no, es a corto plazo y se aplica el tipo de corto plazo, un 37 % por defecto. El recargo que indique se suma encima. Vender por 50 000 un bien que costó 30 000 al cabo de 400 días deja 20 000 de ganancia gravados al 15 %: 3000 de impuesto.
Errores que cambian la factura
Vender un día antes de tiempo puede llevar la ganancia al tipo de corto plazo, así que revise los días antes de vender: con el umbral por defecto, 365 días exactos siguen siendo corto plazo. Una venta con pérdidas da un impuesto de cero, nunca una cifra negativa. Los tipos por defecto son un punto de partida, no su año fiscal: sustitúyalos por los que le correspondan. El impuesto se calcula sobre la ganancia sin redondear, así que el redondeo de la pantalla no altera lo que debe. Es una estimación, no asesoramiento fiscal.
Qué puede hacer con ella
Estimación fiscal previa a la venta
Antes de vender acciones, criptomonedas o un inmueble, estime la ganancia y el impuesto adeudado y vea cómo cruzar el umbral de tenencia a largo plazo cambia el tipo y la factura.
Integración con asesores y herramientas
Incruste una estimación determinista de plusvalías en una herramienta de planificación o un memorando para el cliente, sustituyendo las hipótesis de tipos para ajustarse a un ejercicio fiscal concreto.
Preguntas frecuentes
¿Qué tipos usa por defecto?
Por defecto aplica un tipo de corto plazo del 37%, uno de largo plazo del 15% y una sobretasa NIIT del 0%.
¿Qué ocurre si vendo con pérdidas?
El impuesto se limita a cero, así que una ganancia negativa refleja la pérdida real en el campo gain pero un impuesto de 0. El plazo y el tipo se siguen devolviendo.
¿Esto es asesoramiento fiscal?
No. Es una estimación determinista que usted controla por completo mediante las entradas de tipos.
¿Cuándo cuenta una plusvalía como de largo plazo?
Cuando ha conservado el bien más días que el umbral, que es de 365 si usted no lo cambia. Con 365 días exactos sigue siendo a corto plazo; con 400 días ya es a largo plazo.
¿Puedo añadir el recargo sobre la renta neta de inversión?
Sí. Indique el tipo del recargo y se sumará al tipo de corto o de largo plazo antes de calcular el impuesto. Si no lo indica, vale cero.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"proceeds": 50000,
"cost_basis": 30000
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.capital_gains_tax",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Cómo se calculan la ganancia, el plazo y el impuesto
El impuesto es entonces Math.max(0, gain) multiplicado por ese porcentaje combinado, de modo que una pérdida produce un impuesto cero en lugar de un número negativo. Ejemplo resuelto: un importe de 50.000, una base de coste de 30.000, mantenidos 400 días a un tipo de largo plazo del 15%, da una ganancia de 20.000, plazo 'long', tipo 15% e impuesto 3.000. La herramienta calcula primero la ganancia como proceeds menos cost_basis. A continuación clasifica el periodo de tenencia: si holding_days es estrictamente mayor que long_threshold_days (por defecto 365), la ganancia es a largo plazo; de lo contrario, a corto plazo. El tipo aplicable es el de largo plazo (lt_rate, por defecto 15%) o el de corto plazo (st_rate, por defecto 37%) más cualquier sobretasa del impuesto sobre las rentas netas de inversión (niit_rate, por defecto 0%). La salida devuelve proceeds, cost_basis, holding_days, la ganancia redondeada, la cadena de plazo, rate_percent y el impuesto redondeado.
Entradas, valores por defecto, redondeo y validación
UU. Un campo decimals (por defecto 2) redondea la ganancia y el impuesto con una regla explícita half-up aplicada una vez por salida. Tenga en cuenta que el impuesto se calcula a partir de la ganancia en bruto, no de la redondeada, así que el redondeo de presentación nunca distorsiona la cantidad adeudada. Solo proceeds y cost_basis son obligatorios; ambos deben ser números finitos y cualquiera de ellos puede ser negativo si usted está modelando una posición inusual. holding_days tiene por defecto 400 y debe ser un entero no negativo —un recuento de días fraccionario o negativo devuelve un error tipado invalid_input—. Las hipótesis de tipos son todas sustituibles: st_rate, lt_rate, niit_rate y long_threshold_days le permiten ajustarse a una jurisdicción o ejercicio fiscal concretos sin fijar a fuego los tramos de EE. Como la pérdida se limita a un impuesto cero, el plazo y rate_percent se informan igualmente aunque no haya impuesto que pagar.
Widget, API y landings multilingües
Esta es una estimación determinista, no asesoramiento fiscal. Recurra al API cuando necesite valorar muchos lotes a la vez, respaldar un barrido de recolección de pérdidas fiscales de una cartera o sustituir las hipótesis de tipos por jurisdicción en miles de filas. Las ejecuciones del API se facturan desde $0.002 contra el saldo prepago del KIT, y solo se cobran las tareas correctas. Las landings se publican en ocho idiomas con slugs y palabras clave traducidos, de modo que quien busque una estimación de plusvalías en su propia lengua llega a una página local, mientras que los nombres de los campos JSON permanecen idénticos en cada locale.
Casos de integración
Barridos de cartera y recolección de pérdidas
Llame al API sobre muchos lotes con tipos personalizados de corto plazo, largo plazo y NIIT para modelar la recolección de pérdidas fiscales o comparar jurisdicciones a granel.
Preguntas técnicas
¿Cómo se decide entre corto y largo plazo?
Una ganancia es a largo plazo cuando holding_days es estrictamente mayor que long_threshold_days (por defecto 365); de lo contrario, es a corto plazo. El umbral es configurable.
¿Qué entradas son obligatorias y se validan?
proceeds y cost_basis son números finitos obligatorios; holding_days debe ser un entero no negativo. Cualquier otra cosa devuelve un error tipado invalid_input.