esofitec. CoreDocs

esofitec. CoreDocs

Addons a medida / 5585 FEMXA / Sit.Imp.Fmx

Funcionalidad

La aplicación es una única ventana desde la que el usuario elige el periodo y las empresas, y genera un Excel por empresa. Esta página describe el flujo de uso, el contenido del fichero generado y las reglas de negocio que aplican los importes.

Flujo de uso#

1. Pantalla inicial#

Al abrir Sit.Imp.Fmx.exe se muestra la ventana principal.

Pantalla principal de la aplicación

  • Mes / Año: periodo de las pagas a exportar. Por defecto se carga el mes anterior al actual.
  • Cargar Empresas A3Innuva: se conecta a la API de a3Innuva Nómina y lista las empresas disponibles. Si no hay sesión activa, primero pide iniciar sesión en Wolters Kluwer (ver Instalación y activación).
  • Directorio de salida: carpeta donde se generará el fichero. Se recuerda la última carpeta usada entre ejecuciones.
  • Nombre del fichero: nombre base del Excel. Se recuerda el último nombre usado. Al nombre base se le añade siempre el sufijo -AAAA-MM-CCC (año, mes y código de empresa a 3 dígitos). Por ejemplo, para enero de 2024 y la empresa 8: ...-2024-01-008.xlsx.

2. Selección de empresas#

Tras cargar, aparece el listado de empresas del grupo. Es de selección múltiple: se marcan las que se quieren exportar y se pulsa Generar XLS. Se genera un fichero independiente por cada empresa seleccionada.

Empresas cargadas y seleccionadas

3. Progreso#

Durante la generación, la ventana muestra en todo momento el paso en curso (empresa, número de paga sobre el total y operación actual).

Ventana de progreso durante la exportación

4. Resultado#

Si todo va bien, al terminar se muestra el mensaje de proceso finalizado.

Mensaje de proceso finalizado con éxito

Estructura del fichero Excel#

El libro tiene tantas hojas como defina la configuración (sección SheetCostAttributionRelations del appsettings.json). Para FEMXA hay dos hojas, DOCENTESCC y ESTRUCTURA, y la paga va a una u otra según su centro de coste de nivel 1 (ver Reparto y enrutado a hojas). Si la configuración no define hojas, se genera una única hoja Hoja1.

Las columnas, en orden, son las siguientes. El "origen" indica de qué llamada de la API y, cuando aplica, de qué concepto interno calculado (llamada calculatedinternalconcepts) proviene cada valor.

# Encabezado Contenido y origen
1 Empresa companyCode (llamada companies)
2 Nombre Empresa companyName (companies)
3 Trabajador employeeCode (pays)
4 Nombre Trabajador completeName (pays)
5 NIF identifierNumber (pays)
6 ANO Año introducido por el usuario
7 MES Mes introducido por el usuario
8 Tipo Tipo de salida derivado del payType según PayTypeCorrelations
9 Atraso 1 si el tipo de salida es Atrasos; en caso contrario 0
10 Centro de Imputación (código) Código del centro de nivel 1 (costcenters cruzado con costattribution)
11 Centro de Imputación (nombre) Descripciones de los niveles padre concatenadas (todos menos el último)
12 Sección (código) Código del centro de último nivel
13 Sección Nombre del centro de trabajo, workplaceName (pays)
14 Centro de Trabajo Descripción del centro de último nivel
15 CCC Nº de cuenta de cotización del centro de trabajo (sspaymentnumbers)
16 Enf.S.S.60% Concepto 451 (Enfermedad)
17 Enf.S.S.75% Constante 0 (no se utiliza)
18 AT y EP Concepto 452 (Accidente)
19 Anticipos y retenciones judiciales Importe descontado por embargo (arrestimports) + anticipos (conceptos 791 y 7920)
20 Otras deducciones Suma de conceptos 256, 53, 120 y 700–799 (excluidos los anticipos 791 y 7920)
21 Total a abonar Concepto 802 (Importe Bruto)
22 Líquido a percibir Concepto 801 (Importe Líquido)
23 Bonificaciones/Reducciones Concepto 816 (Bonific. de Empresa Total)
24 IRPF, ingreso a cuenta Conceptos 9993 (Tributación IRPF) + 987 (Ingr. a cta. esp.)
25 SS Empresa Concepto 810 (Seg. Social de Empresa Total)
26 SS Trabajador Suma de conceptos 995, 996 y 997 (Contingencias Comunes, Formación Profesional y Desempleo)

Encabezados repetidos

Las columnas 10–11 comparten el encabezado Centro de Imputación (una lleva el código y otra el nombre) y las columnas 12–13 comparten Sección. Es el formato esperado por el cliente; la columna 13 rotulada Sección contiene realmente el nombre del centro de trabajo, y la 14 rotulada Centro de Trabajo contiene la descripción del centro de último nivel.

Los importes dependen de IDs de concepto fijos

Las columnas de importes se calculan a partir de IDs de concepto interno concretos (802, 810, 801, 816, 451, 452, 995–997, etc.). Si a3Innuva cambia o renumera esos conceptos, o el cliente reporta importes descuadrados, es el primer punto a revisar cotejando las nóminas contra la tabla anterior.

Reglas de negocio#

Tipos de paga que se ignoran#

No se exportan las pagas cuyo tipo (payType) contiene Paga Mensual Atrasos, Paga Mensual Atrasos Diferencias, temporal o simulacion. Se descartan antes de procesarse y no aparecen en el Excel.

Columna Tipo#

El payType que devuelve a3Innuva se traduce al tipo mostrado según la tabla PayTypeCorrelations del appsettings.json. Si un tipo no tiene correspondencia definida, se vuelca tal cual el payType de a3Innuva.

Reparto y enrutado a hojas#

Para cada paga se consulta costattribution:

  • Si devuelve atribuciones con porcentaje, los importes se reparten proporcionalmente entre los centros de coste. Cada importe repartido se redondea a 2 decimales (redondeo del 0,5 al alza). La diferencia por redondeo se corrige en la atribución de mayor porcentaje para que la suma de las partes cuadre con el total de la paga.
  • Si no devuelve nada, la paga va íntegra en una sola fila, sin centro informado.

El centro de coste de nivel 1 determina la hoja destino según SheetCostAttributionRelations. Para FEMXA: código DO → hoja DOCENTESCC, código ES → hoja ESTRUCTURA. Además, si la paga no trae código de centro pero su sección contiene Activo Docentes se asigna DO, y si contiene Activo Estructura se asigna ES. Si no hay centro o el libro tiene una sola hoja, la paga va a la primera hoja.

Agrupación por trabajador#

Tras el reparto, las filas se agrupan y se suman sus importes:

  • Los finiquitos se agrupan por NIF + año + mes.
  • El resto se agrupa por NIF + tipo de paga + año + mes.

Las filas cuyos importes queden todos a cero tras la suma se descartan.

Caché del nº de cuenta de cotización (CCC)#

Obtener el CCC requiere dos llamadas (sspaymentnumbers). Para minimizar llamadas a la API, el CCC se cachea por empresa y centro de trabajo durante la ejecución: se consulta una sola vez por combinación.

Gestión de errores#

Los errores de una paga o de una empresa se acumulan y no interrumpen el resto del proceso: la aplicación intenta generar todo lo posible. Al finalizar, si hubo errores, muestra un aviso.

Aviso de errores en la generación

Al desplegar la flecha se ve el detalle de cada error (empresa, paga y paso en el que ocurrió). El botón Copiar al portapapeles vuelca el detalle completo para pegarlo en un ticket o escalarlo a posventa.

Detalle de errores desplegado

Diagnóstico

El detalle de errores indica siempre el paso en curso (extracción de conceptos, nº SS, atribuciones de coste, etc.). Para un diagnóstico más profundo, subir el nivel de log a Trace registra todas las llamadas y respuestas de la API (ver Instalación y activación).