Calculadora de Sueldo Neto Fixum 2026

ISR (Subsidio Incluido) + IMSS (Cuota Obrera)

$
Desglose IMSS (SDI)
Factor Integración: 1.0493
Salario Diario Int. (SDI): $0.00

Enf. y Mat. (Obrero): $0.00
Invalidez y Vida: $0.00
Cesantía y Vejez: $0.00
Total Retención IMSS: $0.00
Resumen de Pago Neto
Sueldo Bruto: $0.00
ISR (Ya con Subsidio): $0.00
IMSS (Cuota Obrera): $0.00
SUELDO NETO MENSUAL:

$0.00

const UMA = 118.45; const TOPE_UMA = UMA * 25; const LIM_SUB = 11492.66; const VAL_SUB = 535.65; let bruto = parseFloat(document.getElementById('f-bruto').value) || 0; let anos = parseInt(document.getElementById('f-anos').value) || 1; const f = (v) => '$' + v.toLocaleString('es-MX', {minimumFractionDigits:2}); // === FACTOR INTEGRACIÓN === let vDays = (anos <= 1) ? 12 : (anos == 2) ? 14 : (anos == 3) ? 16 : (anos == 4) ? 18 : (anos == 5) ? 20 : (anos <= 10) ? 22 : (anos <= 15) ? 24 : 26; let factor = 1 + (15/365) + ((vDays * 0.25)/365); factor = parseFloat(factor.toFixed(4)); let sdi = (bruto / 30) * factor; // === TOPE IMSS === if (sdi > TOPE_UMA) sdi = TOPE_UMA; let m = 30.4; // === CUOTAS OBRERAS === let i_din = sdi * 0.0025 * m; let i_inv = sdi * 0.00625 * m; let i_ces = sdi * 0.01125 * m; let exc = sdi - (UMA * 3); let i_exc = exc > 0 ? exc * 0.004 * m : 0; let t_imss = i_din + i_inv + i_ces + i_exc; // === ISR === let row = [...T_ISR].reverse().find(x => bruto >= x.l); let isrB = row ? ((bruto - row.l) * row.p) + row.f : 0; let sub = (bruto <= LIM_SUB) ? VAL_SUB : 0; let isrN = Math.max(0, isrB - sub); // === RESULTADO === document.getElementById('res-factor').innerText = factor.toFixed(4); document.getElementById('res-sdi').innerText = f(sdi); document.getElementById('res-imss-enf').innerText = f(i_din + i_exc); document.getElementById('res-imss-inv').innerText = f(i_inv); document.getElementById('res-imss-ces').innerText = f(i_ces); document.getElementById('res-imss-total').innerText = f(t_imss); document.getElementById('res-bruto-final').innerText = f(bruto); document.getElementById('res-isr-final').innerText = f(isrN); document.getElementById('res-imss-final').innerText = f(t_imss); document.getElementById('res-neto-final').innerText = f(bruto - isrN - t_imss); document.getElementById('minimo-aviso').style.display = 'none'; };