El Listado de Fórmulas es una herramienta que muestra todas las operaciones matemáticas utilizadas para calcular diferentes conceptos en la nómina de un periodo fiscal. Es útil para:
Identificar fórmulas que han sido personalizadas específicamente para la empresa (manual). Detectar si hay diferencias entre la fórmula en uso y la versión estándar (Dif. Fórmula). Verificar si la tabla de cálculo de impuestos asociada a una fórmula ha cambiado (Dif. Tabla). Cada fórmula se valida anualmente y se renueva para el nuevo ejercicio fiscal, incluso si no ha habido cambios, asegurando que las operaciones sigan siendo correctas y actuales.
Una fórmula en el sistema de nómina es esencialmente una instrucción programada que calcula un valor numérico, basado en datos preexistentes y específicos del empleado. Funciona utilizando IDENTIFICADORES, que son variables predefinidas que se alimentan de datos como incidencias, salarios, fechas de ingreso, y otros relevantes para el recibo de nómina. Los identificadores pueden representar unidades de dinero, días, años, fechas, valores booleanos o texto.
Además, es posible usar el resultado de un CAMPO previamente calculado utilizando el prefijo "C$", lo que permite referenciar valores de otros campos. Por ejemplo, el valor del campo SALARIO_BASE se puede referir dentro de la formula como "C$SALARIO_BASE".
Cada fórmula también está asociada a una tabla de tipo (límite inferior, cuota fija y porcentaje) para realizar cálculos de conceptos como el ISR y el SUBSIDIO.
En el ejemplo dado, la fórmula para SALARIO_BASE multiplica las HORAS_ORDINARIAS trabajadas por el empleado por su SUELDO_X_HORA para determinar el salario base. Estos identificadores obtienen sus valores de la información específica del empleado y de su registro de tiempo, asegurando que la fórmula realice los cálculos correctos para el empleado en el período de pago específico.
<aside> 💡 Importanta: No debe confundirse una fórmula con un campo, aunque tengan nombres semejantes. El campo es el concepto de la nómina y la fórmula es el programa para calcular el valor del concepto.
</aside>
Estos identificadores son elementos esenciales en el proceso de cálculo de nómina, proporcionando las unidades de medida y las cantidades necesarias para los diversos cálculos que se realizan durante el proceso de nómina. Incluyen información sobre tiempo trabajado, compensaciones, datos fiscales, y más. Cada uno se detalla con su tipo de dato correspondiente y una descripción que aclara su función y aplicación.
Identificador | Tipo de Dato | Descripción | |
---|---|---|---|
AÑOS_CUMPLIDOS | Entero | Años completos desde la última fecha de ingreso hasta la fecha actual. | Cheque |
AJS_INCLUIR_AJUSTE | Booleano | Indica si la nómina está marcada para incluir el ajuste mensual al subsidio al empleo | Nómina |
AJS_ISR_DETERMINADO_NOMINAS | Moneda | ISR Determinado (D002 y O007) | Cheque |
AJS_SUBSIDIO_CAUSADO_MENSUAL | Moneda | Subsidio Causado Mensual | Cheque |
AJS_SUBSIDIO_CAUSADO_NOMINAS | Moneda | Subsidio Causado (D107) | Cheque |
ANTIGUEDAD_DIAS | Entero | Días de antigüedad del empleado en la empresa desde la fecha de su regingreso hasta la fecha fin de pago de la nómina. | |
DESCONTAR_SEPTIMO_DIA | Número | Número de horas a descontar del total del séptimo día de acuerdo a las incidencias. | Cheque |
DIAS_AGUINALDO | Número | Días al año correspondientes al aguinaldo de acuerdo a la configuración de la nómina. | Cheque |
DIAS_DESDE_ULTIMO_ANIVERSARIO | Número | Días transcurridos desde el último aniversario del empleado. | Cheque |
DIAS_EN_PERIODO | Número | Días totales en el periodo de nómina actual. | Periodo |
DIAS_LABORADOS | Número | Días efectivamente trabajados en el periodo de acuerdo a las incidencias. | Cheque |
DIAS_LABORALES | Número | Días laborales según el periodo de la nómina del cheque. | Cheque |
DIAS_NO_LABORADOS_PARA_AGUINALDO | Número | Días totales no laborados o permisos de acuerdo a la incidencia. Si la incidencia es en horas, 8 horas acumula un día. | Cheque |
DIAS_TRABAJADOS_EJERCICIO_ACTUAL | Número | Total de días transurridos en el ejercicio actual, si el empleado entró después del primero de enero, se toma la fecha de ingreso del empleado, de lo contrario, se toma desde el 1 de enero. | Cheque |
DIAS_VACACIONES | Número | Días de vacaciones en el periodo de acuerdo a las incidencias. | Cheque |
EN_ESPECIE | Booleano | Si la campo percepción está marcado como pago en especie. | Campo |
FECHA_1_MAYO_2024 | Fecha | Fecha 1 de mayo de 2024, relevante para la aplicación de las nuevas reglas del subsidio al empleo. | Fijo |
FECHA_DE_INGRESO | Fecha | Fecha en que el empleado ingresó a la empresa. Ultimo reingreso. | Cheque |
FECHA_INICIO_EJERCICIO_ACTUAL | Fecha | Fecha del 1 de enero del año de la fecha fin del periodo de la nómina. | Periodo |
HORAS_EN_SUELDO_DIARIO | Número | Horas que componen el sueldo diario. de acuerdo al turno de la revisión correspondiente. | Cheque |
HORAS_EXTRAORDINARIAS | Número | Total de horas extraordinarias trabajadas de acuerdo a las incidencias. | Cheque |
HORAS_ORDINARIAS | Número | Horas ordinarias trabajadas en el periodo. de acuerdo a las incidencias. | Cheque |
HORAS_X_DIA | Número | Horas incluidas por día de acuerdo a la revisión que proviene del turno. | Cheque |
HORAS_X_PERIODO | Número | Total de horas incluidas en el periodo de nómina de acuerdo a la revisión. | Cheque |
PERCEPCION_EXENTO | Moneda | Monto acumulativo exento de las percepciones. No incluye Otros Pagos. (Va cambiando de valor para cada campo mientras se van calculando nuevas percepciones) | Calculado |
PERCEPCION_GRAVADO | Moneda | Monto acumulativo gravado de las percepciones. No incluye Otros Pagos. (Va cambiando de valor para cada campo mientras se van calculando nuevas percepciones) | Calculado |
PERCEPCION_TOTAL | Moneda | Monto acumulativo total de las percepciones. No incluye Otros Pagos. (Va cambiando de valor para cada campo mientras se van calculando nuevas percepciones) | Calculado |
PERIODO_DET | Objeto | Detalle del periodo de nómina. {incluye los campos: ejercicio, fechaInicialm fechaFinal y dias} | Nómina |
PERIODO_PAGO_FIN | Fecha | Fecha final del periodo de pago. | Cheque |
PERIODO_PAGO_INICIO | Fecha | Fecha de inicio del periodo de pago. | Cheque |
PRIMA_DE_RIESGO_DE_TRABAJO | Porcentaje | Prima por riesgo de trabajo correspondiente al patrón de acuerdo al registro patronal del tipo de nómina. | Cheque |
SALARIO_BASE_COTIZACION | Moneda | Salario base de cotización de acuerdo a la revisión. | Cheque |
SALARIO_DIARIO_INTEGRADO | Moneda | Salario diario integrado de acuerdo a la revisión. | Cheque |
SMG | Moneda | Salario Mínimo General de acuerdo a la revisión. | Cheque |
SMGD | Moneda | Salario Mínimo General Diario de acuerdo a la revisión. | Cheque |
SMGD_A | Moneda | Salario Mínimo General Diario área A de acuerdo a la revisión. | Cheque |
SMGD_B | Moneda | Salario Mínimo General Diario área B de acuerdo a la revisión. | Cheque |
SUELDO_DIARIO | Moneda | Sueldo diario del empleado de acuerdo a la revisión. | Cheque |
SUELDO_X_HORA | Moneda | Sueldo por hora del empleado de acuerdo a la revisión. | Cheque |
UMA_DIARIA | Moneda | Unidad de Medida y Actualización diaria de acuerdo a la tabla de salarios mínimos. | Cheque |
UMA_PERIODO | Moneda | Unidad de Medida y Actualización por periodo de acuerdo a la tabla de salarios mínimos. Es la UMA_DIARIA por el número de días en el periodo. | Cheque |
ZONA_SALARIO | Texto | Zona salarial a la que pertenece el empleado de acuerdo a la revisión. Posibles valores {”A”, “B”, “Franja”, “Interior”}. | Cheque |
En el flujo de cálculo de la nómina, cada campo se procesa en un orden establecido, como eslabones de una cadena, donde cada uno depende del anterior. Para referenciar el valor de un campo que ya ha sido calculado, se utiliza el prefijo "C$", seguido por el nombre del campo. Esto permite que fórmulas posteriores en la secuencia puedan incorporar valores ya determinados en pasos previos del cálculo de la nómina.
En la imagen proporcionada, vemos un ejemplo de cómo se edita una fórmula dentro del sistema de nómina. Esta fórmula particular calcula un bono de asistencia. Primero, verifica si existen incidencias de tipo 'F' (Falta) y establece un indicador tieneFalta
. Luego, en base a esa condición, determina el resultado del bono. Si hay una falta, el resultado será cero; si no, calculará el bono como el 10% de la suma total del SALARIO_BASE y el SEPTIMO_DIA, ambos referenciados con el prefijo "C$" para indicar que son valores ya calculados previamente en el proceso de nómina.
Este fragmento de código ilustra la importancia de la secuencia en el cálculo de la nómina: se debe asegurar que cualquier campo referenciado con "C$" haya sido calculado antes de llegar a la fórmula actual. La lista de identificadores a la derecha sugiere que hay una amplia gama de variables predefinidas disponibles para ser utilizadas en las fórmulas, permitiendo una gran flexibilidad y precisión en la configuración de los cálculos de nómina.
Para acceder al resultado de la parte excenta o la parte gravada de una percepción, debemos agregar el sufijo “_EX” o **“_GR”**Según corresponda. Por ejemplo para el campo SALARIO_BASE tenemos los siguientes identificadores disponibles:
Identificador | Valor |
---|---|
C$SALARIO_BASE | Contiene el total del campo SALARIO_BASE de acuerdo a la fórmula o al pago fijo estipulado. |
C$SALARIO_BASE_EX | Contiene el valor de la parte exenta del campo SALARIO_BASE |
C$SALARIO_BASE_GR | Contiene el valor de la parte gravada del campo SALARIO_BASE |
<aside> 💡 Estos campos están disponibles con su valor, solo después que se han calculado de acuerdo al órden establecido.
</aside>