Available schemes
Supported pay periods
Applies to
ordinario.
Under split_monthly the dependency graph runs over the monthly figures and the
result is split afterwards, so every bracket, floor and ceiling is evaluated exactly where
the law defines it. The two fortnights add up to the month per line, which is what
makes them reconcile against the monthly filing.
period.days takes no part in the split — the factor comes from period.type. If days
is not 15, the response carries a PERIOD_DAYS_IGNORED warning.
weekly is rejected because a month does not contain a whole number of weeks, so four
weeks cannot be made to add up to the monthly filing. See
Pay periods for the full model and the cost of the naive shortcut.
A fortnightly period splits the gratificacion, whose payment the law fixes to a date
rather than to a stretch of the month. When that happens the response carries an
EVENT_PAYMENT_SPLIT warning.renta_anual_proyectada also appears halved in a fortnightly response. The tax is correct
— it is the annual figure over 24 — but a base labelled “annual projected income” showing
half a year can read oddly.Example request — biweekly
period_basis.sequence: 1, periods_in_month: 2 and a
monthly_equivalent you can reconcile the month against.
Ordinario
Theordinario scheme covers employees under Peruvian private labor law (Regimen General, D.Leg. 728 / TUO D.S. 003-97-TR). Includes health insurance (EsSalud), pension contributions (ONP or AFP), and income tax withholding (Renta de 5ta Categoria).
What it calculates
Employee deductions (descuentos):- ONP — National pension system contribution (13%), or
- AFP — Private pension system combined rate (~12.82%): 10% fund + ~1.35% disability/survival insurance + ~1.47% flow commission
- Renta 5ta Categoria — Monthly income tax withholding (projected annual method)
- EsSalud — Health insurance (9% of insurable remuneration, minimum base 1 RMV)
- Remuneracion basica — Base monthly salary
- Asignacion familiar — Family allowance: 10% of RMV (Ley 25129, via flag)
- Horas extras — Overtime (pre-calculated by client with 25%/35% surcharge)
- Gratificacion legal — Legal bonus: equivalent to 1 monthly salary (July and December, via flag)
- Bonificacion extraordinaria — 9% of gratificacion, paid to employee in lieu of EsSalud (Ley 29351, auto-calculated when gratificacion applies)
Employee inputs
risk_class_rate is not used by Peru and can be omitted. Peru has no equivalent employer work-risk input in this scheme.regimen_onpandregimen_afpare mutually exclusive — set exactly one totrue.
Pension system: ONP vs AFP
Peru has two pension systems. The client must indicate which one applies per employee:
The AFP rate of 12.82% is an industry average for 2025–2026. Individual AFP rates vary slightly (Prima, Integra, Habitat, Profuturo differ by less than 0.15%).
Gratificaciones and EsSalud exemption
Gratificaciones (July/December) are exempt from EsSalud and ONP under Ley 30334. Instead, the employer must pay the employee a bonificacion extraordinaria of 9% of the gratificacion (Ley 29351) — this is automatically calculated whenpaga_gratificacion = true.
Gratificaciones are subject to IR 5ta Categoria.
Renta 5ta Categoria — projection method
The engine uses a simplified annual projection (not the exact SUNAT year-to-date method): renta_anual_proyectada = (remuneracion_basica + asignacion_familiar) × 14.18 base_gravable_anual = max(renta_anual_proyectada − 7 × UIT, 0) impuesto_anual = apply_bracket(base_gravable_anual, escala_5ta) retencion_mensual = impuesto_anual / 12 The factor 14.18 represents: 12 months + 2 gratificaciones × (1 + 0.09 bonificacion extraordinaria) = 12 + 2 × 1.09 = 14.18. Overtime for the current month is not annualized (treated as one-time). For payrolls with frequent overtime, the client should account for this externally.Key reference values
2025 RMV note: Two values apply — S/1,025 until April 30 (D.S. 004-2022-TR) and S/1,130 from May 1 (D.S. 005-2025-TR).
IR 5ta Categoria brackets
The scale is permanent in UIT terms (TUO Ley IR Art. 53). The PEN amounts change each year as the UIT is updated. 2025 (UIT = S/ 5,350):
2026 (UIT = S/ 5,500):