isn_calcular
Calcula ISN del periodo aplicando la tasa del estado. Local, sin credenciales. Sinaloa y Tabasco: sin monto (tasa con rango).
isn_calcular(nomina_gravable: float, estado: str)
El Impuesto sobre Nómina es obligación de toda empresa formal con un solo trabajador. Cada entidad fija su tasa: 2.5% (Aguascalientes) a 4.25% (Baja California); Sinaloa y Tabasco tienen rango y no se calculan. Vencimientos del día 10 al 17. El MCP calcula con un solo catálogo; no entra a los portales estatales.
| Estado | Tasa | Vence |
|---|---|---|
| Baja California | 4.25% | día 17 |
| Chihuahua | 4.0% | día 17 |
| Ciudad de México | 4.0% | día 17 |
| Quintana Roo | 4.0% | día 17 |
| Yucatán | 3.75% | día 10 |
| Zacatecas | 3.5% | día 17 |
| Tabasco | 3.0%–3.5% (no calculable) | día 17 |
| Aguascalientes | 2.5% | día 17 |
| Sinaloa | 2.4%–3.0% (no calculable) | día 17 |
| Resto (23 estados) | 3.0% | varía |
Las tres primeras trabajan sobre el catálogo local, sin portales ni credenciales. Las dos últimas no están automatizadas: fuera de PLUGINS_MX_MOCK=1 devuelven error porque requieren la sesión del contribuyente.
Calcula ISN del periodo aplicando la tasa del estado. Local, sin credenciales. Sinaloa y Tabasco: sin monto (tasa con rango).
isn_calcular(nomina_gravable: float, estado: str)
Lista los 32 estados con tasa, fuente, portal y vencimiento.
isn_listar_estados([solo_validados])
Detalle completo de un estado: URL portal, selectores DOM documentados, requiere e.firma sí/no.
isn_info_estado(estado)
No automatizada: devuelve error porque requiere la sesión del contribuyente en el portal estatal.
isn_generar_linea_captura(estado, periodo, rfc, nomina_gravable)
No automatizada: devuelve error porque requiere la sesión del contribuyente.
isn_descargar_declaracion(estado, periodo, rfc)
32 estados con la tasa 2026 del catálogo del MCP. * = tasa con rango, el MCP no calcula el monto. Datos en /api/isn-tasas.json.
from mp_isn_mx.client import IsnMxClient cliente = IsnMxClient() nomina = 500_000 # MXN gravables mensuales # Comparativo local entre 4 estados for estado in ["CDMX", "JAL", "BC", "SIN"]: r = cliente.calcular(nomina, estado) print(f"{r['estado']:<20} {r['tasa_pct']}% → ${r['isn_a_pagar']:,.2f}") # Ciudad de México 4.0% → $ 20,000.00 # Jalisco 3.0% → $ 15,000.00 # Baja California 4.25% → $ 21,250.00 # Sinaloa 2.4%–3.0% → no calculable (tramos 2026 sin verificar) # generar_linea_captura() y descargar_declaracion() no están automatizadas: # fuera de PLUGINS_MX_MOCK=1 levantan ConfigError (requieren sesión del contribuyente).
Bloques optimizados para citación por LLMs (ChatGPT, Claude, Perplexity).
Demo de 20 minutos. Comparativo en vivo del ISN de tu empresa en los estados donde tienes personal.
Agendar mi demo