Saltar a contenido

Contratos

¿Qué es?

El módulo de Contratos registra la información contractual y salarial de cada empleado. Cada contrato vincula a un empleado con un tipo de contrato, un salario, fechas de vigencia y una periodicidad de pago. Los contratos son la base para generar los comprobantes de nómina: solo los empleados con contrato activo aparecen en el autocompletado al crear comprobantes.


Vista principal

Columnas de la tabla

  • Empleado — Nombre del empleado. Ancho máximo 240 px, truncado.
  • Tipo — Nombre del tipo de contrato (ej. "Término fijo", "Indefinido"). Ancho 160 px.
  • Inicio — Fecha de inicio del contrato en formato AAAA-MM-DD. Ancho 110 px, monoespaciado.
  • Fin — Fecha de fin del contrato en formato AAAA-MM-DD. Ancho 110 px. Puede estar vacío si es contrato indefinido.
  • Salario — Salario base del contrato en pesos colombianos (COP). Formato monoespaciado, alineado a la derecha. Ancho 150 px.
  • Vigencia — Badge de color según el estado de vigencia del contrato (ver tabla de estados de vigencia).
  • Estado — Badge: Activo (verde) o Inactivo (gris). Indica si el contrato está en uso activo. Ancho 100 px.

Filtros

  • Buscar por empleado... — Campo de texto libre.
  • Vigencia — Selector con todos los estados de vigencia: Todas, Activo, Borrador, Por vencer, Cerrado, Cancelado.
  • Estado — Selector: Activos (por defecto), Inactivos, Todos.

Ordenación por defecto

Ordenada por fecha de inicio descendente.


Estados de vigencia

Estado Código Badge Descripción
Borrador new Gris Contrato creado pero no vigente aún
Activo open Verde Contrato vigente en la fecha actual
Por vencer pending Amarillo La fecha de fin está próxima
Cerrado close Rojo La fecha de fin ya pasó
Cancelado cancel Rojo Contrato anulado manualmente

Acciones disponibles

Botón "Nuevo contrato"

Visible con permiso contracts: create. Abre el modal de creación.

Botón "Importar"

Visible con permiso contracts: import. Navega a la importación masiva (#/contracts-bulk).

Botón "Catálogos"

Abre el panel deslizante lateral de Tipos de contrato:

  • Lista de tipos con nombre y botones de acción al pasar el cursor.
  • Renombrar (ícono de lápiz) — Activa campo editable en línea. Enter o check guarda; Escape cancela.
  • Eliminar (ícono de papelera) — Elimina el tipo. Si hay contratos que usan ese tipo, puede fallar con un mensaje de error del servidor.
  • Agregar nuevo tipo — Campo de texto en el pie del panel + botón "+".

Exportar

Botón de exportación. Descarga un archivo contratos. Requiere permiso contracts: export.

Acciones masivas

Al seleccionar uno o más contratos:

  • Cambiar estado — Selector de estado de vigencia + botón Aplicar.
  • Eliminar — Doble confirmación. Eliminación permanente.
  • Cerrar selección — Botón X.

Campos del formulario

  • Empleado — Autocompletado de empleados (obligatorio). El sistema busca por nombre.
  • Tipo de contrato (contract_type_id) — Autocompletado del catálogo de tipos de contrato.
  • Fecha de inicio (date_start) — Selector de fecha (obligatorio).
  • Fecha de fin (date_end) — Selector de fecha (opcional). Dejar vacío para contratos a término indefinido.
  • Salario (wage) — Valor numérico en COP (obligatorio, debe ser mayor a 0). No acepta decimales.
  • Vigencia (state) — Selector del estado de vigencia: Borrador, Activo, Por vencer, Cerrado, Cancelado.
  • Término (term) — Campo de texto libre para condiciones adicionales del contrato (opcional).
  • Periodicidad de pago (schedule_pay) — Selector: Mensual (monthly), Quincenal (bi-monthly). Por defecto: Mensual.

Validaciones

  • Empleado es obligatorio.
  • Fecha de inicio es obligatoria.
  • Salario es obligatorio y debe ser mayor a 0 ("El salario debe ser mayor a 0").

Importación masiva de contratos (contracts-bulk)

La página #/contracts-bulk permite crear múltiples contratos a la vez.

Columnas de la hoja

# Columna Obligatorio Notas
1 Empleado Nombre del empleado (debe existir)
2 Tipo No Nombre del tipo de contrato
3 Fecha inicio Formato AAAA-MM-DD
4 Fecha fin No Formato AAAA-MM-DD (vacío = indefinido)
5 Salario Valor en COP sin decimales
6 Periodicidad No mensual o quincenal

Importar desde archivo (con IA)

Botón Importar acepta .csv, .xlsx o .xls. La IA mapea columnas automáticamente.


Permisos

Acción Permiso requerido
Ver contratos contracts: view
Crear contrato contracts: create
Editar contrato contracts: edit
Eliminar contracts: delete
Exportar contracts: export
Importar contracts: import

Páginas relacionadas

  • Empleados — Cada contrato pertenece a un empleado. El empleado debe existir antes de crear su contrato.
  • Nómina — Al crear comprobantes de pago, solo aparecen empleados con contratos activos en el autocompletado.
  • Novedades — Los auxilios de alimentación y transporte configurados en los puestos toman como referencia el contrato del empleado.

Preguntas frecuentes

¿Un empleado puede tener múltiples contratos activos al mismo tiempo? El sistema lo permite técnicamente, pero se recomienda tener solo un contrato activo por empleado para evitar confusiones en la nómina.

¿Qué pasa si elimino un tipo de contrato que está en uso? El servidor puede rechazar la operación con un mensaje de error si hay contratos existentes que usan ese tipo. Primero reasigna o elimina esos contratos antes de borrar el tipo.

¿Cuándo cambia automáticamente el estado de vigencia de un contrato? El sistema puede calcular el estado según las fechas (si la fecha de fin ya pasó, muestra "Cerrado"; si está próxima, "Por vencer"). Sin embargo, el campo también se puede cambiar manualmente desde el modal o acciones masivas.

¿El campo "Término" es visible para el empleado? No. Es un campo interno del portal para registrar notas o condiciones del contrato. No se muestra en la app móvil.