API de cálculo judicial
function calculateHonorarios(
inputs: HonorarioInputs,
): HonorarioCalculationResultCalcula honorarios judiciales y penales mediante una actuación del catálogo o el camino legacy basado en caseType.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
caseAmount | number | Sí | Base económica en guaraníes; puede ser 0 para una actuación fija |
actuacionId | string | Condicional | ID judicial o penal del catálogo |
caseType | HonorarioCaseType | Condicional | Alternativa legacy cuando no se usa actuacionId |
professionalRole | ProfessionalRole | No | Rol del Art. 25; por defecto patrocinante |
includeSecondInstance | boolean | Sí | Agrega segunda instancia |
includeThirdInstance | boolean | Sí | Agrega tercera instancia; exige la segunda |
jornalMinimo | number | No en el tipo | Valor necesario para montos fijos, pisos y equivalencias |
Debe informarse actuacionId o caseType. Si ambos están presentes, el motor prioriza actuacionId.
Ejemplo por catálogo
import { calculateHonorarios } from '@dikaia-io/honorarios';
const result = calculateHonorarios({
caseAmount: 100_000_000,
actuacionId: 'gen-009',
professionalRole: 'patrocinante',
includeSecondInstance: true,
includeThirdInstance: false,
jornalMinimo: 103_786,
});
if (result.isValid) {
console.log(result.firstInstance);
console.log(result.secondInstance);
console.log(result.total);
}gen-009 aplica la regla específica de ejecución de sentencia. No deduzcas la base a partir del prefijo del ID: consultá baseCalculo en el catálogo.
Actuaciones fijas
Una actuación de jornales-fijos puede recibir caseAmount: 0:
const result = calculateHonorarios({
caseAmount: 0,
actuacionId: 'gen-001',
includeSecondInstance: false,
includeThirdInstance: false,
jornalMinimo: 103_786,
});El jornal mínimo debe estar presente para convertir el valor fijo a guaraníes.
Roles profesionales
El multiplicador se aplica al rango de primera instancia después de porcentajes y pisos:
professionalRole: 'patrocinante' // 100%
professionalRole: 'procurador' // 50%
professionalRole: 'doble-caracter' // 150%Cuando el rol modifica el resultado, el motor agrega una alerta descriptiva.
Instancias adicionales
- Segunda instancia: 25%-35% de primera instancia.
- Tercera instancia: otro 25%-35% de primera instancia.
includeThirdInstance: truecon segunda instancia desactivada devuelve un resultado inválido.
Camino legacy
const legacy = calculateHonorarios({
caseAmount: 100_000_000,
caseType: 'civil',
includeSecondInstance: false,
includeThirdInstance: false,
});Valores admitidos:
civilejecutivo-excepcionejecutivo-sin-excepcionejecucion-sentencia
Este camino se mantiene para compatibilidad. Las nuevas pantallas deberían guardar el actuacionId específico utilizado en el cálculo.
Resultado
Un resultado válido puede contener:
firstInstancesecondInstancethirdInstancetotalalerts
Cada tramo contiene porcentajes, montos, equivalencias en jornales, referencia legal y notas. Consultá Tipos y resultados.