Personal › Importación de Fichadas de Reloj

Importación de Fichadas de Reloj

1. Introducción

Este manual explica cómo utilizar la funcionalidad de importación de fichadas de reloj de Visual Sueldos, desde la lectura del archivo generado por el reloj hasta la aplicación automática de las horas en los conceptos del recibo de sueldo.

La herramienta permite que las horas trabajadas, horas extras, horas nocturnas, ausencias y tardanzas registradas por el reloj de asistencia se trasladen directamente a la liquidación de sueldos, eliminando el trabajo manual de cargar cantidades concepto por concepto.

¿Qué es una fichada?

Una fichada es el registro que deja un empleado cada vez que marca su entrada o salida en el reloj de asistencia. Cada fichada contiene básicamente tres datos:

        ID de reloj: número que identifica al empleado en el dispositivo (puede o no coincidir con el legajo).

        Fecha y hora: momento exacto en que se realizó la marca.

        Tipo de evento: entrada (E) o salida (S).

Esquema general del proceso

El ciclo completo de trabajo con fichadas sigue estas cinco etapas:

Paso 1. El reloj de asistencia genera un archivo con las marcas (.dat, .csv, .txt).

Paso 2. El usuario abre Visual Sueldos y usa la opción de importación para leer el archivo.

Paso 3. El sistema muestra una vista previa y permite mapear cada ID de reloj con un empleado del sistema.

Paso 4. Las fichadas se guardan en la base de datos y el sistema calcula automáticamente horas normales, extras, nocturnas, ausencias, etc.

Paso 5. Al liquidar el recibo, las horas calculadas se aplican a los conceptos correspondientes configurados previamente.

2. Requisitos previos

Antes de importar fichadas por primera vez, el administrador debe tener configurado lo siguiente:

2.1 Configuración de parámetros de fichadas

Antes de importar fichadas por primera vez, se deben configurar los parámetros de cálculo. Para ello, abra el formulario de Importar Fichadas y haga clic en el botón "Configurar...". Esta configuración se realiza una sola vez por empresa y queda guardada. Los campos mínimos para que la importación funcione son: Jornada diaria y los códigos de concepto de Días Trabajados, Hs Normales y Hs Extras 50%. El resto (Hs 100%, nocturnas, feriado, tardanzas, ausencias) están reservados para versiones futuras.

Parámetros de jornada (pantalla Configurar)

Jornada diaria

Cantidad de horas normales por día (ej: 8.00)

Jornada semanal

Cantidad de horas normales por semana (ej: 48.00)

Tolerancia entrada

Minutos de tolerancia antes de considerar tardanza (ej: 5)

Tolerancia salida

Minutos de tolerancia antes de considerar salida temprana (ej: 5)

Hora inicio nocturno

Desde qué hora se consideran horas nocturnas (ej: 21:00)

Hora fin nocturno

Hasta qué hora se consideran horas nocturnas (ej: 06:00)

Redondeo minutos

Intervalo de redondeo en minutos (ej: 15)

2.2 Conceptos destino

En la misma configuración se deben indicar los códigos de conceptos del sistema donde se cargará cada tipo de hora al generar el recibo:

Conceptos de destino

 

Horas normales

Código del concepto donde se carga la cantidad de horas normales trabajadas

 

Horas extras 50%

Código del concepto para horas extras al 50%

 

Horas extras 100%

Código del concepto para horas extras al 100%

 

Horas nocturnas

Código del concepto para el adicional nocturno

 

Horas feriado

Código del concepto para horas trabajadas en feriado

 

Días trabajados

Código del concepto para cantidad de días trabajados

 

Llegadas tarde

Código del concepto para descuento por tardanza

 

Ausencias

Código del concepto para descuento por ausencias

 

 

IMPORTANTE: No es obligatorio configurar los 8 conceptos. Solo se procesarán los tipos de hora que tengan un concepto asociado. Si un concepto queda vacío, ese tipo de hora no se transfiere al recibo.

2.3 Formato del archivo del reloj

El sistema reconoce cuatro formatos de archivo. El más común debe coincidir con el modelo de reloj que utiliza la empresa:

        ZKTeco (.dat): formato binario/texto de los relojes marca ZKTeco.

        Anviz (CSV): formato CSV propio de los relojes Anviz.

        CSV Genérico: archivos CSV con cualquier estructura (se configura qué columna tiene cada dato).

        Posición Fija: archivos de texto plano donde cada campo ocupa posiciones fijas en la línea.

 

3. Cómo acceder a la importación

La funcionalidad se encuentra disponible en dos lugares del sistema:

3.1 Desde Liquidaciones Individuales

Paso 1. Abrir el menú Liquidaciones > Liquidaciones individuales.

Paso 2. Seleccionar la liquidación activa y el/los empleados a liquidar.

Paso 3. En la barra de herramientas superior, hacer clic en el botón “Importar Reloj”.

Paso 4. Se abrirá el formulario de importación en modo ventana.

3.2 Desde Consulta de Personal

También se puede acceder a la consulta de fichadas ya importadas desde:

Paso 1. Abrir el módulo de Personal.

Paso 2. Seleccionar un empleado.

Paso 3. Usar la opción de menú “Consultar Fichadas” para ver todas las fichadas y horas calculadas del empleado.

4. Proceso de importación paso a paso

El formulario de importación está dividido en varias secciones que se completan de arriba hacia abajo.

Paso 1: Seleccionar el archivo

Paso 1. Hacer clic en el botón “Seleccionar...” ubicado junto al campo Archivo.

Paso 2. En el diálogo que se abre, navegar hasta la carpeta donde se guardó el archivo generado por el reloj.

Paso 3. Seleccionar el archivo (.dat, .csv o .txt) y hacer clic en Abrir.

Paso 4. La ruta del archivo queda visible en el campo Archivo.

Paso 2: Elegir el formato

En la lista desplegable Formato seleccionar el tipo de archivo:

        Detectar automáticamente: el sistema intenta identificar el formato según la extensión y contenido (recomendado).

        ZKTeco (.dat): elegir si el archivo proviene de un reloj ZKTeco.

        Anviz (CSV): elegir si el archivo proviene de un reloj Anviz.

        CSV Genérico: elegir si es un archivo CSV con estructura personalizada.

        Posición Fija: elegir si es un archivo de texto de ancho fijo.

IMPORTANTE: Si se elige CSV Genérico o Posición Fija, aparece un panel adicional donde hay que indicar: el delimitador (coma, punto y coma, etc.), si la primera fila es encabezado, y en qué número de columna se encuentra cada dato (ID del reloj, fecha, hora, tipo de evento).

Paso 3: Cargar y revisar la vista previa

Paso 1. Hacer clic en el botón “Cargar”.

Paso 2. El sistema lee el archivo y muestra en la grilla de vista previa las primeras fichadas encontradas.

Paso 3. Las columnas de la vista previa son: ID Reloj, Fecha, Hora, Tipo (E=Entrada, S=Salida) y Estado (OK o mensaje de error).

Paso 4. Debajo de la grilla, la etiqueta de estadísticas muestra: cantidad de líneas procesadas, cuántas son válidas, cuántas tienen errores.

Si aparecen muchos errores significa que:

        Se eligió un formato incorrecto.

        El formato de fecha u hora configurado no coincide con el del archivo.

        Las columnas indicadas en el CSV Genérico no son las correctas.

En ese caso, corregir la configuración y volver a hacer clic en Cargar.

Paso 4: Mapear cada ID de reloj con un empleado

Este es el paso más importante: el sistema debe saber a qué empleado corresponde cada número que viene en el archivo del reloj.

Después de cargar el archivo, el sistema extrae todos los IDs únicos de reloj encontrados y los muestra en la grilla de Mapeo con cinco columnas: ID Reloj, Nombre Reloj, Empleado, ID Empleado y Modo (Dias/Horas). Las filas con mapeos previos aparecen ya completas; las nuevas figuran como “(Sin asignar)” con Modo “Dias” por defecto.

Auto-mapeo

Paso 1. Hacer clic en el botón “Auto-Mapear”.

Paso 2. El sistema intenta asociar automáticamente cada ID de reloj con un empleado buscando coincidencias por LEGAJO (con tolerancia a ceros a la izquierda, por ejemplo “9” matchea con “0009”) o por ID interno del personal.

Paso 3. Los mapeos exitosos quedan marcados en la grilla y se persisten en la base inmediatamente (no hace falta presionar Importar para que se guarden).

Mapeo manual

Paso 1. Para los IDs de reloj que no se pudieron mapear automáticamente, seleccionar la fila correspondiente en la grilla de Mapeo.

Paso 2. Hacer clic en el botón “Mapear Manual...”. Se abre una ventana con la lista de empleados activos de la empresa y un campo de búsqueda que filtra por apellido, nombre o legajo a medida que se tipea. Seleccionar el empleado y presionar “Asignar”.

Paso 3. Repetir para cada ID pendiente. La asignación se guarda automáticamente al confirmar.

IMPORTANTE: Los mapeos se guardan automáticamente al confirmarlos (no es necesario presionar Importar para que persistan). Adicionalmente, cada fila de la grilla tiene una columna Modo (Dias/Horas) que define cómo se transfiere ese empleado al recibo: “Dias” carga días trabajados al concepto correspondiente, “Horas” calcula Hs Normales + Hs Extras 50%. Para aplicar el mismo modo a todos, usar los botones “Todos en Dias” o “Todos en Horas”. En próximas importaciones, el sistema recuerda estas asociaciones y el auto-mapeo será más rápido.

Paso 5: Importar

Paso 1. Una vez mapeados todos los empleados, hacer clic en el botón “Importar”.

Paso 2. El sistema pide confirmación mostrando la cantidad de fichadas a importar.

Paso 3. Al confirmar, comienza el proceso. La barra de progreso muestra el avance en tiempo real.

Paso 4. Si ya hay fichadas importadas del mismo archivo (mismo nombre de archivo), el sistema lo detecta y pregunta si desea borrarlas y re-importar. Esto permite corregir y reprocesar sin acumular duplicados. Si elige No, la importación se cancela.

Paso 5. Las fichadas se insertan en FICHADAS_IMPORTADAS y, en el mismo proceso, el sistema calcula días/horas por empleado según el modo configurado y carga las cantidades en el recibo de la liquidación activa (concepto Días Trabajados, Hs Normales, Hs Extras 50%).

Paso 6. Al finalizar, se muestra un mensaje con las fichadas importadas, duplicadas y errores; además informa cuántos empleados se liquidaron por Días y cuántos por Horas. Al cerrar el formulario, el grid de recibos del padre se refresca automáticamente y se ven las nuevas cantidades.

IMPORTANTE: El sistema detecta re-importaciones del mismo archivo (por nombre) y pide confirmación para borrar las fichadas previas antes de cargar nuevamente. Si las fichadas vienen de un archivo distinto, se acumulan. Las líneas de recibo correspondientes se sobreescriben con los nuevos totales cuando se reimporta. Si necesitás un botón con el flujo paso a paso a la vista, usá el botón “Ayuda” del formulario.

 

5. Cálculo automático de horas

Durante la importación, el sistema procesa las marcas de entrada y salida de cada empleado y calcula los tipos de horas relevantes para el recibo. El cálculo se hace en memoria desde FICHADAS_IMPORTADAS al momento de Importar, sin tabla intermedia. Para cada empleado se pueden unir varios IDs de reloj (por ejemplo si cambió el lector), y se procesan en conjunto. Nota: en esta versión solo se calculan Días Trabajados, Hs Normales y Hs Extras 50%; Hs 100%, nocturnas, feriado y minutos tarde no se calculan automáticamente.

Tipos de horas que calcula el sistema

Tipos de horas

Horas brutas

Total de horas entre la primera marca de entrada y la última marca de salida del día.

Horas netas

Horas brutas menos los períodos de descanso o salidas intermedias.

Horas normales

Horas netas que no superan la jornada diaria configurada.

Horas extras 50%

Horas que exceden la jornada diaria en días hábiles.

Horas extras 100%

Horas trabajadas en días domingo o feriados, o por encima del máximo legal.

Horas nocturnas

Horas trabajadas dentro del rango nocturno configurado (ej: 21:00 a 06:00).

Minutos tarde

Diferencia en minutos entre la hora de entrada real y la esperada (considerando la tolerancia).

Es feriado / Es ausencia

Marcas indicando si el día fue feriado o si el empleado estuvo ausente.

El cálculo se realiza en memoria durante la importación, sin tabla intermedia. Las cantidades resultantes se vuelcan directamente al recibo de la liquidación activa.

Cómo revisar las horas calculadas

Para verificar que el sistema calculó correctamente las horas antes de aplicarlas al recibo:

Paso 1. Ir al módulo de Personal y seleccionar el empleado.

Paso 2. Elegir la opción “Consultar Fichadas”.

Paso 3. En el formulario de consulta, filtrar por el rango de fechas o el período deseado.

Paso 4. La pestaña Fichadas muestra las marcas crudas tal como se importaron.

Paso 5. La pestaña Horas Calculadas muestra el procesamiento diario con todos los tipos de horas.

Paso 6. La pestaña Resumen muestra los totales agregados por período.

Paso 7. Si se detectan errores o valores incorrectos, es posible exportar la grilla o imprimir para revisión.

6. Cómo se aplican las horas al recibo

A diferencia de versiones anteriores, la transferencia al recibo no es un paso separado: ocurre automáticamente dentro del botón Importar. Por cada empleado mapeado, según el Modo elegido (Días u Horas), el sistema inserta o reemplaza las líneas correspondientes en RECIBOS de la liquidación activa con la CANTIDAD calculada (los importes se calculan después por las fórmulas del concepto).

¿Cómo funciona?

El sistema toma la configuración de fichadas (donde están definidos los conceptos destino para cada tipo de hora), y para cada empleado que tenga horas calculadas en el período, inserta una línea en el recibo por cada tipo de hora con un concepto configurado.

El valor que se inserta es la CANTIDAD de horas (no el importe). El importe se calcula después, cuando el sistema ejecuta la fórmula del concepto.

Ejemplo práctico

Supongamos que se configuró lo siguiente desde la pantalla Configurar:

Ejemplo de configuración

CONCEPTO_HS_NORMALES

100 - Horas normales trabajadas

CONCEPTO_HS_50

150 - Horas extras al 50%

CONCEPTO_HS_100

160 - Horas extras al 100%

CONCEPTO_HS_NOCTURNAS

170 - Adicional nocturno

Y el sistema calculó para un empleado en el período 2026-04:

Horas calculadas del empleado

Horas normales

176.00

Horas extras 50%

12.50

Horas extras 100%

4.00

Horas nocturnas

20.00

Al aplicar las fichadas al recibo, el sistema inserta estas 4 líneas en la liquidación del empleado:

Líneas generadas en el recibo

Concepto 100

Cantidad = 176.00 (Importe = 0, se calcula por fórmula)

Concepto 150

Cantidad = 12.50 (Importe = 0, se calcula por fórmula)

Concepto 160

Cantidad = 4.00 (Importe = 0, se calcula por fórmula)

Concepto 170

Cantidad = 20.00 (Importe = 0, se calcula por fórmula)

Cómo se hace (resumen)

Paso 1. Abrir Liquidaciones Individuales y elegir la liquidación activa donde se quieren cargar las horas.

Paso 2. Seleccionar los empleados a liquidar.

Paso 3. Abrir el formulario de Importar Fichadas, cargar el archivo del reloj, mapear empleados (con sus modos Días/Horas) y presionar Importar.

Paso 4. El sistema calcula días/horas por empleado a partir de las fichadas recién importadas, agrupando incluso si un mismo empleado tiene varios IDs de reloj.

Paso 5. Por cada empleado, según su Modo, inserta una o más líneas en el recibo: si Modo = Días, una línea con concepto Días Trabajados; si Modo = Horas, una con Hs Normales y otra con Hs Extras 50%.

Paso 6. Si ya existía una línea anterior con ese mismo concepto, empleado y liquidación, se sobrescribe con el nuevo valor.

Paso 7. Al cerrar el formulario, el grid de recibos del formulario padre se refresca automáticamente. Las fórmulas del concepto calculan los importes al recalcular el recibo.

Paso 8. Revisar el recibo resultante: las cantidades deben coincidir con las horas calculadas y los importes deben reflejar la fórmula de cada concepto.

IMPORTANTE: Si se vuelve a ejecutar la aplicación de fichadas sobre la misma liquidación, las líneas existentes se reemplazan con los nuevos valores. Esto permite corregir y re-importar sin duplicar conceptos.

7. Casos frecuentes y soluciones

El sistema no detecta el formato del archivo

Solución: elegir manualmente el formato desde la lista desplegable en lugar de “Detectar automáticamente”. Si es un CSV personalizado, usar “CSV Genérico” y configurar las columnas.

Hay fichadas con error en la vista previa

Solución: verificar que el formato de fecha y hora del archivo coincida con el configurado (DD/MM/YYYY, YYYY-MM-DD, etc.). En CSV, verificar que el delimitador y el número de columna sean los correctos. En Posición Fija, verificar las posiciones y longitudes.

Auto-mapear no encuentra a los empleados

Solución: el auto-mapeo compara el ID del reloj con el legajo y con el ID interno del empleado. Si no coinciden (por ejemplo, el reloj usa números diferentes), hay que mapear manualmente la primera vez. El sistema guarda los mapeos y los siguientes archivos ya se mapearan automáticamente.

Los importes del recibo no se actualizan

Solución: las fichadas cargan la cantidad (horas) pero no el importe. El importe depende de la fórmula del concepto, que debe ejecutarse cuando se recalculan los totales del recibo. Verificar que las fórmulas de los conceptos estén correctas (por ejemplo: cantidad × valor hora).

Un empleado tiene fichadas importadas pero no aparece en el recibo

Solución: confirmar que el empleado esté incluido en la liquidación activa, que el ID Reloj esté mapeado en la grilla (columna Empleado completa, no "(Sin asignar)"), que la columna Modo tenga el valor correcto (Días u Horas) y que el concepto destino correspondiente esté completo en la pantalla Configurar. Si el cambio no se ve, cerrar el formulario para forzar el refresh del grid de recibos.

Se importaron fichadas por error

Solución: volver a seleccionar el mismo archivo y presionar Importar. El sistema detecta la re-importación y ofrece borrar las fichadas previas del archivo antes de cargar nuevamente. Las líneas de recibo se sobreescriben con los nuevos totales. Si el archivo fuente tiene otro nombre, primero borrar manualmente las fichadas anteriores desde Consultar Fichadas.

8. Glosario de términos

Términos usados en este manual

Fichada

Marca individual de entrada o salida de un empleado en el reloj.

ID Reloj

Número que identifica a un empleado dentro del dispositivo de reloj. No siempre coincide con el legajo del sistema.

Mapeo

Asociación entre un ID de reloj y un empleado del sistema de sueldos.

Horas brutas

Total de horas entre la primera entrada y la última salida del día.

Horas netas

Horas brutas menos los períodos de salida intermedia (almuerzo, etc.).

Horas normales

Horas dentro de la jornada diaria legal configurada.

Horas extras

Horas que exceden la jornada normal, con recargo del 50% o 100%.

Horas nocturnas

Horas trabajadas dentro del rango horario nocturno legal.

Jornada diaria

Cantidad de horas normales de trabajo en un día (configurable).

Concepto destino

Concepto del recibo donde se carga automáticamente un tipo de hora.

Período

Identificador mensual en formato año+mes (YYYYMM), por ejemplo 202604 para abril 2026.

Parser

Componente interno del sistema que lee el archivo y lo convierte en fichadas estructuradas.

9. Resumen visual del flujo completo

A continuación se presenta una vista consolidada del proceso completo de importación de fichadas:

1

El reloj de asistencia genera el archivo de fichadas (.dat, .csv o .txt).

2

El usuario abre Visual Sueldos y entra al formulario de importación.

3

Selecciona el archivo, elige el formato y presiona Cargar.

4

Revisa la vista previa y verifica que no haya errores.

5

Mapea cada ID de reloj con un empleado (auto o manual) y elige el Modo (Días u Horas).

6

Presiona Importar. Las fichadas se guardan y, en el mismo paso, se transfieren al recibo de la liquidación activa.

7

El sistema calcula días u horas por empleado (según su Modo) y lo carga al recibo activo.

8

El usuario revisa las fichadas y resumen en Consultar Fichadas (opcional).

9

Al cerrar el formulario, el grid de recibos del padre se refresca solo.

10

El recibo ya tiene las líneas de concepto con las cantidades (días u horas) cargadas.

11

Las fórmulas de los conceptos calculan automáticamente los importes.

12

El recibo queda listo para imprimir y enviar.

Fin del manual

Generado con Compila Help - Logosoft SRL