Nómina México: Creación de Contratos
Formulario de Creación de Contratos: Información Previsional y Datos del Contrato
Descripción general
👥 [Todos los perfiles]
Este módulo detalla y estructura los campos necesarios en los formularios de Información previsional (Paso 2) y Datos del contrato (Paso 3). Su propósito es habilitar la creación de contratos para los colaboradores de clientes que operan bajo empresas mexicanas, garantizando que los datos impacten correctamente en el cálculo de la nómina, el IMSS, el INFONAVIT, el FONACOT y el reparto fiscal.
Requisitos previos
⚙️ [Administrador] / 🔧 [Implementador]
Antes de diligenciar estos formularios, la empresa debe tener configurados en sus catálogos generales:
- Catálogos por legislación mexicana del SAT (Entidades federativas para el Estado ISN, regímenes laborales y periodicidad de pago).
- Catálogo de horarios de la empresa (turnos, entradas y salidas).
- Conexiones de interfaz de seguridad social (IDSE, Carvajal, etc.) e interfaz de timbrado CFDI.
- El motor de cálculo de prestaciones de la empresa (que define aguinaldo, vacaciones y prestaciones dinámicas).
- Políticas de vacaciones de la empresa y códigos RFC de centros de trabajo.
Funcionamiento
👥 [Todos los perfiles]
El proceso opera en un flujo secuencial dividido en dos etapas principales:
- Paso 2 — Información previsional:Se ingresan los datos del colaborador relacionados con su estado de pensión y, en caso de tenerlos activos, los créditos hipotecarios INFONAVIT o comerciales FONACOT. Estos datos modifican las retenciones de nómina pero no definen salarios ni posiciones.
- Paso 3 — Datos del contrato: Se define formalmente la relación laboral. Al seleccionar la posición organizacional, se precargan los datos de empresa, cargo, área y centros de costo. Posteriormente se definen el esquema de contratación, las interfaces de seguridad social/timbrado, los datos de salario ante el IMSS, el sueldo mensual y el reparto fiscal (RFC). Al guardar en el alta, el sistema calcula de forma automática y en modo de solo lectura el salario diario, integrado, factor de integración y SBC.
Configuración
⚙️ [Administrador]
El administrador dispone de los siguientes parámetros y opciones de ajuste dentro de los formularios:
- Información Previsional:
- Pensión (PensionStatus):Configurar is_retired como No (activo en régimen) o Sí(recibe pensión). Si es Sí, seleccionar retired_type(Cesantía, Invalidez o Vejez).
- Crédito INFONAVIT (InfonavitData):Configurar Registro patronal, Fecha de inicio/aplicación, Fecha real, Fecha de fin ($\ge$ inicio), Número de crédito, Tipo de descuento (Porcentaje[código 1], Cuota fija[código 2] o VSM [código 3]), Valor de descuento (monto, % o factor de hasta 4 decimales) y Tipo de movimiento.
- Créditos FONACOT (fonacots_data[]):Configurar dinámicamente mediante Fecha de inicio, Fecha de fin, Número de crédito/referencia (único), Monto en pesos y Cantidad de pagos.
- Período de aplicación (Period):Disponible solo al editar. Permite elegir el mes/año de nómina desde el cual aplican los cambios previsionales.
- Datos del Contrato:
- Posición y empresa:Asignar Posición organizacional, Empresa (razón social), Sucursal (opcional), Cargo, Área, Horario de contrato, Zona horaria, Centros de costo con porcentajes (deben sumar 100%), Estado ISN, Clasificación (sindicalizado: Sí/No), Fecha de inicio de contrato, Tipo de jornada/turno, Horas semanales (paso 0.5), Días de trabajo, Configuración avanzada (motor de cálculo), IMSS activo (Sí/No), Descripción del puesto y Contrato relacionado (para multi-contrato).
- Esquema de contratación:Fecha de antigüedad reconocida, Régimen laboral, Tipo de contrato, Periodicidad de pago, Grupo de contrato, Proyecto, Días de prueba y Fecha de término.
- Interfaces IMSS y timbrado:Interfaz seguridad social, Interfaz timbrado y Registro patronal IMSS.
- Datos de salario IMSS: Tipo de trabajador (permanente, temporal o construcción), Tipo de salario IMSS (fijo, variable o mixto), Tipo de jornada IMSS (tiempo completo o jornada reducida) y Jornada IMSS (semana completa o 1-5 días/medio día si es reducida).
- Percepciones y salario:Base para prestaciones (inicio contrato o antigüedad), Considerar prestaciones (solo jornada reducida), Sueldo mensual, Días para salario diario (divisor 30, 30.4, etc.), Días de aguinaldo (default 15), Días de vacaciones (default 6), Prima vacacional (default 25%), Percepciones fijas gravadas y Otras prestaciones fijas.
- Datos adicionales:Grupo contable, Tipos de vacaciones y Jefe directo.
- RFC de nómina (reparto fiscal):Código RFC, Porcentaje RFC y lista de RFC labora (la suma total debe ser 100%).
- Envío IMSS (Solo en alta):Activar o desactivar sendMovementpara generar el movimiento de alta ante el IMSS al guardar.
🔧 [Implementador]
Para el despliegue y la parametrización inicial por cliente, se deben tener en cuenta las siguientes variaciones en la estructura de los datos:
- Flujos unificados (Workflows / All-in-one): En este esquema unificado de alta, el Paso 2 previsional incluye campos adicionales y estructuras distintas:
- Salud (employee_health_insurance):Registra datos médicos personales (grupo sanguíneo, alergias y descripción), no EPS.
- Pensión (employee_pension_fund):Mantiene la misma lógica que PensionStatus.
- INFONAVIT / FONACOT:Comparten los mismos datos pero cambian los nombres técnicos de los campos (ej. prefijo person#infonavit#...en lugar de started_at de payroll-app).
- Flujos de Edición: Al editar desde la ficha del colaborador, INFONAVIT y FONACOT se gestionan en formularios totalmente separados(InfonavitForm y FonacotForm). El formulario de "Otros datos" (OtherDataForm) queda restringido únicamente para editar el período de aplicación y la pensión.
Casos de uso frecuentes
🧑 [Usuario final]
- Visualización de datos médicos: El colaborador puede revisar la información registrada en el bloque de Salud (grupo sanguíneo y alergias) ingresada durante su flujo de incorporación en la plataforma.
- Consulta de retenciones:El colaborador puede verificar que los descuentos aplicados en su nómina por concepto de crédito hipotecario (INFONAVIT) o crédito comercial (FONACOT) correspondan a los números de crédito y montos pactados en su relación laboral.
⚙️ [Administrador]
- Carga de Colaborador con Crédito INFONAVIT Activo: Al crear el contrato de un trabajador con un crédito de vivienda, el administrador activa el bloque opcional en el Paso 2, ingresando el número de crédito, la fecha de aplicación y define si el descuento se realizará por porcentaje, cuota fija o VSM.
- Edición Previsional Retroactiva:El administrador necesita modificar un dato de pensión o crédito en una fecha anterior al mes actual. Selecciona el período en el campo period_id y el sistema le muestra una alerta informando que el cambio afectará a los meses posteriores.
- Contratación con Antigüedad Reconocida:Al registrar a un colaborador que viene de otra empresa del grupo, el administrador configura la "Fecha de antigüedad reconocida" con un día anterior a la "Fecha de inicio de contrato" para que el sistema calcule correctamente sus prestaciones basándose en dicha antigüedad.
Restricciones y consideraciones
👥 [Todos los perfiles]
- Secuencia obligatoria:Se debe llenar primero la información previsional (Paso 2) y posteriormente los datos del contrato (Paso 3).
- Dependencia de catálogos en el Régimen: Al modificar el campo "Régimen laboral", el campo "Tipo de contrato" se resetea, obligando al usuario a seleccionar nuevamente un tipo válido para ese régimen.
- Sincronización en contratos a plazo: Si el tipo de contrato exige una fecha de término, los campos de fecha de término (ended_at) y los días de prueba (trial_days) se sincronizan de manera automática entre sí.
- Restricción de fecha de inicio (IMSS Inactivo):Si en el alta el campo "IMSS activo" se configura como "No", la "Fecha de inicio de contrato" no puede tener una antigüedad mayor a ~30 días hacia atrás.
- Bloqueos por Multi-contrato:Al activar un "Contrato relacionado" para vincularlo a otro contrato del mismo colaborador, el sistema bloquea automáticamente múltiples campos (como interfaces, jornada y sindicalización).
- Campos de Solo Lectura: Los campos de Salario diario, Salario integrado, Factor de integración y SBC no son editables; el sistema los calcula de forma automática basándose en el sueldo mensual y la configuración avanzada.
- Validación de fechas en INFONAVIT:La fecha de fin del descuento (ended_at) debe ser obligatoriamente igual o posterior a la fecha de inicio (started_at).
- Unicidad en FONACOT:El número de crédito o referencia no puede repetirse entre los diferentes créditos FONACOT añadidos dentro de un mismo formulario.
- Cuadre de porcentajes:Tanto la suma de los porcentajes de los Centros de costo como la suma de los porcentajes de reparto fiscal (Código RFC y RFC labora) deben dar exactamente el 100%.
Preguntas frecuentes (Q&A)
🧑 [Usuario final]
P: ¿El bloque de salud del formulario define mi afiliación a una institución pública de salud?
R: No. Los campos de salud del flujo unificado corresponden a datos médicos de la persona (grupo sanguíneo y alergias) y no definen ni guardan relación con una EPS o institución de salud.
P: ¿Puedo tener registrados más de un crédito FONACOT al mismo tiempo en mi información?
R: Sí, el sistema cuenta con una lista dinámica para FONACOT que permite ingresar varios créditos simultáneamente, siempre que el número de crédito o referencia no se repita entre ellos.
⚙️ [Administrador]
P: ¿Qué sucede si configuro una fecha de período anterior a la actual al editar la previsión?
R: Al elegir un período anterior al actual en el campo period_id, el sistema emitirá una alerta advirtiendo que este cambio afectará a los meses posteriores de la nómina.
P: ¿Dónde se edita la fecha de término de un contrato que está por vencer?
R: En el flujo de edición, la fecha de término no se modifica en el formulario principal del esquema de contratación, sino que se parametriza dentro del apartado específico de “Datos de terminación”.
🔧 [Implementador]
P: ¿Los nombres de los campos de INFONAVIT y FONACOT son idénticos en la aplicación de nómina y en los flujos All-in-one (AIO)?
R: No. Aunque resguardan los mismos datos, en el flujo unificado AIO los nombres de los campos difieren y utilizan una estructura distinta (por ejemplo, person#infonavit#...frente a started_atusado en payroll-app).
P: ¿Qué pasa con los formularios de INFONAVIT y FONACOT cuando un usuario edita la información desde la ficha del colaborador?
R: En el flujo de edición desde la ficha, INFONAVIT y FONACOT dejan de estar juntos y pasan a gestionarse en formularios totalmente separados denominados InfonavitFormy FonacotForm. El formulario original OtherDataFormse limita únicamente a la edición de la pensión y el período.
Glosario de términos clave
👥 [Todos los perfiles]
- INFONAVIT:Instituto del Fondo Nacional de la Vivienda para los Trabajadores. En el sistema representa el bloque para configurar los descuentos y movimientos asociados a los créditos hipotecarios de los colaboradores.
- FONACOT:Instituto del Fondo Nacional para el Consumo de los Trabajadores. En el sistema aplica para la deducción periódica en pesos de créditos al consumo otorgados al colaborador.
- SBC (Salario Base de Cotización):Campo calculado de solo lectura en el sistema que determina la base salarial bajo la cual el trabajador cotiza ante el IMSS.
- Estado ISN:Entidad federativa seleccionada bajo el catálogo del SAT que determina el lugar de imputación para el Impuesto Sobre Nóminas de la empresa.
- VSM (Veces Salario Mínimo):Tipo de descuento disponible para el crédito INFONAVIT, cuyo factor acepta hasta 4 decimales en el campo de valor.
- PensionStatus:Nombre técnico del objeto que almacena si el colaborador está o no pensionado, guardando la variable active si se encuentra laborando de forma normal o especificando el tipo de retiro (Cesantía, Invalidez, Vejez).
- OtherDataForm:Formulario simplificado utilizado exclusivamente en la etapa de edición de la ficha del colaborador para modificar los parámetros de pensión y el período de aplicación de la nómina.