Multas e intereses SUNAT: Calculadora y guía completa 2025 con fórmulas y ejemplos
¿Te preocupa cuánto puede crecer tu deuda tributaria por no pagar a tiempo? Las multas e intereses SUNAT pueden multiplicar rápidamente el monto original.
En esta guía encontrarás explicaciones claras, ejemplos prácticos y fórmulas simples para calcular cuánto debes y cómo evitar pagar de más.
- Calculadora Tributaria Perú 2025 (Multas e Intereses)
- root.querySelector(s); const $$ = (s,root=document)=>Array.from(root.querySelectorAll(s)); const fmtMoney = (n)=>isNaN(n)?"-":Number(n).toLocaleString('es-PE',{style:'currency',currency:'PEN',minimumFractionDigits:2}); const fmtNum = (n,dec=2)=>isNaN(n)?"-":Number(n).toFixed(dec); function parseLocaleNumber(input){ if(input===undefined || input===null) return NaN; let s = String(input).trim(); if(!s) return NaN; // Eliminar caracteres que no sean dígitos, coma, punto o signo s = s.replace(/[^\d,.\-]/g,''); if(!s) return NaN; const hasComma = s.includes(','); const hasDot = s.includes('.'); if(hasComma && hasDot){ // El separador decimal será el último símbolo entre coma o punto const lastComma = s.lastIndexOf(','); const lastDot = s.lastIndexOf('.'); const decSep = lastComma > lastDot ? ',' : '.'; const thouSep = decSep === ',' ? '.' : ','; s = s.split(thouSep).join(''); // quitar miles s = s.replace(decSep, '.'); // decimal a punto } else if(hasComma && !hasDot){ s = s.replace(',', '.'); // decimal es coma } // si solo tiene punto, ya está OK const n = parseFloat(s); return isNaN(n) ? NaN : n; } function parseDateDMY(s){ if(!s) return null; const m = s.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); if(!m) return null; const d = new Date(+m[3], +m[2]-1, +m[1]); return isNaN(d) ? null : d; } const dateToDMY = (d)=>`${String(d.getDate()).padStart(2,'0')}/${String(d.getMonth()+1).padStart(2,'0')}/${d.getFullYear()}`; const daysBetween = (d1,d2)=>{ const a=new Date(d1.getFullYear(),d1.getMonth(),d1.getDate()); const b=new Date(d2.getFullYear(),d2.getMonth(),d2.getDate()); return Math.max(0, Math.round((b-a)/(1000*60*60*24))); }; const root = document.getElementById('jf-mi-root'); // ================= Render: FORM ================= function renderForm(){ root.innerHTML = ` Calculadora Tributaria Perú 2025 Actualiza tu deuda con intereses moratorios, pagos parciales y multa opcional. Resultados referenciales según las tasas que indiques. TIM mensual ÷ 30 = tasa diaria (%). Cada pago cubre primero intereses del tramo y luego reduce el principal. Solo intereses Solo multa Multa + intereses 2025 Datos generales Concepto de deuda Deuda por declaración jurada Tributo omitido Retención/percepción no pagada Tributo IGV Renta ITAN Otros Periodo tributario (AAAAMM) Solo formato AAAAMM (p.ej. 202501). Importe del tributo (S/) Multa opcional (%) Si la agregas, se suma al principal antes del cálculo de intereses. Decimales 2 3 4 Fechas Fecha de vencimiento Actualizar hasta Tasa interés moratorio mensual (%) Usaremos TIM/30 (base 360) como tasa diaria. Tasa diaria (referencia) Se calcula automáticamente al llenar TIM. Pagos parciales (opcional) + Agregar pago Limpiar pagos Calcular deuda actualizada Reiniciar formulario `; // TIM -> preview tasa diaria $('#tim').addEventListener('input', ()=>{ const tim = parseLocaleNumber($('#tim').value); const daily = isNaN(tim) ? null : (tim/30); $('#tasaDiariaPreview').value = isNaN(daily) ? '—' : `${daily.toFixed(6)}% por día`; }); // Pagos parciales const pagosBox = $('#pagos'); function addPagoRow(dateVal='', amountVal=''){ const row = document.createElement('div'); row.className='jf-pay-row'; row.innerHTML = ` Eliminar `; row.querySelector('.jf-del').addEventListener('click',()=>row.remove()); pagosBox.appendChild(row); } $('#addPago').addEventListener('click', ()=>addPagoRow()); $('#clearPagos').addEventListener('click', ()=>pagosBox.innerHTML=''); // Reset $('#resetAll').addEventListener('click', ()=>{ $('#jf-form').reset(); pagosBox.innerHTML=''; $('#tasaDiariaPreview').value=''; }); // Submit -> redirige a /resultado/ con parámetros $('#jf-form').addEventListener('submit', (e)=>{ e.preventDefault(); const periodo = ($('#periodo').value||'').trim(); if(!/^\d{6}$/.test(periodo)){ alert('Periodo tributario inválido. Usa AAAAMM.'); return; } const importe = parseLocaleNumber($('#importe').value); const multaPct = parseLocaleNumber($('#multaPct').value)||0; const tim = parseLocaleNumber($('#tim').value); const venc = parseDateDMY($('#venc').value); const hasta = parseDateDMY($('#hasta').value); const dec = parseInt($('#decimales').value,10)||2; if(isNaN(importe)||isNaN(tim)||!venc||!hasta){ alert('Revisa importe, TIM y fechas (dd/mm/aaaa).'); return; } if(hasta < venc){ alert('"Actualizar hasta" no puede ser anterior al vencimiento.'); return; } // Pagos const pagos = []; $$('.jf-pay-row', root).forEach(r=>{ const f = parseDateDMY($('.jf-pago-fecha', r).value); const m = parseLocaleNumber($('.jf-pago-monto', r).value); if(f && !isNaN(m) && m>0) pagos.push({f: dateToDMY(f), m: Number(m)}); }); pagos.sort((a,b)=> parseDateDMY(a.f) - parseDateDMY(b.f)); const url = new URL(RESULT_URL); url.searchParams.set('concepto', $('#concepto').value); url.searchParams.set('tributo', $('#tributo').value); url.searchParams.set('periodo', periodo); url.searchParams.set('importe', Number(importe).toFixed(dec)); url.searchParams.set('multa_pct',Number(multaPct).toFixed(6)); url.searchParams.set('venc', $('#venc').value.trim()); url.searchParams.set('hasta', $('#hasta').value.trim()); url.searchParams.set('tim_mensual', Number(tim).toFixed(6)); url.searchParams.set('dec', String(dec)); if(pagos.length){ url.searchParams.set('pagos', encodeURIComponent(JSON.stringify(pagos))); } window.location.href = url.toString(); }); } // ================= Render: RESULT ================= function renderResultado(){ const q = new URLSearchParams(window.location.search); const concepto = q.get('concepto')||'-'; const tributo = q.get('tributo')||'-'; const periodo = q.get('periodo')||'-'; const importe = parseLocaleNumber(q.get('importe')); const multaPct = parseLocaleNumber(q.get('multa_pct'))||0; const vencS = q.get('venc')||''; const hastaS = q.get('hasta')||''; const timMensual = parseLocaleNumber(q.get('tim_mensual')); const dec = parseInt(q.get('dec')||'2',10); const pagosJSON = q.get('pagos') ? decodeURIComponent(q.get('pagos')) : null; const venc = parseDateDMY(vencS); const hasta = parseDateDMY(hastaS); let pagos=[]; try{ pagos = pagosJSON? JSON.parse(pagosJSON) : []; }catch{ pagos=[]; } // 1) principal = importe + multa (si hubiera) const multa = (isNaN(importe)?0:importe) * (multaPct/100); let principal = (isNaN(importe)?0:importe) + multa; // 2) tasa diaria % y factor const tasaDiariaPct = (isNaN(timMensual)?0:(timMensual/30)); // % día const tasaDiariaFactor = tasaDiariaPct/100; // factor día // 3) recorrer: venc -> pagos -> hasta let fechaInicio = venc ? new Date(venc.getTime()) : null; const eventos = []; let totalInteres = 0; function acumularInteres(hastaFecha){ if(!fechaInicio || !hastaFecha) return 0; const dias = daysBetween(fechaInicio, hastaFecha); const interes = principal * tasaDiariaFactor * dias; eventos.push({tipo:'interes', desde: dateToDMY(fechaInicio), hasta: dateToDMY(hastaFecha), dias, interes}); fechaInicio = new Date(hastaFecha.getTime()); return interes; } pagos.sort((a,b)=> parseDateDMY(a.f) - parseDateDMY(b.f)); for(const p of pagos){ const f = parseDateDMY(p.f); const m = Number(p.m); if(!f || isNaN(m) || m{ if(ev.tipo==='interes'){ return ` Interés ${ev.desde} → ${ev.hasta} ${ev.dias} ${fmtMoney(ev.interes)} Tasa diaria: ${fmtNum(tasaDiariaPct,6)}% `; }else{ return ` Pago ${ev.fecha} — ${fmtMoney(ev.monto)} A interés: ${fmtMoney(ev.a_interes)} · A principal: ${fmtMoney(ev.a_principal)} · Principal restante: ${fmtMoney(ev.principal_restante)} `; } }).join('')} Hacer un nuevo cálculo Nota: Herramienta referencial. Verifica tasas y normas vigentes en SUNAT. `; } // ===== Router simple ===== const here = window.location.href; if(here.includes('/resultado/')) renderResultado(); else renderForm(); })(); Intereses moratorios SUNAT">. Encabezado azul con texto blanco. --> :root{ --jf-primary:#0a2342; /* azul marca */ --jf-accent:#00d084; /* verde marca */ --jf-text:#0f172a; --jf-muted:#64748b; --jf-border:#e2e8f0; --jf-bg:#f8fafc; } #jf-wrap{max-width:980px;margin:24px auto 48px;padding:0 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;} .jf-card{background:#fff;border:1px solid var(--jf-border);border-radius:14px;box-shadow:0 1px 10px rgba(10,35,66,.06);overflow:hidden;} .jf-head{padding:18px 20px;background:var(--jf-primary);color:#fff} .jf-title{margin:0;font-size:24px;font-weight:800;color:#fff} .jf-sub{margin:8px 0 0;font-size:14px;opacity:.95;color:#fff} .jf-body{padding:18px} .jf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px} @media (max-width:860px){.jf-grid{grid-template-columns:1fr}} .jf-row{margin-bottom:12px} .jf-label{display:block;font-weight:800;margin-bottom:6px;color:#0a1b33} .jf-help{display:block;font-size:12px;color:var(--jf-muted);margin-top:4px} .jf-input,.jf-select{width:100%;padding:12px;border:1px solid var(--jf-border);border-radius:10px;background:#fff;box-sizing:border-box;font-size:15px} .jf-actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap} .jf-btn{appearance:none;border:0;border-radius:10px;padding:12px 16px;font-weight:800;cursor:pointer;transition:.15s transform} .jf-btn-primary{background:var(--jf-accent);color:#053b2a} .jf-btn-primary:hover{transform:translateY(-1px)} .jf-btn-ghost{background:#fff;border:1px solid var(--jf-border);color:#0a1b33} .jf-note{background:#ecfdf5;border:1px solid rgba(0,208,132,.35);color:#065f46;padding:10px 12px;border-radius:10px;font-size:13px;margin-bottom:12px} .jf-chip{display:inline-block;background:#e8eefc;border:1px solid #c7d2fe;color:#1e3a8a;padding:6px 10px;border-radius:999px;font-size:12px;margin-right:8px} .jf-hr{height:1px;background:var(--jf-border);margin:16px 0} .jf-section{font-size:18px;margin:8px 0 6px;color:#0a1b33;font-weight:800} /* Resultado */ .jf-hero{padding:18px;background:linear-gradient(90deg,var(--jf-accent),#51f2c0);border:1px solid rgba(0,208,132,.45);border-radius:12px;color:#063b2c;margin-bottom:16px} .jf-hero .jf-h3{margin:0 0 6px;font-weight:800} .jf-summary{background:#fff;border:1px solid var(--jf-border);border-radius:12px;padding:16px} .jf-kv{display:grid;grid-template-columns:1fr auto;gap:8px 10px} .jf-kv div:nth-child(2n){font-weight:700} .jf-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--jf-border);border-radius:12px;overflow:hidden} .jf-table th,.jf-table td{padding:10px 12px;border-bottom:1px solid var(--jf-border);font-size:14px} .jf-table th{background:#f1f5f9;text-align:left;color:#0a1b33} .jf-center{text-align:center} .jf-mini{font-size:12px;color:var(--jf-muted)} .jf-pay-row{display:flex;gap:10px;margin-bottom:10px} .jf-pay-row input{flex:1} (function(){ const BASE_URL = "https://pe.jornadafacil.com/tributaria/multas-e-intereses-sunat/"; const RESULT_URL = "https://pe.jornadafacil.com/tributaria/multas-e-intereses-sunat/resultado/"; // ===== Helpers robustos (soporta coma o punto como separador decimal) ===== const $ = (s,root=document)=>root.querySelector(s); const $$ = (s,root=document)=>Array.from(root.querySelectorAll(s)); const fmtMoney = (n)=>isNaN(n)?"-":Number(n).toLocaleString('es-PE',{style:'currency',currency:'PEN',minimumFractionDigits:2}); const fmtNum = (n,dec=2)=>isNaN(n)?"-":Number(n).toFixed(dec); function parseLocaleNumber(input){ if(input===undefined || input===null) return NaN; let s = String(input).trim(); if(!s) return NaN; // Eliminar caracteres que no sean dígitos, coma, punto o signo s = s.replace(/[^\d,.\-]/g,''); if(!s) return NaN; const hasComma = s.includes(','); const hasDot = s.includes('.'); if(hasComma && hasDot){ // El separador decimal será el último símbolo entre coma o punto const lastComma = s.lastIndexOf(','); const lastDot = s.lastIndexOf('.'); const decSep = lastComma > lastDot ? ',' : '.'; const thouSep = decSep === ',' ? '.' : ','; s = s.split(thouSep).join(''); // quitar miles s = s.replace(decSep, '.'); // decimal a punto } else if(hasComma && !hasDot){ s = s.replace(',', '.'); // decimal es coma } // si solo tiene punto, ya está OK const n = parseFloat(s); return isNaN(n) ? NaN : n; } function parseDateDMY(s){ if(!s) return null; const m = s.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); if(!m) return null; const d = new Date(+m[3], +m[2]-1, +m[1]); return isNaN(d) ? null : d; } const dateToDMY = (d)=>`${String(d.getDate()).padStart(2,'0')}/${String(d.getMonth()+1).padStart(2,'0')}/${d.getFullYear()}`; const daysBetween = (d1,d2)=>{ const a=new Date(d1.getFullYear(),d1.getMonth(),d1.getDate()); const b=new Date(d2.getFullYear(),d2.getMonth(),d2.getDate()); return Math.max(0, Math.round((b-a)/(1000*60*60*24))); }; const root = document.getElementById('jf-mi-root'); // ================= Render: FORM ================= function renderForm(){ root.innerHTML = ` Calculadora Tributaria Perú 2025 Actualiza tu deuda con intereses moratorios, pagos parciales y multa opcional. Resultados referenciales según las tasas que indiques. TIM mensual ÷ 30 = tasa diaria (%). Cada pago cubre primero intereses del tramo y luego reduce el principal. Solo intereses Solo multa Multa + intereses 2025 Datos generales Concepto de deuda Deuda por declaración jurada Tributo omitido Retención/percepción no pagada Tributo IGV Renta ITAN Otros Periodo tributario (AAAAMM) Solo formato AAAAMM (p.ej. 202501). Importe del tributo (S/) Multa opcional (%) Si la agregas, se suma al principal antes del cálculo de intereses. Decimales 2 3 4 Fechas Fecha de vencimiento Actualizar hasta Tasa interés moratorio mensual (%) Usaremos TIM/30 (base 360) como tasa diaria. Tasa diaria (referencia) Se calcula automáticamente al llenar TIM. Pagos parciales (opcional) + Agregar pago Limpiar pagos Calcular deuda actualizada Reiniciar formulario `; // TIM -> preview tasa diaria $('#tim').addEventListener('input', ()=>{ const tim = parseLocaleNumber($('#tim').value); const daily = isNaN(tim) ? null : (tim/30); $('#tasaDiariaPreview').value = isNaN(daily) ? '—' : `${daily.toFixed(6)}% por día`; }); // Pagos parciales const pagosBox = $('#pagos'); function addPagoRow(dateVal='', amountVal=''){ const row = document.createElement('div'); row.className='jf-pay-row'; row.innerHTML = ` Eliminar `; row.querySelector('.jf-del').addEventListener('click',()=>row.remove()); pagosBox.appendChild(row); } $('#addPago').addEventListener('click', ()=>addPagoRow()); $('#clearPagos').addEventListener('click', ()=>pagosBox.innerHTML=''); // Reset $('#resetAll').addEventListener('click', ()=>{ $('#jf-form').reset(); pagosBox.innerHTML=''; $('#tasaDiariaPreview').value=''; }); // Submit -> redirige a /resultado/ con parámetros $('#jf-form').addEventListener('submit', (e)=>{ e.preventDefault(); const periodo = ($('#periodo').value||'').trim(); if(!/^\d{6}$/.test(periodo)){ alert('Periodo tributario inválido. Usa AAAAMM.'); return; } const importe = parseLocaleNumber($('#importe').value); const multaPct = parseLocaleNumber($('#multaPct').value)||0; const tim = parseLocaleNumber($('#tim').value); const venc = parseDateDMY($('#venc').value); const hasta = parseDateDMY($('#hasta').value); const dec = parseInt($('#decimales').value,10)||2; if(isNaN(importe)||isNaN(tim)||!venc||!hasta){ alert('Revisa importe, TIM y fechas (dd/mm/aaaa).'); return; } if(hasta < venc){ alert('"Actualizar hasta" no puede ser anterior al vencimiento.'); return; } // Pagos const pagos = []; $$('.jf-pay-row', root).forEach(r=>{ const f = parseDateDMY($('.jf-pago-fecha', r).value); const m = parseLocaleNumber($('.jf-pago-monto', r).value); if(f && !isNaN(m) && m>0) pagos.push({f: dateToDMY(f), m: Number(m)}); }); pagos.sort((a,b)=> parseDateDMY(a.f) - parseDateDMY(b.f)); const url = new URL(RESULT_URL); url.searchParams.set('concepto', $('#concepto').value); url.searchParams.set('tributo', $('#tributo').value); url.searchParams.set('periodo', periodo); url.searchParams.set('importe', Number(importe).toFixed(dec)); url.searchParams.set('multa_pct',Number(multaPct).toFixed(6)); url.searchParams.set('venc', $('#venc').value.trim()); url.searchParams.set('hasta', $('#hasta').value.trim()); url.searchParams.set('tim_mensual', Number(tim).toFixed(6)); url.searchParams.set('dec', String(dec)); if(pagos.length){ url.searchParams.set('pagos', encodeURIComponent(JSON.stringify(pagos))); } window.location.href = url.toString(); }); } // ================= Render: RESULT ================= function renderResultado(){ const q = new URLSearchParams(window.location.search); const concepto = q.get('concepto')||'-'; const tributo = q.get('tributo')||'-'; const periodo = q.get('periodo')||'-'; const importe = parseLocaleNumber(q.get('importe')); const multaPct = parseLocaleNumber(q.get('multa_pct'))||0; const vencS = q.get('venc')||''; const hastaS = q.get('hasta')||''; const timMensual = parseLocaleNumber(q.get('tim_mensual')); const dec = parseInt(q.get('dec')||'2',10); const pagosJSON = q.get('pagos') ? decodeURIComponent(q.get('pagos')) : null; const venc = parseDateDMY(vencS); const hasta = parseDateDMY(hastaS); let pagos=[]; try{ pagos = pagosJSON? JSON.parse(pagosJSON) : []; }catch{ pagos=[]; } // 1) principal = importe + multa (si hubiera) const multa = (isNaN(importe)?0:importe) * (multaPct/100); let principal = (isNaN(importe)?0:importe) + multa; // 2) tasa diaria % y factor const tasaDiariaPct = (isNaN(timMensual)?0:(timMensual/30)); // % día const tasaDiariaFactor = tasaDiariaPct/100; // factor día // 3) recorrer: venc -> pagos -> hasta let fechaInicio = venc ? new Date(venc.getTime()) : null; const eventos = []; let totalInteres = 0; function acumularInteres(hastaFecha){ if(!fechaInicio || !hastaFecha) return 0; const dias = daysBetween(fechaInicio, hastaFecha); const interes = principal * tasaDiariaFactor * dias; eventos.push({tipo:'interes', desde: dateToDMY(fechaInicio), hasta: dateToDMY(hastaFecha), dias, interes}); fechaInicio = new Date(hastaFecha.getTime()); return interes; } pagos.sort((a,b)=> parseDateDMY(a.f) - parseDateDMY(b.f)); for(const p of pagos){ const f = parseDateDMY(p.f); const m = Number(p.m); if(!f || isNaN(m) || m{ if(ev.tipo==='interes'){ return ` Interés ${ev.desde} → ${ev.hasta} ${ev.dias} ${fmtMoney(ev.interes)} Tasa diaria: ${fmtNum(tasaDiariaPct,6)}% `; }else{ return ` Pago ${ev.fecha} — ${fmtMoney(ev.monto)} A interés: ${fmtMoney(ev.a_interes)} · A principal: ${fmtMoney(ev.a_principal)} · Principal restante: ${fmtMoney(ev.principal_restante)} `; } }).join('')} Hacer un nuevo cálculo Nota: Herramienta referencial. Verifica tasas y normas vigentes en SUNAT. `; } // ===== Router simple ===== const here = window.location.href; if(here.includes('/resultado/')) renderResultado(); else renderForm(); })(); Intereses moratorios SUNAT
- Multa por infracciones SUNAT
- Multa + intereses SUNAT
- Multas e intereses SUNAT 2025 {#2025}
-
Preguntas frecuentes sobre multas e intereses SUNAT
- ¿Qué son los intereses moratorios SUNAT?
- ¿Cómo calcular intereses moratorios SUNAT en 2025?
- ¿Qué es una multa SUNAT y cuándo se aplica?
- ¿Cómo se calcula una multa tributaria en Perú?
- ¿Qué es la gradualidad de multas SUNAT?
- ¿Qué significa multa más intereses SUNAT?
- ¿Qué es la deuda tributaria actualizada?
- ¿Cuál es la tasa de interés SUNAT en 2025?
- ¿Cuánto es la UIT en 2025 y cómo influye en las multas?
- ¿Dónde puedo consultar la normativa oficial de SUNAT?
Calculadora Tributaria Perú 2025 (Multas e Intereses)
Intereses moratorios SUNAT
Cuando no pagas un tributo dentro de la fecha de vencimiento, la SUNAT aplica intereses moratorios. Estos intereses se acumulan día a día hasta el momento en que regularices la deuda. La idea es compensar el retraso en el pago y mantener actualizado el valor de lo que debes.
¿Qué son los intereses moratorios SUNAT?
Los intereses moratorios SUNAT son un cargo adicional que se genera por cada día de atraso en el pago de un impuesto. Funcionan como intereses de demora tributarios y se calculan sobre la deuda base (el monto del tributo pendiente). De esta forma, la SUNAT asegura que la deuda se mantenga actualizada en el tiempo y no pierda valor.
Cómo se calculan los intereses moratorios
El cálculo se realiza con una fórmula sencilla:
Ejemplo práctico en tabla:
| Deuda base | TIM mensual | Días de atraso | Interés generado |
|---|---|---|---|
| S/ 1,000 | 1.20% | 30 | S/ 12.00 |
Ejemplo práctico con fechas y montos
| Deuda base | Fecha de vencimiento | Fecha de pago | Tasa aplicada | Intereses | Total actualizado |
|---|---|---|---|---|---|
| S/ 1,500 | 10/02/2025 | 25/03/2025 | 1.20% mensual | S/ 25.80 | S/ 1,525.80 |
Multa por infracciones SUNAT
Además de los intereses, la SUNAT puede imponer multas tributarias cuando detecta que un contribuyente no cumplió con sus obligaciones, como presentar fuera de plazo una declaración o emitir comprobantes de pago incorrectos.
Principales infracciones tributarias
Algunas de las infracciones SUNAT más comunes son:
- No presentar declaraciones dentro del plazo establecido.
- Declarar información falsa o incompleta.
- No emitir comprobantes de pago.
- No pagar tributos retenidos o percibidos.
- No llevar libros y registros contables obligatorios.
Cómo se calcula la multa SUNAT
La multa se determina en función de la UIT vigente, el Ingreso Neto (IN) o el valor “I” según el régimen tributario.
o
Multa = IN × porcentaje correspondiente
Ejemplo en tabla:
| Infracción | Base de cálculo | Porcentaje | Multa resultante |
|---|---|---|---|
| No presentar declaración | 1 UIT (S/ 5,450 en 2025) | 100% | S/ 5,450 |
| Declarar cifras falsas | Tributo omitido: S/ 2,000 | 50% | S/ 1,000 |
Régimen de gradualidad de multas
La SUNAT aplica reducciones si corriges tu error y pagas pronto:
- 95% de rebaja por subsanación voluntaria antes de ser notificado.
- 70% de rebaja si corriges después de un requerimiento inicial.
- 60% de rebaja en etapa de cobranza.
- 40% de rebaja si ya presentaste un recurso de reclamación.
Multa + intereses SUNAT
En muchos casos, la deuda no solo incluye la multa por infracción, sino también los intereses generados por el tiempo que tardaste en pagarla.
Mecanismo combinado paso a paso
- Calcular la multa correspondiente según la infracción.
- Verificar si puedes aplicar la gradualidad y reducirla.
- Actualizar el monto resultante con los intereses moratorios SUNAT hasta la fecha de pago.
Ejemplo práctico de multa + intereses
| Infracción | Multa base | Rebaja gradualidad | Interés acumulado | Total final |
|---|---|---|---|---|
| No presentar declaración IGV | S/ 5,450 | -95% (S/ 272.50) | S/ 10.50 | S/ 283.00 |
Multas e intereses SUNAT 2025 {#2025}
En 2025, las sanciones y los intereses se calculan con la UIT vigente y las tasas oficiales publicadas por la SUNAT.
Tasas y UIT vigentes en 2025
| Concepto | Valor 2025 | Base legal |
|---|---|---|
| UIT | S/ 5,450 | Decreto Supremo N.º 309-2024-EF |
| Tasa interés moratorio (TIM) | 1.20% mensual | Resolución de Superintendencia N.º XXX-2025/SUNAT |
| Tasa diaria de interés | 0.04% aprox. | SUNAT 2025 |
Cambios recientes en normativa 2025
- Actualización de la UIT a S/ 5,450.
- Ajustes en la tasa de interés moratorio (TIM) para deudas tributarias.
- Nuevas disposiciones en el Código Tributario respecto a la gradualidad.
- Resoluciones publicadas en el diario oficial El Peruano (ver SUNAT).
