Control de horario¶
El control de horario permite a los empleados registrar sus horarios de trabajo mediante un reloj de fichaje — directamente en la caja, sin software adicional. Los horarios de trabajo, las pausas y las horas extra se calculan automáticamente y pueden exportarse como archivo Excel para la contabilidad de nóminas.
Resumen de funciones¶
| Función | Descripción |
|---|---|
| Reloj de fichaje | Entrada, Pausa, Fin de pausa, Salida — directamente en el POS |
| Vista en vivo | ¿Qué empleados están fichados en este momento? |
| Informes de horario | Individual por empleado o vista general |
| Exportación a Excel | Libro de trabajo de 2 hojas para la contabilidad de nóminas |
| Corrección posterior | El administrador puede corregir, añadir o eliminar fichajes |
| Actualización automática | Actualización de estado cada 30 segundos |
⏱️ Fichar (POS)¶
Abrir la página de fichaje¶
En la caja: Menú → Control de horario
La página de fichaje muestra el estado actual y cuatro botones de acción:

┌──────────────────────────────────────┐
│ │
│ Maria Schmidt │
│ ● Eingestempelt seit 08:00 │
│ │
│ Arbeitszeit heute: 4 Std. 30 Min. │
│ Pause heute: 0 Std. 45 Min. │
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ Kommen │ │ Pause │ │
│ │ (grün) │ │ (orange) │ │
│ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ │
│ │ Zurück │ │ Gehen │ │
│ │ (blau) │ │ (rot) │ │
│ └──────────┘ └──────────┘ │
│ │
└──────────────────────────────────────┘
Acciones de fichaje¶
| Botón | Color | Descripción | Disponible cuando |
|---|---|---|---|
| Entrada | Verde | Inicio del trabajo — comienza el turno | No fichado |
| Pausa | Naranja | Iniciar pausa | Fichado, sin estar en pausa |
| Volver | Azul | Terminar la pausa, seguir trabajando | En pausa |
| Salida | Rojo | Fin del trabajo — terminar el turno | Fichado, sin estar en pausa |
Máquina de estados¶
El control de horario funciona como una máquina de estados — solo se permiten transiciones válidas:
┌──────────┐
┌─────────│ Kommen │─────────┐
│ └──────────┘ │
▼ ▼
┌──────────┐ ┌──────────┐
│ Pause │◄─────────────────│ Zurück │
└──────────┘ └──────────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ Zurück │ │ Gehen │
└──────────┘ └──────────┘
Las acciones no válidas se impiden automáticamente. Ejemplo: «Salida» no es posible si el empleado está en pausa — primero hay que pulsar «Volver» y luego «Salida».
| Estado actual | Acciones permitidas | No permitido |
|---|---|---|
| No fichado | Entrada | Pausa, Volver, Salida |
| Fichado | Pausa, Salida | Entrada, Volver |
| En pausa | Volver | Entrada, Pausa, Salida |
| Tras la pausa (de vuelta) | Pausa, Salida | Entrada, Volver |
Desarrollo de una jornada laboral típica¶
08:00 → [Kommen] Arbeit beginnt
● Status: Eingestempelt (grün)
12:00 → [Pause] Mittagspause
● Status: In Pause (orange)
12:45 → [Zurück] Weiter arbeiten
● Status: Eingestempelt (grün)
15:30 → [Pause] Kurze Kaffeepause
● Status: In Pause (orange)
15:45 → [Zurück] Weiter arbeiten
● Status: Eingestempelt (grün)
17:00 → [Gehen] Feierabend
● Status: Nicht eingestempelt
Ergebnis:
Arbeitszeit: 8 Std. 0 Min. (abzgl. 1 Std. Pause)
Pausenzeit: 1 Std. 0 Min. (45 + 15 Min.)
Varias pausas en un mismo día¶
Los empleados pueden hacer tantas pausas como deseen — cada pausa se registra por separado:
| Hora | Acción | Tiempo de trabajo | Tiempo de pausa |
|---|---|---|---|
| 08:00 | Entrada | 0:00 | 0:00 |
| 10:00 | Pausa | 2:00 | 0:00 |
| 10:15 | Volver | 2:00 | 0:15 |
| 12:00 | Pausa | 3:45 | 0:15 |
| 12:45 | Volver | 3:45 | 1:00 |
| 17:00 | Salida | 8:00 | 1:00 |
Vista en vivo (administrador)¶
¿Quién está trabajando ahora?¶
Administrador → Control de horario → Pestaña «En vivo»
La vista en vivo muestra en tiempo real qué empleados están fichados:
| Estado | Nombre | Entrada | Tiempo de trabajo | Pausa |
|---|---|---|---|---|
| ● Trabajando | Maria Schmidt | 08:00 | 4:30 | 0:45 |
| ● Pausa | Thomas Weber | 09:00 | 2:45 | — |
| ● Trabajando | Lisa Müller | 07:30 | 5:00 | 0:30 |
Indicador de estado:
| Símbolo | Color | Significado |
|---|---|---|
| ● | Verde | Trabajando en este momento |
| ● | Naranja | Está en pausa |
| — | Gris | No fichado |
La vista se actualiza automáticamente cada 30 segundos. Una animación pulsante en el distintivo «En vivo» señaliza la actualización en tiempo real.
📊 Informes de horario (administrador)¶
Administrador → Control de horario → Pestaña «Individual» o «Total»

Informe individual (detalle)¶
Muestra los horarios de trabajo diarios de uno o de todos los empleados:
Filtros: - Desde / Hasta: seleccionar período - Empleado: empleado individual o «Todos»
| Nombre | Fecha | Entrada | Salida | Pausa (min) | Tiempo de trabajo (min) |
|---|---|---|---|---|---|
| Maria Schmidt | 01.03.2026 | 08:00 | 17:00 | 45 | 495 |
| Maria Schmidt | 02.03.2026 | 09:00 | 14:00 | 0 | 300 |
| Maria Schmidt | 03.03.2026 | 08:00 | 18:00 | 45 | 555 |
Plan vs. real
Si además está activo el módulo Cuadrante de turnos, aquí aparece la columna «Planificado» con el horario de turno previsto del cuadrante — directamente junto a los horarios reales fichados.
Informe total (resumen)¶
Muestra las sumas mensuales/del período por empleado:
| Empleado | Horas de trabajo | Horas de pausa | Días de trabajo |
|---|---|---|---|
| Maria Schmidt | 168,50 | 16,50 | 22 |
| Thomas Weber | 152,00 | 15,00 | 20 |
| Lisa Müller | 135,75 | 13,50 | 18 |
Exportación a Excel¶
Haga clic en «Exportación a Excel» para obtener una tabla detallada:
Hoja 1: «Resumen»
| Nombre | Horas de trabajo | Horas de pausa | Días de trabajo |
|---|---|---|---|
| Maria Schmidt | 168,50 | 16,50 | 22 |
| Thomas Weber | 152,00 | 15,00 | 20 |
Hoja 2: «Detalles»
| Nombre | Fecha | Inicio | Fin | Pausa (min) | Tiempo de trabajo (min) |
|---|---|---|---|---|---|
| Maria Schmidt | 01.03.2026 | 08:00 | 17:00 | 45 | 495 |
| Maria Schmidt | 02.03.2026 | 09:00 | 14:00 | 0 | 300 |
El formato Excel (XLSX) puede importarse directamente en los programas habituales de contabilidad de nóminas.
🔧 Corregir horarios de fichaje¶
Si un empleado olvidó fichar o se registró una hora incorrecta:
Editar fichaje¶
- Administrador → Control de horario
- Seleccionar empleado y mes
- Hacer clic en el registro de fichaje correspondiente
- Ajustar hora, tipo o nota
- Guardar — el tiempo de trabajo se recalcula automáticamente
Añadir fichaje¶
Cuando un empleado olvidó fichar:
- En el administrador, añadir manualmente el registro de fichaje que falta
- Seleccionar el tipo (Entrada, Pausa, Volver, Salida)
- Introducir la hora
- Guardar
Eliminar fichaje¶
Cuando un registro de fichaje es erróneo:
- Seleccionar el registro de fichaje
- Hacer clic en «Eliminar»
- Confirmar — el tiempo de trabajo se recalcula automáticamente
Todas las correcciones quedan registradas — para la trazabilidad.
🧮 Cálculo del tiempo de trabajo¶
DiKAS calcula el tiempo de trabajo automáticamente según el siguiente algoritmo:
Regla básica¶
Ejemplo con dos pausas¶
Kommen: 08:00
Pause 1: 10:00 - 10:15 (15 Min.)
Pause 2: 12:00 - 12:45 (45 Min.)
Gehen: 17:00
Bruttozeit: 17:00 - 08:00 = 9 Std. 0 Min.
Pausen: 15 + 45 = 60 Min.
Arbeitszeit: 9:00 - 1:00 = 8 Std. 0 Min.
Casos especiales¶
| Situación | Comportamiento |
|---|---|
| Turno pasada la medianoche | p. ej. de 22:00 a 06:00 = 8 horas (calculado correctamente) |
| Pausa no terminada | Una pausa abierta no se cuenta (solo después de «Volver») |
| Sin salida | El tiempo de trabajo se calcula en tiempo real desde «Entrada» |
| Varios turnos por día | Cada turno (Entrada→Salida) se cuenta por separado y se suma |
| Solo entrada, sin salida | El tiempo de trabajo sigue corriendo (visible en la vista en vivo) |
Resumen mensual¶
Al final del mes se suman los valores diarios:
März 2026 — Maria Schmidt:
22 Arbeitstage
168 Std. 30 Min. Arbeitszeit
16 Std. 30 Min. Pausenzeit
7 Std. 39 Min. Durchschnitt/Tag
Ejemplos prácticos¶
Restaurante con servicio por turnos¶
Situación: Restaurante con turno de mañana y de tarde, 8 empleados.
Turno de mañana (Maria):
Turno de tarde (Thomas):
Fin de mes: Administrador → Control de horario → Exportación a Excel → enviar a la gestoría de nóminas.
Discoteca con turno nocturno¶
Situación: Club, los empleados trabajan pasada la medianoche.
DiKAS calcula correctamente los turnos pasada la medianoche — los fichajes se ordenan por hora.
Personal de apoyo con turno corto¶
Situación: Estudiante de apoyo, 3 horas el sábado.
Olvido de fichar la salida¶
Situación: Lisa olvidó fichar su salida.
- Al día siguiente, el administrador ve en la vista en vivo: Lisa está «fichada» desde ayer a las 08:00
- Administrador → Control de horario → Lisa → Añadir fichaje:
- Tipo: Salida
- Hora: 17:00 (fin de trabajo estimado)
- El tiempo de trabajo se recalcula correctamente de forma retroactiva
Detalles técnicos¶
Estructura de datos¶
Por empleado y mes existe un documento TimeSheet (p. ej. ts_usr_001_202603):
| Campo | Descripción |
|---|---|
| UserId | ID del empleado |
| Year / Month | Año y mes |
| Stamps | Lista de todos los registros de fichaje |
| TotalWorkMinutes | Tiempo de trabajo total (mes) |
| TotalBreakMinutes | Tiempo de pausa total (mes) |
| LastStampType | Último tipo de fichaje (para el indicador de estado) |
Cada registro de fichaje contiene:
| Campo | Descripción |
|---|---|
| Momento | Fecha y hora (UTC) |
| Tipo | 0=Entrada, 1=Pausa, 2=Volver, 3=Salida |
| Nota | Comentario opcional |
Endpoints de la API¶
| Método | Endpoint | Descripción |
|---|---|---|
| POST | /api/v1/time-tracking/stamp |
Fichar |
| GET | /api/v1/time-tracking/status/{userId} |
Consultar estado |
| GET | /api/v1/time-tracking/active-workers |
Empleados activos |
| GET | /api/v1/time-tracking/sheets/{userId}/{year}/{month} |
Datos del mes |
| GET | /api/v1/time-tracking/report |
Informe de horario |
| GET | /api/v1/time-tracking/report/excel |
Exportación a Excel |
| PUT | /api/v1/time-tracking/sheets/{id}/stamps/{index} |
Editar fichaje |
| DELETE | /api/v1/time-tracking/sheets/{id}/stamps/{index} |
Eliminar fichaje |
Configuración¶
El control de horario se activa en Administrador → Configuración → Operación.
| Ajuste | Descripción |
|---|---|
| Activar control de horario | Activar/desactivar el módulo |
Tras la activación aparece la opción de menú «Control de horario» en el menú del POS y en el área de administración.
Preguntas frecuentes¶
¿Puede un empleado trabajar varios turnos el mismo día? Sí. Cada secuencia Entrada→Salida se cuenta como un turno independiente y los tiempos de trabajo se suman.
¿Qué ocurre si hay un corte de electricidad durante el turno? El último fichaje se conserva. El empleado puede fichar su salida tras el reinicio, o el administrador corrige el registro posteriormente.
¿Pueden los empleados consultar sus propios horarios? La página de fichaje muestra al empleado conectado su tiempo de trabajo de hoy y su estado actual. Los informes detallados solo están disponibles en el área de administración.
¿Está disponible el control de horario también en la tableta Android (aplicación MAUI)? Sí. La página de fichaje funciona de forma idéntica en la aplicación Android — también en modo sin conexión.
Siguiente paso¶
→ Contabilidad — DATEV, facturas, gestión de reclamaciones