{% extends "base.html" %} {% block title %}Nómina · {{ nom.apellidos }}, {{ nom.nombre }} · {{ meses[nom.mes-1] }} {{ nom.anio }}{% endblock %} {% block page_title %}Detalle de nómina{% endblock %} {% block topbar_actions %} Volver {% endblock %} {% block extra_head %} {% endblock %} {% block content %} {# ── Helpers de formato ─────────────────────────────────────────────── #} {% macro eur(v) %}{{ '%.2f'|format(v)|replace('.',',')|replace(',', '.', 1) if ',' in '%.2f'|format(v) else '%.2f'|format(v) }} €{% endmacro %} {# Calcula fin de mes #} {# fin_dia pasado desde Python con calendar.monthrange (correcto en años bisiestos) #} {% set fi_str = '%02d/01/%04d'|format(nom.mes, nom.anio)|replace('01/01','01/01') %} {% set fi = '01/%02d/%04d'|format(nom.mes, nom.anio) %} {% set ff = '%02d/%02d/%04d'|format(fin_dia, nom.mes, nom.anio) %} {# SS desglosado (proporcional al % configurado) #} {% set ss_total = nom.ss_trab_importe %} {% set ss_pct = nom.ss_trab_pct %} {% if ss_pct > 0 %} {% set cc_imp = (nom.salario_bruto * 4.70 / 100) | round(2) %} {% set des_imp = (nom.salario_bruto * 1.55 / 100) | round(2) %} {% set fp_imp = (ss_total - cc_imp - des_imp) | round(2) %} {% set ss_desglosado = (ss_pct == 6.35) %} {% else %} {% set ss_desglosado = false %} {% endif %} {% set total_ded = (nom.irpf_importe + nom.ss_trab_importe + nom.otras_deducciones) | round(2) %}
| Salario base | {{ '%.2f'|format(nom.salario_bruto) }} € | |
| Total devengado | {{ '%.2f'|format(nom.salario_bruto) }} € |
| Retención IRPF | {{ nom.irpf_pct }} % | -{{ '%.2f'|format(nom.irpf_importe) }} € |
| Cot. SS — Contingencias comunes | 4,70 % | -{{ '%.2f'|format(cc_imp) }} € |
| Cot. SS — Desempleo | 1,55 % | -{{ '%.2f'|format(des_imp) }} € |
| Cot. SS — Formación profesional | 0,10 % | -{{ '%.2f'|format(fp_imp) }} € |
| Cuotas Seguridad Social (trabajador) | {{ nom.ss_trab_pct }} % | -{{ '%.2f'|format(nom.ss_trab_importe) }} € |
| Otras deducciones | -{{ '%.2f'|format(nom.otras_deducciones) }} € | |
| Total deducciones | -{{ '%.2f'|format(total_ded) }} € |