Skip to content

API de cálculo judicial

ts
function calculateHonorarios(
  inputs: HonorarioInputs,
): HonorarioCalculationResult

Calcula honorarios judiciales y penales mediante una actuación del catálogo o el camino legacy basado en caseType.

Entrada

CampoTipoRequeridoDescripción
caseAmountnumberBase económica en guaraníes; puede ser 0 para una actuación fija
actuacionIdstringCondicionalID judicial o penal del catálogo
caseTypeHonorarioCaseTypeCondicionalAlternativa legacy cuando no se usa actuacionId
professionalRoleProfessionalRoleNoRol del Art. 25; por defecto patrocinante
includeSecondInstancebooleanAgrega segunda instancia
includeThirdInstancebooleanAgrega tercera instancia; exige la segunda
jornalMinimonumberNo en el tipoValor necesario para montos fijos, pisos y equivalencias

Debe informarse actuacionId o caseType. Si ambos están presentes, el motor prioriza actuacionId.

ts
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:

ts
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:

ts
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: true con segunda instancia desactivada devuelve un resultado inválido.

Camino legacy

ts
const legacy = calculateHonorarios({
  caseAmount: 100_000_000,
  caseType: 'civil',
  includeSecondInstance: false,
  includeThirdInstance: false,
});

Valores admitidos:

  • civil
  • ejecutivo-excepcion
  • ejecutivo-sin-excepcion
  • ejecucion-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:

  • firstInstance
  • secondInstance
  • thirdInstance
  • total
  • alerts

Cada tramo contiene porcentajes, montos, equivalencias en jornales, referencia legal y notas. Consultá Tipos y resultados.

Documentación del Ecosistema Dikaia — Tecnología justa para el derecho