Manual de operación — Nómina y asistencia

Los recorridos reales de quien lleva la nómina y el control de asistencia en Odoo: quién hace qué, qué hace el sistema solo, y en qué momento pasa cada cosa.

Nómina y asistencia

Antes de empezar: cómo leer esta guía

Los colores de los diagramas no son decoración: cada uno dice quién da el paso.

Lo hace una persona Alguien del equipo tiene que pulsar algo: el sistema no lo hace por su cuenta.
Lo hace el sistema solo Ocurre sin que nadie lo pida: se genera, se calcula o se comprueba.
Estado bueno o final Ahí terminó bien el camino.
Bloqueo El sistema te detiene con un mensaje. No pasas hasta arreglarlo.
Aviso que no detiene Te lo dice, queda anotado, pero puedes seguir.
Sobre los ejemplos. Las cifras que aparecen en los ejemplos son inventadas para que la explicación se entienda. Lo que sí es firme son las reglas: esas no cambian con el mes ni con la empresa que use el sistema.

1 · El ciclo completo del mes

Este capítulo es el mapa. No repite lo que ya explican los demás — cada pieza tiene su propio capítulo, enlazado desde aquí — sino que muestra cómo encajan entre sí: qué pasa una sola vez, qué corre solo todos los días, qué tiene que revisar una persona antes de cerrar el mes, y qué sale de la nómina hacia afuera. El ciclo tiene cuatro tiempos, y hay que leerlos como tiempos, no como pantallas sueltas.

flowchart TD
    subgraph T1["① Una vez, al empezar"]
        C1["El Contador configura:
tipos de jornada y horarios,
estructura salarial completa,
reglas de recargo,
feriados del año,
dispositivos aprobados,
tolerancias y el interruptor
de descuento"]:::caj end subgraph T2["② Cada día, sin que nadie lo pida"] M1["La persona marca
en el lector o el quiosco"]:::caj M2["Nace el registro
del lector"]:::sis M3["La tarea de conciliación
corre cada 15 minutos"]:::sis M4["Registro de asistencia,
horas extra y faltas
se calculan solos"]:::neu M1 --> M2 --> M3 --> M4 end subgraph T3["③ Antes de cerrar el mes"] R1["El Contador revisa la
Bandeja de Conciliación:
registros «Pendiente» con Motivo"]:::caj R2["Revisa las asistencias
todavía abiertas"]:::caj R3["Revisa los atrasos
del Resumen Mensual"]:::caj R4{"Faltas por calificar,
una por una"}:::caj R5["Justificada"]:::ok R6["Injustificada"]:::no R7{"¿El interruptor de
descuento está encendido?"}:::sis R8["Nace apagado:
el sistema solo AVISA,
nadie descuenta solo"]:::avi R9["El Contador aplica
el descuento a mano"]:::caj R1 --> R2 --> R3 --> R4 R4 -->|"con sustento"| R5 R4 -->|"sin sustento"| R6 --> R7 R7 -->|"apagado (así nace)"| R8 R7 -->|"encendido a propósito"| R9 end subgraph T4["④ Al cerrar el mes"] P1["El Contador abre
el periodo de nómina"]:::caj P2{"¿Tiene fecha de inicio
de contrato cargada?"}:::caj P3["Queda FUERA del rol,
sin que nadie avise"]:::no P4["Asistente: Empleados,
Time, Asistencias"]:::caj P5["Etapa 4: el sistema
genera un recibo
por empleado"]:::sis P6["Revisar, Validar,
asociar el pago"]:::caj P7["Recibo «Pagado»"]:::ok P8["Planilla del IESS
y Formulario 107"]:::caj P9["Archivo de pago al banco"]:::neu P1 --> P2 P2 -->|"no"| P3 P2 -->|"sí"| P4 --> P5 --> P6 --> P7 P7 --> P8 P7 --> P9 end C1 --> M1 M4 --> R1 R5 --> P1 R8 --> P1 R9 --> P1 classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111

① Una vez, al empezar

Lo que dispara este tiempo es una decisión de montaje, no una fecha ni un evento del sistema: alguien se sienta a definir el esqueleto que después va a usar cada rol, cada marca y cada descuento. Ahí quedan los tipos de jornada y los horarios de cada empleado, la estructura salarial completa —beneficios, reglas, categorías de reglas— y, del lado de asistencia, los feriados del año, los dispositivos aprobados para marcar y los ajustes de tolerancia y de descuento. Todo esto se detalla en la sección 3 para nómina y en la sección 21 para asistencia; los dispositivos, aparte, en la sección 20. Se toca al montar el sistema, al abrir un horario nuevo o al cambiar una regla — no cada mes.

② Cada día, sin que nadie lo pida

Este tiempo lo dispara la propia gente al marcar, ya sea en el lector biométrico o en el quiosco (la sección 14 y la sección 15): de ahí nace un registro del lector. Y lo dispara también el reloj: la tarea de conciliación corre cada 15 minutos, sin que nadie la llame, y va emparejando entradas con salidas para cerrar jornadas — el detalle de cómo empareja y qué dice cuando no puede está en la sección 16. De ese mismo engranaje salen, solas, las horas extra calculadas y las faltas detectadas (la sección 19 y la sección 18). Nadie interviene en este tiempo salvo que algo salga mal — un registro que no encuentra pareja, una hora mal marcada.

③ Antes de cerrar el mes — el corazón del manual

Este es el tiempo que nadie puede saltarse, y el que dispara siempre una persona, nunca una fecha: el Contador tiene que sentarse a revisar y decidir. Revisa la Bandeja de Conciliación, registro por registro «Pendiente», leyendo el Motivo de cada uno (la sección 16); revisa qué asistencias quedaron abiertas y qué atrasos aparecen en el Resumen Mensual (la sección 17); y califica, una por una, las faltas pendientes como justificadas o injustificadas (la sección 18) — no hay ninguna regla que las califique sola. Una ficha sin fecha de inicio de contrato es la precondición más silenciosa de todo el ciclo: deja a la persona fuera del rol del mes sin que nada lo anuncie (la sección 4), y por eso también aparece en el diagrama de este capítulo, no solo en el suyo.

Y el punto que resume este tiempo entero es el interruptor de descuento: nace apagado, así que un atraso o una falta injustificada, por sí solos, no le quitan nada a nadie — el sistema se limita a avisar. Aplicar el descuento es un paso aparte que solo lo hace una persona, a mano, después de revisar el caso (la sección 21). Ese es el resumen de todo este capítulo: el sistema avisa, la persona decide.

④ Al cerrar el mes

Lo dispara el Contador, abriendo el periodo de nómina (la sección 5). El asistente pasa por sus etapas —Empleados, Time, Asistencias— y al pulsar Continuar el sistema genera un recibo por empleado; de ahí en adelante cada recibo se lee, se revisa y se calcula en detalle en la sección 6, se valida y se paga. Un anticipo entregado antes de cerrar el mes ya viene descontado solo en ese recibo (la sección 8), y una vez pagados los recibos, los reportes del lote completo —cuánto se pagó, en qué se fue lo que no es sueldo base, qué cambios de contrato quedaron anotados— están en la sección 7. De ahí salen las obligaciones hacia afuera: validar la planilla del IESS y completar el Formulario 107 (la sección 9).

El pago propiamente dicho es el último paso, y sale del propio lote: el archivo con la lista que se lleva al banco se genera con el botón «Pagar», que sólo aparece cuando el lote está cerrado (la sección 13).

⑤ Una vez al año, cada cosa en su fecha

Cuatro procesos no caben en el mes y tienen su propio calendario. Los décimos se pagan acumulados a quien no los mensualiza, cada uno en su fecha (la sección 10). Las utilidades se reparten hasta el 15 de abril sobre el resultado del ejercicio anterior (la sección 11). La liquidación de haberes no tiene fecha fija: se corre cuando alguien se va (la sección 12). Y el Formulario 107 cierra el año fiscal de cada trabajador.

Los tres primeros dependen de que los roles mensuales del período estén validados. Un mes que se quedó en borrador no cuenta para el reparto de utilidades ni para el proporcional de un finiquito, y no hay ningún aviso que lo diga: sale un número más bajo y parece correcto.

El enganche: de dónde saca el rol las horas

Esto es lo que ningún capítulo suelto puede mostrar por sí solo: el rol no calcula las horas de la nada, las toma de los registros de asistencia que dejó el tiempo ②. Si esos registros no están conciliados y revisados cuando se cierra el rol, el rol se calcula igual — pero sobre datos incompletos.

flowchart TD
    B{"Ficha del empleado:
¿«Basado en la asistencia»
está encendido?"}:::sis C["El rol paga el horario fijo:
no depende de lo que
se marcó ese mes"]:::neu D["El rol necesita
las horas reales
de asistencia"]:::sis E["Registro del lector"]:::neu F["La conciliación corre
cada 15 minutos"]:::sis G["Registro de asistencia"]:::neu H["Resumen Mensual:
horas y atrasos
ya calculados"]:::neu I{"¿El mes quedó conciliado
y revisado ANTES de
generar los recibos?"}:::caj J["Etapa Asistencias del asistente:
horas ya revisadas"]:::caj K1["Etapa 4: el sistema genera
el recibo con datos completos"]:::sis L["«Días trabajados»
cuadra con el mes"]:::ok M["Sigue habiendo Pendientes,
atrasos o faltas sin calificar"]:::no K2["El sistema IGUAL genera
el recibo, con las horas
que haya en ese momento"]:::sis N["«Días trabajados»
NO cuadra con el mes"]:::no O["Hay que volver a Borrador:
un recibo Validado
no se recalcula solo"]:::avi B -->|"no"| C B -->|"sí"| D --> E --> F --> G --> H --> I I -->|"sí"| J --> K1 --> L I -->|"no"| M --> K2 --> N --> O classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111

El interruptor «Basado en la asistencia» de la ficha del empleado (la sección 4) decide si esa persona depende de este enganche o no: apagado, el rol paga el horario fijo sin mirar lo que se marcó. Encendido, el rol sí depende de que la asistencia esté al día. Y aunque la asistencia no esté revisada, el sistema no detiene el cierre del rol para esperarla: genera el recibo con lo que tenga a mano, y es en la pestaña «Días trabajados» del rol individual donde se nota que el mes no cuadra (la sección 6) — ya con el recibo generado, no antes. Por eso el tiempo ③ de este capítulo no es un trámite de relleno: es la única oportunidad real de que el rol se calcule sobre datos completos.

2 · Quién hace qué en la nómina

El módulo de Nómina reúne todo lo que tiene que ver con pagar a un empleado: su ficha laboral, sus permisos, el rol del mes y los trámites frente al IESS. Se entra por Nómina, en la barra superior, y desde ahí siete menús se reparten el trabajo: cuatro para la operación de todos los meses, y tres para lo que se arma una sola vez o casi no se toca.

La barra de menú, de un vistazo

Tablero abre con las alertas pendientes, no con un resumen — es lo primero que conviene mirar cada vez que se entra. Empleados guarda la ficha de cada persona (la sección 4) y, dentro del mismo menú, los Ajustes salariales — los montos recurrentes que se suman en cada rol, ver la sección 5. Permisos no abre una lista: abre directo un calendario de vacaciones. Recibos de nómina es donde vive el trabajo del mes — Pagar quincena, Recibos de nómina y Periodos de nómina —, y Reportes junta las salidas ya calculadas: recibos de nómina, días laborables, otras entradas, la pista de auditoría y el Formulario 107. Trámites IESS trae por ahora un solo punto, validar la planilla del IESS. Y Configuración es el taller: jornadas, horarios y la estructura salarial completa — se detalla en la sección 3.

El Tablero de Nómina con tres alertas: cuenta bancaria faltante, periodos de pago superpuestos y una invitación a configurar prestaciones
El Tablero, con las alertas activas el día de la captura. Un aviso de «Cuenta bancaria faltante» — cuenta a los empleados que todavía no tienen registrada su cuenta para el pago —, otro de que «Hay varios periodos de pago que se superponen» (tres periodos de septiembre nacieron con el mismo rango de fechas, se ve en la sección 5), y una tercera tarjeta, «Configura tus prestaciones», que apunta a la parte de Salario descrita en la sección 3.

Quién entra a cada zona

El día a día — dar de alta un empleado y revisarlo (la sección 4), cerrar el rol del mes (la sección 5), sacar un reporte o validar la planilla del IESS — lo lleva el Contador. Configuración es distinta: ahí se define el esqueleto que después usa cada rol — tipos de jornada, horarios, la estructura salarial completa — y se visita poco: al montar el sistema o al cambiar una regla, no cada mes.

flowchart TD
    A["El Contador entra a Nómina"]:::caj
    B["El sistema calcula solo
las alertas del Tablero"]:::sis R1{"¿Hay alguna alerta
activa (cuenta bancaria,
periodos superpuestos,
prestaciones)?"}:::caj N["Ignorarla y seguir
de largo"]:::no RIESGO["Un pago sin cuenta a
dónde salir, o un periodo
duplicado que llega hasta
el recibo generado"]:::no RES["Resolverla o dejarla
anotada antes de seguir"]:::caj C{"¿Qué hay que hacer
hoy en Nómina?"}:::caj D["Dar de alta o revisar una ficha,
cerrar el rol del mes,
sacar un reporte,
validar la planilla del IESS"]:::caj E["Configurar jornadas, horarios
o la estructura salarial"]:::caj F["Lo hace el Contador,
cada mes"]:::ok G["Se toca casi nunca:
solo al montar el sistema
o al cambiar una regla"]:::neu A --> B --> R1 R1 -->|"sí"| N --> RIESGO R1 -->|"sí"| RES --> C R1 -->|"no"| C C -->|"trabajo del mes"| D --> F C -->|"montar o ajustar el sistema"| E --> G classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111

Los perfiles, y qué abre cada uno

El acceso no se reparte pantalla por pantalla: se reparte con seis perfiles, y cada menú está atado a uno. Quien no tiene el perfil no ve el menú.

En asistencia hay cuatro. Asistencia: Empleado (autoservicio) es el más bajo: ve lo suyo y pide sus horas extra. Asistencia: Supervisor es quien trabaja a diario con el control de asistencia — califica faltas, abre la bandeja de conciliación y ve los registros del lector. Asistencia: Administrador añade lo que se configura una vez: los dispositivos autorizados y los feriados. Asistencia: Gerente es el de consulta amplia.

En nómina hay dos, y son los nativos de Odoo. El usuario de nómina lleva el trabajo del mes. El administrador de nómina añade lo que toca la configuración salarial.

Los dos conjuntos son independientes: alguien puede ser supervisor de asistencia sin ver un solo sueldo, y ésa es justamente la separación que conviene mantener cuando la nómina y el control de entrada los llevan personas distintas. El detalle de qué puede hacer cada perfil en el resto del sistema está en la sección «Quién puede qué» ↗ Manual General.

3 · Lo que se configura una vez en la nómina

Ruta: Nómina → Configuración. Acá vive todo lo que un rol del mes da por sabido pero nadie arma cada mes: qué jornadas existen, qué horario tiene cada empleado y, sobre todo, la estructura salarial que calcula cada recibo. Se toca al montar el sistema, al abrir un horario nuevo o al cambiar una regla — no al cerrar un rol.

Gestión de tiempo

Tipos de jornada y Horarios de trabajo son la base: cada empleado trae en su ficha un horario asignado — por ejemplo «Tecnosmart 40h», el más común entre los empleados dados de alta (ver la sección 4) — y de ese horario sale cuántas horas laborables tiene esa persona en el mes. Cuentas por departamento/empleado define a qué cuenta contable va el gasto de nómina según quién cobre.

«Closure Days» está en inglés en el propio menú. No lo traduzcas al escribir sobre él: quien lo busque en pantalla lo va a encontrar tal cual, «Closure Days», dentro de Gestión de tiempo — escribirlo en castellano en un manual lo vuelve imposible de ubicar.

Salario

Es el bloque más largo, y el que casi nunca toca el Contador directamente: Beneficios, Recargo, Tipos de estructura, Estructuras, Reglas, Parámetros de regla y Categorías de reglas son las piezas del motor de cálculo que, mes a mes, convierten un salario básico en el neto que sale en cada recibo. Beneficios es, además, adonde apunta la alerta del Tablero «Configura tus prestaciones» (la sección 2): hoy no hay ninguna montada, y eso tiene una consecuencia directa en el rol del mes, explicada en la sección 5.

Tocar una Regla o un Parámetro de regla sin saber exactamente qué recibo cambia es la manera más rápida de descuadrar TODOS los roles futuros, no solo el de un empleado. Si hace falta un ajuste de cálculo puntual, ese no es el camino: para eso está el Ajuste salarial de la ficha del empleado (la sección 4), no tocar la regla que usa toda la empresa.

Ajustes y el Tablero de Advertencias

Ajustes trae la configuración general del módulo, y Tablero → Advertencias es donde se decide qué avisos aparecen al abrir Nómina — el mismo Tablero que se describe en la sección 2.

Qué trae la pantalla de Ajustes

Ruta: Configuración → Ajustes. La sección Nómina trae seis cosas. Dos plazos de aviso: cuántos días antes avisar de que vence un contrato, y cuántos de que vence un permiso de trabajo. Dos fechas de arranque: la de reinicio del acumulado anual y la del primer período de nómina, que es la que marca desde cuándo el sistema se hace cargo. Cómo se le hacen llegar los recibos a la gente. Y una fecha de cierre, por debajo de la cual ya no se toca nada.

Debajo está la sección Contabilidad, con un solo interruptor que conviene entender antes de tocarlo, y la sección Vacaciones, con los permisos diferidos.

La pantalla de Ajustes con las secciones Nómina, Contabilidad y Vacaciones
Ajustes de nómina. La fecha del primer período es la que decide desde cuándo existe la nómina en el sistema, y la de cierre, hasta dónde se puede volver atrás.
«Anonimizar asientos contables» hace dos cosas, no una. Junta todos los asientos del período en uno solo, de modo que en contabilidad no se distinga cuánto cobró cada persona — hasta ahí, lo que promete el nombre. Pero además apaga la generación de pagos individuales: quien lo encienda pierde el botón de pagar recibo por recibo. No es un efecto secundario oculto, lo dice el propio sistema, pero es fácil encenderlo por el nombre y descubrir lo otro el día de pago.
Todo lo que se configura vive en Ajustes, nunca en «Parámetros del sistema». Si un valor de nómina o de asistencia sólo se puede cambiar por consola, es un hueco del producto y hay que reportarlo, no una forma legítima de trabajar.

4 · La ficha del empleado

Ruta: Nómina → Empleados → Empleados. Es el punto de partida de todo lo demás: sin una ficha completa, un empleado no entra bien a un rol ni marca sus horas correctamente. Cada ficha reúne el cargo, el departamento, la fecha de ingreso, el sueldo y el contrato de una persona.

El listado de Empleados en vista de tabla, con las columnas Nombre, Departamento, Puesto y Gerente
El listado de Empleados, en tabla. Las columnas son Nombre, Departamento, Puesto y Gerente. Con el selector de la esquina derecha de la cabecera puedes añadir o quitar columnas —el sueldo y el costo anual, por ejemplo, vienen apagados—, y con el selector de vistas de arriba a la derecha cambias entre tabla y tarjetas. Los departamentos que usa esta empresa son Administrativo, Servicio Técnico y Ventas, y hay personas sin departamento asignado.

La pestaña Nómina: el contrato y el horario

Ahí vive el Resumen del contrato — tipo de empleado, fecha del contrato, tipo de salario, el salario mismo, el costo para el empleador, la categoría del pago («Ecuador — mensual») y el código sectorial del IESS — y, al lado, el Horario: las horas laborables que trae asignadas (el horario que se configura en la sección 3), las horas diarias cuando es tiempo parcial, y un interruptor, «Basado en la asistencia», que por su propio nombre decide si las horas que se pagan salen del horario fijo o de lo que la persona marcó de verdad — se retoma en la sección 5.

La pestaña Nómina de una ficha de empleado, con el resumen del contrato y el horario
La pestaña Nómina de una ficha (cargo de gerente, elegida por traer los datos más completos). Arriba, cuatro atajos: Recibos de nómina, Ajuste salarial —marcado «Nuevo», es decir sin ninguno creado todavía—, Tiempo personal y Horas mensuales. El chatter de abajo deja un rastro automático de cada cambio: quién tocó el salario o el tipo de contrato, y cuándo.
El estado que muestra la ficha arriba a la derecha, «Confirmed», sale en inglés — igual que «Closure Days» en Configuración (la sección 3): son rótulos del propio Odoo que todavía no se tradujeron.
Un caso medido en pantalla: un empleado sin la fecha de inicio de contrato cargada en la pestaña Nómina queda fuera del rol del mes — y el sistema no avisa en ningún lado que lo dejó fuera. Es un bloqueo silencioso: revísalo antes de dar por completa una ficha nueva, no lo esperes a notar en el rol.

La pestaña Asistencia EC

Es aparte de la pestaña Nómina y trae tres bloques: el Panel de asistencia, con el interruptor «Marca entrada y salida» que activa o no el control de esa persona; las Credenciales para marcar (NIP, ID de credencial) que usa el lector; y la Biometría (opt-in, v1.1) — rostro y huella —, con su tabla de Consentimientos biométricos (LOPDP) aparte, porque son datos que la persona tiene que autorizar expresamente, no algo que se activa por defecto.

La pestaña Asistencia EC de una ficha de empleado, con el panel de asistencia, las credenciales para marcar y la biometría opt-in
La pestaña Asistencia EC de la misma ficha. «Marca entrada y salida» está encendido, NIP e ID de credencial en blanco, rostro y huella sin activar, y la tabla de consentimientos biométricos, vacía.
El interruptor «Marca entrada y salida» hay que revisarlo ficha por ficha antes del primer rol, y no hay ninguna pantalla que lo resuma. Es la revisión más barata de hacer y la más cara de saltarse: a quien no marca pero tiene el interruptor puesto, el sistema le fabrica una falta por cada día laborable del mes. Con el descuento de faltas encendido, eso se le lleva el sueldo entero.
El Tablero avisa cuántos registros no tienen «Cuenta bancaria» cargada (la sección 2), y ese dato no aparece en ninguna de las dos pestañas de arriba. Sin cuenta bancaria un rol se puede calcular igual, pero el pago no tiene a dónde salir: revísalo antes de intentar pagar, no cuando el rol ya esté cerrado.

En resumen, así es el camino de una ficha nueva hasta que entra bien a un rol:

flowchart TD
    A["Crear la ficha en
Nómina → Empleados"]:::caj B["Completar la pestaña Nómina:
contrato, salario, horario"]:::caj C{"¿Tiene fecha de inicio
de contrato?"}:::caj E["Queda FUERA de la nómina,
sin que nadie avise"]:::no D2{"¿Tiene Horario
asignado?"}:::caj E2["Sin horario no hay días que
repartir: no hay atrasos
ni faltas que calcular"]:::no D["Entra bien al rol del mes"]:::ok REF["El rol del mes"]:::ref F["Completar Asistencia EC:
credenciales para marcar"]:::caj SW{"«Marca entrada
y salida»
¿encendido?"}:::caj SWno["APAGADO —así nace—:
sale del panel de asistencia,
cobra su jornada por horario"]:::ok SWsi["ENCENDIDO: la tarea
espera que pase
por el lector cada día"]:::caj SWerr["Si en la práctica NO marca,
la tarea le crea UNA FALTA
cada día laborable"]:::no G{"¿Tiene Cuenta bancaria
cargada?"}:::caj H["El pago no tiene
a dónde salir"]:::avi A --> B --> C C -->|"no"| E C -->|"sí"| D2 D2 -->|"no"| E2 D2 -->|"sí"| D D -.->|"pasa a"| REF D --> F --> SW SW -->|"apagado"| SWno SW -->|"encendido"| SWsi --> SWerr D --> G G -->|"no"| H classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

5 · El rol del mes

Ruta: Nómina → Recibos de nómina → Periodos de nómina. Un periodo agrupa a todos los empleados que se pagan juntos en un rango de fechas, y avanza por cuatro etapas — Empleados, Time (así, sin traducir, tal como sale en pantalla), Asistencias y Recibos de nómina — hasta quedar «Listo».

flowchart TD
    T["El Contador decide abrir
el periodo: no hay fecha
automática que lo dispare"]:::caj A["Abrir el periodo de nómina"]:::caj B["Etapa 1 · Empleados:
revisar horario, fecha de ingreso
y salario de cada quien"]:::caj Bq{"¿Falta alguien que
debería estar?"}:::caj Bno["Revisar su ficha: fecha de
contrato, estructura salarial
u horario — ver el caso
«un empleado no aparece»"]:::no C["Etapa 2 · Time:
revisar vacaciones y permisos
que caen en el período"]:::caj D["Etapa 3 · Asistencias:
revisar horas trabajadas
de cada empleado"]:::caj Dq{"¿El mes quedó conciliado
y sin Pendientes antes
de seguir?"}:::caj Dno["Seguir de todas formas:
el asistente NO espera
a que se revise"]:::avi E["Pulsar Continuar"]:::caj F["Etapa 4: el sistema genera
un recibo por empleado"]:::sis G["Periodo queda «Listo»
—es la ETAPA, no que
ya se pagó—"]:::neu H["Recibo en «Borrador»"]:::neu Hq{"¿Los días trabajados
cuadran con el mes?"}:::caj Hno["Volver a Borrador,
corregir la causa en la
ficha o la asistencia,
y Calcular otra vez"]:::avi I["Revisar y pulsar Validar"]:::caj J["Recibo «Hecho»:
ya no se recalcula solo"]:::neu K["Asociar el pago"]:::caj L["Recibo «Pagado»"]:::ok REF1["Reportes del lote
y archivo de pago
al banco"]:::ref REF2["Planilla del IESS
y Formulario 107"]:::ref T --> A --> B --> Bq Bq -->|"sí"| Bno Bq -->|"no, todos están"| C Bno -.-> C C --> D --> Dq Dq -->|"no"| Dno Dq -->|"sí"| E Dno --> E E --> F --> G F --> H --> Hq Hq -->|"no"| Hno --> H Hq -->|"sí"| I --> J --> K --> L L -.->|"pasa a"| REF1 L -.->|"pasa a"| REF2 classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Las etapas Time y Asistencias son la última oportunidad de revisar qué permisos y qué horas van a entrar al cálculo: una vez generados, los recibos nacen con esos números ya fijados. Y que el periodo aparezca como «Listo» describe la etapa del proceso — no que ya se le pagó a alguien: eso se revisa recibo por recibo, como muestra el propio diagrama.

Periodos de nómina agrupados por estado: tres en Borrador con fechas superpuestas y uno en Listo
Periodos de nómina, agrupados por estado. En Borrador (3): «sept 2026 - Participación de utilidades» y dos «sept 2026 - Rol de pagos mensual», los tres con el mismo rango, 1 al 30 de septiembre — es justo lo que el Tablero señala como periodos de pago superpuestos (la sección 2). En Listo (1): «Rol de agosto 2026», del 1 al 31 de agosto, ya en la última etapa, Recibos de nómina.

Los empleados del Rol de agosto

Al entrar al periodo, la primera etapa lista a los empleados incluidos, con el horario que trae cada uno desde su ficha (la sección 4), la fecha en que entró a trabajar y el salario con el que se va a calcular. No todos comparten el mismo horario: hay al menos una persona con jornada parcial («Tecnosmart parcial 6h») entre los demás, de tiempo completo.

La etapa Empleados del Rol de agosto 2026, con los empleados incluidos, su horario, fecha de inicio y salario
La etapa Empleados del Rol de agosto 2026. Una fila por empleado incluido, todas marcadas «Revisado», con un enlace «Nómina fuera de ciclo» al lado de cada una. Los salarios de la columna son distintos entre sí, como corresponde a cargos y jornadas distintas — la lista los muestra fila por fila, incluida la persona con jornada parcial de 6 horas.

Etapa Time: los permisos que caen en el período

El segundo paso del asistente se llama «Time», así, sin traducir — es el nombre que trae la pantalla, y el que aparece al pasar el cursor por encima es «Gestionar el tiempo». Muestra un calendario con las vacaciones y los permisos de los empleados incluidos que caen dentro del rango de fechas que se está pagando.

La etapa Time del asistente del Rol de agosto 2026, con el aviso emergente Gestionar el tiempo y un calendario con las horas acumuladas por empleado
La etapa Time del Rol de agosto 2026. Arriba, el indicador de las cuatro etapas con «Time» señalada y su explicación emergente, «Gestionar el tiempo». Debajo, un calendario con una fila por empleado y su acumulado de horas — la oportunidad de ver, antes de seguir, qué permisos van a entrar al rol de este período.

Etapa Asistencias: las horas antes del recibo

El tercer paso, «Asistencias», muestra otro calendario, esta vez con las horas trabajadas de cada empleado en el período, y un botón Continuar para avanzar a la última etapa. El contador de horas de cada fila sale mezclando los dos idiomas, del estilo «3h 40min / 176h (172h 20min left)» — las horas y minutos en español, y «left» sin traducir.

La etapa Asistencias del asistente del Rol de agosto 2026, con un calendario de horas por empleado que mezcla español e inglés, del estilo 3h 40min / 176h (172h 20min left), y el botón Continuar
La etapa Asistencias del Rol de agosto 2026. El mismo tipo de calendario que en Time, ahora con las horas trabajadas de cada empleado frente a las que le corresponden en el mes, y el aviso emergente «Gestionar asistencias» sobre la etapa activa. Es la última oportunidad de revisar las horas antes de que el asistente genere los recibos.

Pararse en estas dos etapas antes de pulsar «Continuar» tiene un propósito concreto: son la última oportunidad de revisar qué permisos y qué horas van a entrar al cálculo del rol, antes de que la etapa siguiente genere los recibos con esos números ya fijados.

Los recibos, y lo que de verdad importa: el estado

La última etapa genera un recibo por persona, con el detalle de días trabajados, salario neto, sueldo básico, ley insular, horas extra y fondo de reserva — y arriba, el total del periodo: la suma del bruto y del neto de todos los recibos del periodo. Cada recibo trae su propio estado en la columna de la derecha, y hay un botón Validar en la parte superior de la pantalla.

«Borrador» no es «pagado». De los recibos del Rol de agosto, unos pocos están en «Hecho» y el resto sigue en «Borrador» — y ninguno, ni siquiera los que están en «Hecho», está pagado todavía. Que el periodo aparezca como «Listo» en la lista de arriba describe la etapa del proceso, no si a alguien ya se le pagó: eso hay que revisarlo recibo por recibo, no dar por hecho que «Listo» significa cerrado.
Los recibos de nómina generados para el Rol de agosto 2026, con el bruto, el neto y el estado de cada uno
Los recibos ya calculados. Costo patronal $0,00, y arriba el bruto y el neto sumados de todo el periodo. De las filas visibles, casi todas en «Borrador» y alguna — hacia el final del listado — en «Hecho».

Las vacaciones: un calendario, no una lista

Ruta: Nómina → Permisos, que abre directo un calendario mensual — no hay que entrar a nada más. Cada fila es un empleado con su acumulado de horas de vacaciones para el mes, a la derecha: 176 horas es lo normal, y la persona con jornada parcial de la sección anterior aparece con 132.

El calendario de vacaciones de Permisos, con el acumulado mensual de horas por empleado
El calendario de vacaciones de septiembre 2026. Una fila por empleado, con su acumulado del mes: 176h para casi todos, 132h para quien trabaja jornada parcial.

Cómo se registra y se aprueba un permiso

Ruta: Permisos. Un permiso nuevo pide el empleado, el tipo, las fechas y —lo que importa para el rol— el estado del recibo de nómina, que es lo que decide si ese permiso llega o no al cálculo del mes.

Arriba a la derecha está su recorrido: Por aprobar → Aprobado, con botones para devolverlo a aprobación o rechazarlo.

Un permiso registrado, con su estado Por aprobar → Aprobado y los botones de rechazo
Un permiso de prueba ya registrado. El recorrido de estados está arriba a la derecha, y el historial de abajo deja constancia de quién lo autorizó y cuándo.
Un permiso registrado por quien puede aprobarlo se aprueba solo. Al probarlo con un usuario administrador, quedó autorizado en el acto y el historial lo dijo: «se autorizó automáticamente». No es un fallo — el sistema entiende que quien tiene la potestad de aprobar no necesita pedirse permiso a sí mismo.

Lo que sí conviene saber es la consecuencia práctica: los permisos que registre el Contador o el supervisor no pasan por ninguna revisión, y los que registre un empleado sin ese perfil sí quedan a la espera. Si se quiere que también los del supervisor pasen por otro par de ojos, hay que registrarlos desde una cuenta que no tenga la potestad de aprobar.

Ajustes salariales: hoy, vacío

Ruta: Nómina → Empleados → Ajustes salariales. La propia pantalla lo explica: «Un ajuste salarial es un monto recurrente definido en el empleado y usado en todos los recibos de nómina de un periodo. Por ejemplo, Recuperación de dinero, Pensión alimenticia, Evaluación salarial, etc.». Hoy esa lista está completamente vacía.

La lista de Ajuste salarial, vacía, con el mensaje que explica para qué sirve
«¿Sin ajuste salarial?» Cero registros hoy, con el botón «Crear un ajuste salarial» como única acción disponible en la pantalla.
Que esté vacío no es un dato menor: significa que no hay ningún descuento ni anticipo recurrente montado — ni una pensión alimenticia, ni un préstamo que se vaya descontando solo, nada. Quien espere que un anticipo cobrado este mes se repita solo el siguiente, no lo tiene: hay que crearlo a mano en «Ajustes salariales», y es justo lo que pide la alerta «Configura tus prestaciones» del Tablero (la sección 2) y lo que se arma, técnicamente, en Beneficios de Configuración (la sección 3).

6 · Leer un rol individual

El rol individual es el recibo de nómina de UN empleado en UN mes: cuánto trabajó, qué le entró aparte del sueldo, cómo se calculó su salario y cuánto le queda neto. Es la pantalla a la que vas cuando alguien pregunta «¿por qué me salió esto en mi rol?» — no el reporte agregado del lote entero, que va en la sección 7.

Ruta: Recibos de nómina → Recibos de nómina, y de esa lista se abre el recibo de un empleado en particular. El mismo recibo también se abre desde el rol del mes completo, tocando la fila de ese empleado.

Arriba del recibo hay tres pasos: Borrador → Validado → Pagado. Nace en Borrador, el botón Calcular rellena las cifras, Validar lo deja firme, y pasa a Pagado cuando se le asocia el pago. Mientras está en Borrador, cualquier cifra que muestre puede seguir cambiando — no lo trates como definitivo hasta que esté Validado.

Días trabajados

La primera pestaña reparte el mes en líneas: cuántos días entraron por asistencia normal, cuántos por día festivo, y así con cada tipo que haya tenido ese empleado en el período. Cada línea trae sus días, sus horas y el importe que representa — la suma de esas líneas es la que alimenta el sueldo del cálculo final.

La pestaña Días trabajados de un rol individual, con las líneas de Asistencia y Día festivo
Un recibo de agosto 2026, en Borrador. El mes trae 21 días trabajados: 20 de asistencia (160 horas, $761,90) y 1 día festivo (8 horas, $38,10). El total de la pestaña, 21 días y 168 horas por $800,00, es exactamente el sueldo que aparece después en «Cálculo del salario».

Si un empleado faltó sin permiso registrado, o si un permiso no quedó bien cargado antes de calcular el rol, esta es la pestaña donde se nota: el número de días no va a cuadrar con el mes completo. Conviene revisarla ANTES de validar, porque una vez validado el recibo ya no se recalcula solo — hay que volver a Borrador para tocarlo.

Entradas salariales

Aquí caen las novedades del mes que no son el sueldo base: un anticipo que se le pagó a este empleado, un préstamo que se le está descontando, comisiones, o cualquier otro concepto que la regla salarial de la empresa tenga configurado. Si un empleado no tiene ninguna novedad ese mes, la pestaña simplemente sale vacía — no es un error.

El detalle de qué conceptos existen y cuánto suman en un mes completo, no solo para un empleado sino para todo el lote, está en el reporte «Otras entradas» — ver la sección 7.

Cálculo del salario

Es la pestaña que de verdad importa: la que arma el neto. Lista el sueldo, las provisiones de décimo tercero y décimo cuarto prorrateadas dentro del mes (cuando la empresa las paga así), el bruto que resulta de sumarlas, los descuentos —empezando por el aporte personal al IESS— y termina en el neto a recibir. Cada línea es una regla salarial aplicada en orden: no se puede saltar una fila para entender el resultado, hay que leerlas de arriba hacia abajo.

La pestaña Cálculo del salario con Sueldo, Décimo tercero, Décimo cuarto, Bruto, Aporte personal IESS y Neto a recibir
El mismo recibo de agosto 2026. Sueldo $800,00, Décimo tercero $66,67, Décimo cuarto $40,17, Bruto $906,83, Aporte personal IESS -$75,60 y Neto a recibir $831,23. Las tarjetas de arriba de la pantalla repiten el resumen: 21,00 días trabajados y $831,23 neto — el «$0,00» que se ve junto a «Salario» en esa tarjeta es el bruto sin descuentos, no un error de cálculo.

El aporte personal al IESS sale siempre en negativo, porque es un descuento sobre el ingreso: el sistema no lo resta aparte, lo presenta ya como la línea que se le quita al empleado. Y se calcula sobre el sueldo, no sobre el bruto: 9,45% de $800,00 da exactamente $75,60 — si lo buscas sobre el bruto de $906,83 no te va a cuadrar. El neto a recibir es la última línea y es, literalmente, la suma de todas las de arriba.

flowchart TD
    A["Recibo nace en «Borrador»"]:::neu
    B["Pulsar Calcular"]:::caj
    C["Sueldo"]:::neu
    D["+ Décimo tercero
prorrateado del mes"]:::sis E["+ Décimo cuarto
prorrateado del mes"]:::sis F["= Bruto"]:::neu Q{"¿Sobre qué se calcula
el aporte personal IESS?"}:::sis Qno["✗ NO sobre el Bruto
($906,83) — esa cifra
no entra en esta cuenta"]:::no G["Sobre el SUELDO ($800,00):
9,45% = -$75,60"]:::ok H["= Neto a recibir
(Bruto − aporte IESS)"]:::neu Iq{"¿El recibo ya
está correcto?"}:::caj Ino["Sigue en «Borrador»:
cualquier cifra puede
seguir cambiando"]:::avi I["Revisar y pulsar Validar"]:::caj J["Recibo «Validado»:
ya no se recalcula solo"]:::ok K["Asociar el pago"]:::caj L["Recibo «Pagado»"]:::ok REF["Reportes del lote
y trámites al IESS"]:::ref A --> B --> C --> F D --> F E --> F C --> Q F --> Q Q -.-> Qno Q --> G --> H --> Iq Iq -->|"no"| Ino --> B Iq -->|"sí"| I --> J --> K --> L L -.->|"pasa a"| REF classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Otra información

La cuarta pestaña trae datos de contexto del recibo que no entran en el cálculo. Son seis: el título del recibo, una casilla «Sin días trabajados», una nota libre, la fecha de pago, la fecha contable —que es la del último día del período, no la del pago— y el diario de salarios al que irá el asiento.

Es la pestaña a la que se acude para confirmar CONTRA QUÉ se calculó el rol y adónde va contablemente, no para revisar cifras.

Dos de esos campos engañan por el nombre. La fecha de pago nace vacía y se llena cuando el recibo se paga de verdad: verla en blanco no significa que falte algo. Y «Sin días trabajados» no es informativa — marcada, el recibo se calcula ignorando el detalle de días, así que no se toca sin saber por qué.

7 · Los reportes de nómina

Mientras el rol individual (la sección 6) muestra un empleado a la vez, los reportes cruzan a TODO el lote: cuánto se pagó en total, en qué se fue el dinero que no es sueldo base, y qué cambios de contrato quedaron anotados. Ruta: Reportes, con cinco pantallas — Recibos de nómina, Días laborables, Otras entradas, Pista de auditoría y Formulario 107. Esta sección cubre las primeras cuatro; el Formulario 107 tiene su propia sección porque además es un trámite, no solo un reporte — ver la sección 9.

Recibos de nómina

Este reporte nace filtrado por «Pagado» y sale VACÍO. Al entrar la primera vez, si el lote del mes todavía no está pagado —o está pagado solo en parte—, la tabla no muestra nada. Nada en la pantalla avisa que hay un filtro puesto: simplemente parece que no hay datos. Hay que quitar el filtro a mano, en la barra de búsqueda de arriba, para que aparezcan las cifras reales del lote. Quien no sepa esto va a creer que la nómina no se ha procesado, cuando en realidad sí tiene recibos con cifras.
El reporte de las líneas del recibo de nómina, ya sin el filtro de Pagado, agrupado por año y por rol
El mismo reporte, con el filtro de «Pagado» ya quitado. Con el año 2026 como único agrupador queda el total acumulado del año — recién ahí se ve el movimiento real, porque con «Pagado» puesto la tabla estaba en blanco.

Una vez sin el filtro, se puede agrupar por rol de nómina, por empleado o por regla salarial usando el botón «Medidas» y las cabeceras de la tabla dinámica, igual que en cualquier reporte de este tipo en Odoo. El lote completo de agosto 2026, medido de verdad, suma el bruto y el neto de todos sus recibos — cifras que solo se ven filtrando por ese rol en particular, no en el total acumulado del año.

Días laborables

Reparte, en la misma lógica de tabla dinámica, cuánto del pago corresponde a asistencia normal y cuánto a días festivos — la misma división que ya viste por empleado en la sección 6, aquí sumada para el lote.

El reporte de las líneas de los días laborales, con las filas Asistencia y Día festivo
Filtrado a «Pagado o Hecho» del año 2026: el monto por asistencia y el monto por día festivo, sumados, para el rol que trae puesto el filtro.

Otras entradas

Es el reporte que junta lo que no es sueldo base: anticipos, préstamos, comisiones y cualquier otro concepto que entre por la pestaña «Entradas salariales» del rol individual. Es la vista rápida para responder «¿cuánto se ha entregado en anticipos este mes?» sin abrir recibo por recibo.

El reporte de otras entradas del recibo de nómina, con Anticipo de sueldo y Otras cuentas por cobrar
Agosto 2026. Dos conceptos con movimiento ese mes: «Anticipo de sueldo» y «Otras cuentas por cobrar», cada uno con su propio total sumado. El anticipo que aquí aparece es el mismo que se entrega con el asistente «Pagar quincena» — ver la sección 8.

Pista de auditoría

Es el historial de cambios sobre los datos del empleado que afectan la nómina: cambio de zona horaria, de tipo de contrato, de estructura salarial o de salario. Cada línea dice quién hizo el cambio, cuándo, y el valor de antes y el de después.

La pista de auditoría escribe la palabra «As of» en inglés delante de cada cambio — «As of 1 ene 2023», «As of 8 jun 2026» — en TODAS las líneas, sin excepción. No es un dato incompleto ni un error de configuración: así sale el rótulo, y así lo va a ver quien entre a revisar un cambio.
La pista de auditoría con la palabra As of en inglés delante de cada cambio, filtrada por empleado
Líneas de auditoría filtradas por un empleado. Cada una trae «As of» seguido de la fecha desde la que aplica el cambio, y debajo el campo que cambió —zona horaria, tipo de empleado, costo anual, estructura salarial o salario— con su valor anterior y el nuevo.

Este reporte sirve para responder «¿cuándo le subieron el sueldo a este empleado?» o «¿desde cuándo tiene este tipo de contrato?» sin tener que ir a buscarlo en su ficha. Se filtra por empleado desde la barra de búsqueda, igual que los demás reportes de este módulo.

8 · Anticipos y pagar quincena

Un anticipo es un pago que se le entrega a un empleado ANTES de que se cierre el rol del mes — la quincena, un adelanto por una emergencia, o cualquier monto suelto que haya que descontarle después. El sistema no lo trata como un rol aparte: lo registra como un recibo fuera de ciclo y lo descuenta solo, completo, del rol de fin de mes de ese mismo empleado.

Ruta: Recibos de nómina → Pagar quincena. Se abre desde el rol del mes en curso — el mismo que ves armado en la sección 5— y trae un asistente pequeño con cuatro campos.

El asistente Pagar quincena, con los campos Empleado, Fecha de pago, Monto a pagar y Nota
El asistente «Pagar quincena», abierto sobre el rol de agosto 2026. Trae Empleado, Fecha de pago (propuesta al día de hoy), Monto a pagar y una Nota. El propio asistente explica su efecto debajo del campo Nota: «Se paga un recibo fuera de ciclo por este monto y se descuenta solo, completo, en el rol de fin de mes de este empleado.»

Los cuatro campos

Empleado es a quién se le entrega el anticipo — uno a la vez, no se reparte a todo el lote desde aquí. Fecha de pago es la fecha en la que de verdad se entregó el dinero, no necesariamente hoy. Monto a pagar es el valor completo del anticipo, en dólares. Y Nota es un campo libre para dejar por escrito el motivo — útil para cuando alguien pregunte después por qué salió ese descuento en su rol de fin de mes.

Al confirmar con el botón Pagar quincena, el sistema crea un recibo fuera de ciclo por ese monto para ese empleado. Ese recibo queda con su propia fecha de pago, aparte del rol mensual — y es justamente el que después se ve reflejado en el reporte «Otras entradas» bajo el concepto «Anticipo de sueldo» (ver la sección 7).

Cómo se descuenta

El anticipo no se le vuelve a preguntar a nadie cuándo se descuenta: el propio asistente lo deja escrito —se descuenta solo, completo, en el rol de fin de mes del mismo empleado. No hay opción, desde este asistente, de repartir el descuento en varias quincenas o meses; si el monto es grande y hace falta prorratearlo, es una decisión que hay que tomar y ejecutar aparte, el sistema no la ofrece aquí.

flowchart TD
    T["El empleado necesita
un adelanto ANTES
de que cierre el mes"]:::caj A["El Contador abre
Pagar quincena desde
el rol del mes en curso"]:::caj B["Llenar Empleado, Fecha de pago,
Monto a pagar y Nota"]:::caj C["Pulsar Pagar quincena"]:::caj D["El sistema crea un
recibo fuera de ciclo"]:::sis E["Aparece en el reporte
Otras entradas"]:::neu REFrep["Los reportes
de nómina"]:::ref F["El sistema lo descuenta
solo, completo, en el rol de
fin de mes del mismo empleado"]:::sis G["Rol de fin de mes: calcular,
validar y pagar con el
descuento ya incluido"]:::caj REFrol["El rol del mes"]:::ref Mq{"¿Hace falta que el mismo
descuento se repita
el mes siguiente?"}:::caj Mno["«Ajustes salariales» está
VACÍO en esta instalación:
nada lo repite solo"]:::no Mrep["Hay que volver a crear
el anticipo a mano,
mes por mes"]:::avi T --> A --> B --> C --> D --> E -.->|"pasa a"| REFrep D --> F --> G -.->|"pasa a"| REFrol G --> Mq Mq -->|"sí"| Mno --> Mrep Mq -->|"no, era único"| G classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151
Un anticipo mayor al sueldo del mes deja el rol en negativo. El descuento no tiene tope: se resta completo aunque no quepa. El sistema marca ese recibo con un aviso de neto cero o negativo al validarlo, así que no pasa desapercibido, pero no arrastra solo el saldo al mes siguiente: eso hay que hacerlo a mano, creando el descuento del resto en el rol del mes que viene.

Qué NO es este asistente

«Pagar quincena» no reemplaza el rol mensual ni lo adelanta: sigue haciendo falta calcular, validar y pagar el rol de fin de mes con normalidad, con el descuento del anticipo ya incluido ahí. Tampoco es el lugar para registrar un préstamo de largo plazo con cuotas — ese concepto, si existe, entra por la pestaña «Entradas salariales» del rol individual, no por este asistente.

9 · La planilla del IESS y el Formulario 107

Estos son los dos trámites que salen de la nómina hacia afuera: la planilla que valida los aportes reportados al IESS contra lo que el sistema calculó, y el Formulario 107 que resume el ejercicio anual para cada empleado. Los dos dependen de que el lote de nómina ya esté armado — no se puede validar ni completar sobre un mes que todavía no tiene recibos.

flowchart TD
    A["El rol del mes ya
está pagado"]:::ref B["Validar planilla del IESS"]:::caj C["Elegir el Lote de nómina
a comparar"]:::caj D["Entregar la planilla:
CSV o texto pegado"]:::caj E["Pulsar Validar"]:::caj F["El sistema compara lo
calculado contra la planilla"]:::sis Fq{"¿Cuadra lo calculado
contra la planilla
del IESS?"}:::sis Fno["NO cuadra: revisar
diferencia por diferencia
—camino no probado
todavía con planilla real—"]:::no Fok["Cuadrado: nada
más que hacer aquí"]:::ok G["Formulario 107"]:::caj H["Abrir el registro
del ejercicio (por año)"]:::caj I["Revisar Empleados elegibles"]:::caj Iq{"¿El número de
elegibles parece bajo?"}:::caj Ino["Sólo entra quien tiene un rol
VALIDADO o pagado del año:
buscar roles sin cerrar"]:::avi J["Pulsar Completar"]:::caj K["El sistema arma el formulario
con esos empleados"]:::sis L["Sin la app Documentos, no le
aparece en el portal del empleado"]:::avi M["Entregar al SRI"]:::ok A --> B --> C --> D --> E --> F --> Fq Fq -->|"no"| Fno Fq -->|"sí"| Fok A --> G --> H --> I --> Iq Iq -->|"sí"| Ino --> J Iq -->|"no, parece razonable"| J J --> K --> L --> M classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Validar planilla del IESS

Ruta: Trámites IESS → Validar planilla del IESS. Abre un asistente que compara lo que el IESS tiene registrado contra lo que calculó el rol de nómina elegido.

El asistente Validación de planilla IESS, con Lote de nómina, subida de CSV y un campo para pegar la planilla como texto
El asistente «Validación de planilla IESS», sin lote elegido todavía. Ofrece DOS caminos para entregar la planilla: subir un archivo CSV, o pegar el texto directamente en el campo de abajo, con el formato de columnas ya escrito como ayuda: cedula;sueldo_aportado;aporte_personal;aporte_patronal;prestamos.

Primero se elige el Lote de nómina contra el que se va a comparar — el rol del mes que corresponda. Después, se entrega la planilla del IESS por cualquiera de los dos caminos: el archivo CSV tal como lo entrega el IESS, o el texto pegado directamente, cédula por cédula, en el orden exacto que muestra el propio campo: cédula, sueldo aportado, aporte personal, aporte patronal y préstamos, separados por punto y coma. El botón Validar ejecuta la comparación.

Las tres cosas que hay que saber antes de usarlo

Uno: el lote tiene que estar cerrado. Contra un lote a medio calcular se niega a comparar, y lo dice con esas palabras. Es correcto: comparar contra números que todavía pueden cambiar no prueba nada.

El aviso de que el lote todavía no está cerrado y no se valida a medio calcular
El aviso que sale al validar contra un lote abierto. No es un error del comparador: es que falta cerrar el lote.

Dos: no pegues la fila de títulos. El propio recuadro muestra los nombres de las columnas como ejemplo de formato, y es natural copiarlos junto con los datos. Si se pegan, el asistente revienta: intenta convertir la palabra del título en un número. Van sólo las filas de datos.

Tres, y es lo importante: una cédula que no exista en el sistema desaparece sin dejar rastro. Se probó a propósito con una planilla que traía a alguien que no está dado de alta, y el resultado no la mencionó de ninguna forma: ni fila, ni aviso, ni conteo. La diferencia de valores sí la detecta bien y la muestra con su importe.

El resultado de la comparación, con la diferencia de valor detectada
El resultado con una diferencia sembrada a propósito: muestra lo que dice el rol, lo que dice la planilla y la diferencia. La segunda persona sembrada, que no existe en el sistema, no aparece por ningún lado.
Ese silencio importa, porque es la mitad de para qué sirve esta comparación. Detectar que a alguien se le declaró un valor distinto es una cosa; detectar que en la planilla hay gente que la empresa no tiene dada de alta es la otra, y ésa hoy no la hace. Mientras siga así, esta pantalla sirve para cuadrar importes, no para cuadrar personas: el conteo de cuántos van en la planilla y cuántos en el rol hay que hacerlo aparte.

Formulario 107

Ruta: Reportes → Formulario 107. Es un registro por ejercicio fiscal —uno por año, no uno por mes— que junta la información que exige ese formulario para cada empleado elegible de la empresa.

La lista de Formulario 107 con una sola fila, ejercicio 2026, y la columna Year en inglés
La lista de Formulario 107, con un único registro: «Formulario 107 — ejercicio 2026».
La lista y la ficha del Formulario 107 traen la columna y el campo «Year» en inglés, tal como sale en pantalla — no hay una columna «Año» junto a ella, es ese mismo rótulo el que hay que leer.

Al abrir el registro del ejercicio, la ficha trae la Descripción, el campo Year, y un contador de Empleados elegibles arriba a la derecha. El botón Completar es el que arma el formulario con esos empleados.

La ficha del Formulario 107 del ejercicio 2026, con el contador Empleados elegibles y el botón Completar
«Formulario 107 — ejercicio 2026». El contador de arriba, «Empleados elegibles», muestra cuántos de los empleados de la empresa cumplen el criterio para que este formulario los incluya — en la captura, ese número queda por debajo del total de empleados dados de alta. La ficha también avisa: «Los archivos no se publicarán en el portal del empleado si no tiene la aplicación Documentos.»

Por qué hay menos elegibles que empleados

El contador de Empleados elegibles casi nunca coincide con el total de gente de la empresa, y el motivo es el criterio del certificado: sólo entra quien tiene al menos un rol validado o pagado dentro de ese ejercicio. Los borradores no cuentan.

De ahí salen las dos causas que hay que descartar, en este orden. Quien no cobró nada ese año no recibe certificado, y eso es correcto: no hay retención que certificar. Pero quien sí cobró y tiene sus roles en borrador también queda fuera, y eso no es correcto: es un rol sin cerrar.

Antes de entregar el 107, compara el contador con el número de personas que de verdad cobraron ese año. Si falta alguien, busca sus roles sin validar. El formulario se completa igual y no avisa de la diferencia.

Sobre la publicación en el portal: si un empleado no tiene instalada la aplicación Documentos, su Formulario 107 no le va a aparecer en el portal aunque el trámite se complete — eso es un aviso del propio sistema, escrito en la ficha, no una suposición de este manual.

10 · Los décimos: mensualizados o acumulados

El décimo tercero y el décimo cuarto se pueden cobrar de dos maneras, y la ley deja que cada trabajador elija. O se reparten mes a mes dentro del rol —eso es «mensualizar»—, o se guardan y se pagan de golpe en su fecha. El sistema no adivina cuál toca: lo decide un solo interruptor en la ficha del empleado, y de ese interruptor cuelga todo lo demás.

El interruptor, y por qué es uno solo

En la ficha del empleado, pestaña Nómina, justo debajo del sueldo, está la casilla Mensualiza beneficios. Marcada, la persona cobra sus décimos repartidos en cada rol. Desmarcada, no los ve en el rol: se le acumulan y se le pagan cuando llegue la fecha.

Que sea un solo interruptor no es un detalle de diseño, es lo que impide pagar dos veces. Las dos reglas que pagan el décimo tercero son espejo la una de la otra: la del rol mensual sólo actúa cuando la casilla está marcada, y la del lote acumulado sólo actúa cuando está desmarcada. Nunca pueden estar activas a la vez para la misma persona, porque las dos leen la misma casilla y se preguntan lo contrario.

La casilla es por persona, no por empresa. En un mismo rol conviven quienes mensualizan y quienes no, y cada quien sale como le corresponde. Cambiarla a mitad de año no reparte hacia atrás lo ya pagado: rige de ahí en adelante.

Las seis estructuras, y cuál es cuál

Ruta: Configuración → Estructuras salariales. Ahí están las seis formas de armar un recibo que trae la instalación ecuatoriana. La mayoría de los meses sólo se usa la primera.

Lista de las seis estructuras salariales del tipo Ecuador — mensual
Las seis estructuras, agrupadas bajo el tipo «Ecuador — mensual». La columna «Reglas salariales» dice cuántos rubros arma cada una: el rol mensual es con mucho la más grande, y las de décimos acumulados son las más pequeñas del conjunto.

El Rol de pagos mensual es el de todos los meses. La Liquidación de haberes (finiquito) es la de quien se va. La Participación de utilidades es la de abril. Décimo tercero acumulado y Décimo cuarto acumulado son las de este capítulo. Y Quincena (pago fuera de ciclo) es la que usa por detrás el asistente de anticipos que se explica en la sección 8.

Qué hay dentro de una estructura de décimo acumulado

La estructura Décimo tercero acumulado, con sus dos reglas salariales
«Décimo tercero acumulado» tiene exactamente dos reglas: el rubro que paga y el líquido a recibir. Las categorías del rubro dicen lo importante — es un ingreso no aportable, o sea que no se le descuenta aporte al IESS.

Dos reglas, nada más. Eso es lo que la hace fácil de auditar: quien reciba este recibo verá una sola línea con el monto y el líquido igual a esa línea. Comparado con las cuarenta y un reglas del rol mensual, aquí no hay dónde esconder un error.

Cómo se corre el pago acumulado

Se arma como cualquier lote: Recibos de nómina → Lotes, un lote nuevo, se elige la estructura «Décimo tercero acumulado» (o la del cuarto), se generan los recibos, se calculan, se validan y se pagan. La diferencia con el rol del mes no está en los botones, está en quiénes aparecen: sólo salen con monto las personas que tienen la casilla desmarcada.

flowchart TD
    T["Llega la fecha del décimo
—diciembre el tercero,
agosto o marzo el cuarto—"]:::caj Q{"¿Este trabajador tiene
marcada la casilla
Mensualiza beneficios?"}:::caj Msi["SÍ está marcada"]:::neu Mno["NO está marcada"]:::neu R1["Ya viene cobrando su
décimo en cada rol mensual,
repartido en doceavos"]:::sis R2["Se le fue acumulando:
hay que pagárselo ahora"]:::sis Y["No entra en el lote
del décimo acumulado"]:::ok A["El Contador arma un lote
con la estructura
Décimo tercero acumulado"]:::caj B["Generar los recibos
del lote"]:::caj C["El sistema calcula
el rubro acumulado"]:::sis D{"¿El monto que salió
cuadra con lo que la empresa
tenía provisionado?"}:::caj Dno["No cuadra"]:::no Drev["Revisar la ficha:
casilla, sueldo y fecha
de ingreso de esa persona"]:::avi E["Validar el lote"]:::caj F["Pagar y entregar
el recibo"]:::caj REFrol["El rol del mes"]:::ref REFrec["Leer un rol individual"]:::ref T --> Q Q -->|"sí"| Msi --> R1 --> Y R1 -.->|"se ve en"| REFrol Q -->|"no"| Mno --> R2 --> A --> B --> C --> D D -->|"no"| Dno --> Drev --> C D -->|"sí"| E --> F F -.->|"se lee como"| REFrec classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ok fill:#037F58,stroke:#025C40,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Lo que hoy no existe, y conviene saberlo antes de diciembre

No hay ninguna pantalla que muestre cuánto lleva acumulado cada persona a mitad de año. El monto sólo aparece cuando se corre el lote y se calculan los recibos. Quien quiera saber en julio cuánto debe la empresa por décimos tiene que armar un lote de prueba y mirar el resultado, o sacar la cifra por fuera del sistema.

Es una ausencia, no un error de configuración: la información existe —el cálculo la produce cuando se le pide— pero no hay dónde consultarla sin correr el proceso. Está reportada como hueco del producto.

Tampoco hay ninguna alerta que avise de que llegó la fecha del décimo. El calendario lo lleva quien hace la nómina, no el sistema. Conviene anotarlo junto a las otras fechas fijas del año que se listan en la sección 1.

11 · La participación de utilidades

Cada año, hasta el 15 de abril, la empresa reparte entre sus trabajadores el 15 % de la utilidad líquida del ejercicio anterior. No se reparte en partes iguales: la ley lo divide en dos bolsas con reglas distintas, y de ahí sale que dos personas con el mismo sueldo cobren cantidades diferentes. Este capítulo explica de dónde sale cada número.

Las dos bolsas

De ese 15 %, diez puntos se reparten entre todos los trabajadores en proporción al tiempo trabajado durante el ejercicio. Los cinco puntos restantes se reparten en proporción a las cargas familiares, ponderadas también por el tiempo trabajado.

Quien no tiene cargas familiares no cobra de la segunda bolsa. Eso no es un descuento ni un castigo: esa bolsa es, por ley, de quien tiene cargas. Conviene tenerlo dicho de antemano, porque es la pregunta que llega todos los abriles.

Si en la empresa nadie tiene cargas registradas, la bolsa del 5 % no se queda sin repartir: se reparte entre todos por tiempo trabajado. De lo contrario la empresa estaría entregando menos del 15 % que manda la ley.

Por qué esto se calcula en el LOTE y no en el recibo

Es la diferencia más importante entre las utilidades y todo lo demás de la nómina. El sueldo de una persona no depende de lo que cobren los otros; su parte de las utilidades sí. Si alguien entró en junio, su medio año hace que suba la parte de todos los demás.

Por eso el monto a repartir y el ejercicio se teclean en el lote, una sola vez, y cada recibo lee de ahí lo que le toca. Un recibo de utilidades suelto, creado fuera de un lote, no tiene con qué calcularse: el sistema lo dice en voz alta en vez de poner cero. Un cero silencioso aquí sería un trabajador que se queda sin cobrar.

Los dos datos que hay que teclear

Ruta: Recibos de nómina → Lotes → Nuevo, y se elige la estructura Participación de utilidades. Al elegirla, en ese mismo cuadro de creación, aparecen dos campos que no salen en un lote de rol mensual:

Ejercicio es el año cuyo resultado se reparte, no el año en que se paga. Las utilidades de un ejercicio se pagan hasta el 15 de abril del año siguiente, así que en abril se teclea siempre el año anterior.

Utilidad a repartir (15 %) es la cifra en dólares que se va a entregar. No sale de Odoo: sale de la declaración de renta de la empresa. Aquí se teclea el resultado, ya calculado por contabilidad.

Si el lote ya está creado y reparte cero

Es el tropiezo más común, y tiene una explicación sencilla: los dos campos aparecen en el cuadro de creación, y el lote, una vez creado, ya no muestra ese cuadro. Se ve como una tarjeta con los pasos del proceso. Quien creó el lote sin teclear la cifra no la encuentra por ninguna parte, y el reparto sale en cero para todos sin que nada lo explique.

Para eso está el botón Utilidad a repartir en el menú de la tarjeta del lote. Abre un cuadro con los dos campos y permite corregirlos cuantas veces haga falta antes de validar. El botón sólo aparece en los lotes de utilidades: en uno de rol mensual esos campos no significan nada.

Un reparto en cero casi nunca es un fallo del cálculo. Las dos causas, por orden de frecuencia: falta la cifra a repartir, o los roles del ejercicio no están validados.

De dónde saca el sistema el tiempo trabajado

De los roles mensuales ya validados del ejercicio, con el mismo criterio de días de afiliación que usa el décimo cuarto. No de las fechas del contrato. La diferencia importa: un contrato vigente todo el año, pero con tres meses de permiso sin sueldo, no trabajó el año entero, y las utilidades se reparten por lo trabajado.

De ahí se sigue la condición que más problemas da en la práctica: si los roles del ejercicio no están validados, el reparto sale en cero. No hay error, no hay aviso: hay ceros. Antes de correr las utilidades hay que comprobar que los doce roles del año anterior están cerrados.

Las cargas familiares, en cambio, se cuentan al momento de repartir, no mes a mes. Es el criterio del formulario del Ministerio del Trabajo: cuenta quién tiene cargas vigentes hoy, no quién las tuvo en marzo del año pasado.

flowchart TD
    T["Se cierra el ejercicio y
contabilidad calcula el 15 %
de la utilidad líquida"]:::caj P{"¿Los roles mensuales
del ejercicio están
TODOS validados?"}:::caj Pno["Alguno quedó en borrador"]:::no Pfix["Cerrar ese rol antes
de seguir: si no, ese mes
no cuenta para nadie"]:::avi REFrol["El rol del mes"]:::ref C{"¿Las cargas familiares
de la gente están
al día en las fichas?"}:::caj Cno["Hay fichas sin actualizar"]:::no Cfix["Actualizarlas: se cuentan
como estén HOY, no como
estaban el año pasado"]:::avi REFfic["La ficha del empleado"]:::ref A["Crear un lote con la estructura
Participación de utilidades"]:::caj B["Teclear el Ejercicio y la
Utilidad a repartir. Si el lote ya
existe: botón Utilidad a repartir"]:::caj D["Generar los recibos
del lote"]:::caj E["El sistema reparte
10 % por tiempo trabajado"]:::sis F["y 5 % por cargas
familiares ponderadas"]:::sis G{"¿La suma de todos los
recibos da exactamente
la cifra tecleada?"}:::caj Gno["No da"]:::no Grev["¿Falta la cifra a repartir,
o hay roles del ejercicio
sin validar?"]:::avi H["Validar el lote"]:::caj I["Pagar antes del
15 de abril"]:::ok J["Declarar el reparto
ante el Ministerio
del Trabajo"]:::caj T --> P P -->|"no"| Pno --> Pfix -.->|"vuelve a"| REFrol Pfix --> P P -->|"sí"| C C -->|"no"| Cno --> Cfix -.->|"vuelve a"| REFfic Cfix --> C C -->|"sí"| A --> B --> D D --> E D --> F E --> G F --> G G -->|"no"| Gno --> Grev --> D G -->|"sí"| H --> I --> J classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ok fill:#037F58,stroke:#025C40,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Cómo se comprueba que el reparto está bien

Hay una sola comprobación que vale, y es aritmética: la suma de lo que reciben todos tiene que dar exactamente la cifra que se tecleó. Si da menos, alguien quedó fuera del reparto — y quien queda fuera casi siempre es alguien cuyos roles del ejercicio no están validados, o alguien que ingresó ese año y aún no tiene ningún rol cerrado.

La segunda comprobación es por persona: quien más tiempo trabajó tiene que cobrar más de la primera bolsa, y quien más cargas tiene, más de la segunda. Si dos personas con el mismo tiempo y las mismas cargas cobran distinto, algo está mal en los días de afiliación de una de ellas.

Las utilidades no son aportables al IESS ni entran en la base del décimo tercero o el décimo cuarto. Salen en el recibo como un ingreso propio, sin aporte personal descontado.

12 · La liquidación de haberes

Cuando alguien deja la empresa hay que calcularle lo que se le debe y hacerle firmar el acta de finiquito. Ese cálculo no es un rol mensual con otro nombre: cambia lo que se paga, cambia lo que se descuenta, y hay dos rubros que dependen enteramente del motivo por el que la persona se va. Equivocarse en el motivo cuesta dinero en las dos direcciones.

Los dos datos sin los cuales no hay cálculo

En la ficha del empleado hacen falta fecha de salida y motivo de salida. Si falta cualquiera de los dos, el sistema se niega a calcular y lo dice. Eso es deliberado: un finiquito calculado «con lo que hay» produce un número que alguien firma, y luego no hay vuelta atrás.

La fecha de ingreso también tiene que estar, porque de ella salen los años de servicio.

Por qué el motivo lo decide todo

Dos de los cinco rubros del finiquito no se pagan siempre:

El desahucio (art. 185 del Código del Trabajo) es el 25 % de la última remuneración por cada año de servicio, proporcional a la fracción: quien trabajó tres años y medio cobra por tres años y medio, no por tres ni por cuatro.

La indemnización por despido intempestivo (art. 188) son tres meses de remuneración hasta los tres años de servicio. Pasados los tres, un mes por año, con tope de veinticinco. Y aquí la fracción de año cuenta como año completo — es justamente lo que protege a quien es despedido a los tres años y un mes.

Cada motivo de salida trae marcado cuál de los dos paga. Una renuncia no paga indemnización por despido; un despido intempestivo sí. Pagarlos siempre le regalaría una indemnización a la empresa en cada renuncia; no pagarlos nunca dejaría a la persona despedida sin lo suyo.

Por eso el motivo es obligatorio y no tiene valor por omisión. Es la única forma de que nadie lo llene por descarte.

Cuidado con los motivos que no son de Ecuador

El desplegable de motivos mezcla dos orígenes. Están los del Código del Trabajo —renuncia, desahucio, despido intempestivo, visto bueno, fin de plazo, mutuo acuerdo, muerte, jubilación— y están cuatro que Odoo trae de fábrica para cualquier país, con nombres parecidos: «Despedido», «Renunció», «Jubilado», «Fallecido».

Los cuatro genéricos no dicen si corresponde desahucio o indemnización, porque esa distinción es ecuatoriana y ellos no la tienen. Elegir el «Despedido» genérico pensando en un despido intempestivo dejaba a esa persona sin la indemnización del artículo 188, y el recibo salía con aspecto correcto.

El desplegable de motivos de finalización, con los cuatro genéricos de Odoo arriba y los del Código del Trabajo debajo
El cuadro «Fin de la relación laboral», con el desplegable abierto. Los cuatro primeros —Despedido, Renunció, Retirado, Fallecimiento— son los genéricos de Odoo. Los del Código del Trabajo vienen después: Renuncia, Desahucio, Despido intempestivo, Visto bueno. Es justo lo que hace la trampa peligrosa: el que aparece primero, y el que queda preseleccionado, es el que no sirve.

Fíjate en el orden del desplegable: los cuatro que no valen salen arriba y los correctos quedan debajo, con nombres casi iguales. «Despedido» y «Despido intempestivo» no son lo mismo aunque lo parezcan — el segundo es el que paga.

Hoy el sistema no lo permite: si el motivo no es del país, se niega a calcular y lo dice. Quien necesite un motivo propio puede crearlo, pero tiene que ponerle el país Ecuador y marcar qué paga.

Qué se paga, rubro por rubro

El sueldo de los días trabajados es la remuneración pendiente del último mes: quien sale el día 20 cobra veinte días. Es el único rubro del finiquito que sí es aportable al IESS, y por eso lleva su aporte personal descontado justo debajo.

El décimo tercero y el décimo cuarto proporcionales son lo que se le acumuló y no alcanzó a cobrar. Sólo tienen monto para quien no mensualiza sus beneficios, por lo que se explica en la sección 10.

Las vacaciones no gozadas salen del saldo de ausencias del propio sistema, no de una cuenta llevada aparte: los días que el plan de acumulación dice que le quedan, valorados a treintavos de la remuneración.

Y luego el desahucio y la indemnización, si el motivo los paga. Ninguno de los cuatro últimos es aportable al IESS ni materia gravada de renta en su parte indemnizatoria.

Qué se descuenta

Los mismos conceptos que se le venían descontando en el rol: consumos en el almacén, alimentación, servicio médico, exequial, extensión de seguro de salud, uniformes y cualquier otra cuenta por cobrar. El finiquito es la última oportunidad de cobrarlos, así que conviene revisarlos uno por uno antes de validar.

Cómo se corre

Se arma como un lote: Recibos de nómina → Lotes → Nuevo, se elige la estructura Liquidación de haberes (finiquito), se pone el período del mes de salida y se generan los recibos. Cada recibo sale marcado como nómina fuera de ciclo, que es lo correcto: no forma parte del rol mensual.

Un lote con la estructura Liquidación de haberes (finiquito), con un empleado marcado como nómina fuera de ciclo
Un lote de liquidación de haberes con el período del mes de salida. La marca «Nómina fuera de ciclo» a la derecha es la señal de que este recibo no pertenece al rol mensual. Los datos de la persona y el sueldo son de ejemplo.

Si el lote no genera ningún recibo

Es lo primero que pasa cuando se prueba por primera vez, y el sistema no explica por qué: se recorren los pasos del asistente, se marca a la persona, y al final la lista de recibos sale vacía.

El motivo está en cómo el generador elige a quién le toca recibo: se queda sólo con las personas cuyo tipo de estructura coincide con el tipo de la estructura del lote. A quien no coincide lo descarta sin decir nada — no hay error, no hay aviso, simplemente no aparece.

Así que cuando el lote sale vacío, lo que hay que mirar es el tipo de estructura en la pestaña de nómina de esa persona, y compararlo con el de la estructura de liquidación de haberes. Tienen que ser el mismo.

Marcar a alguien en el asistente no garantiza que se le genere el recibo. El asistente deja seleccionar, y el filtro se aplica después.

El error que duplica dinero, y cómo lo evita el sistema

El mes de salida tiene dos formas de pagarse: en el rol mensual, o dentro del finiquito. El peligro es hacerlo por las dos, y no se nota hasta que alguien cuadra el banco.

El sistema lo impide sin preguntar nada: antes de pagar los días trabajados comprueba si ya existe un recibo validado que le haya abonado sueldo a esa persona por esos mismos días. Si lo hay, el rubro sale en cero. La pregunta que se hace no es «¿de qué estructura era aquel recibo?» sino «¿alguien ya le pagó sueldo por este tramo?», que es la que de verdad importa.

flowchart TD
    T["Alguien deja
la empresa"]:::caj F{"¿La ficha tiene fecha de
salida, motivo de salida
y fecha de ingreso?"}:::caj Fno["Falta alguno"]:::no Ffix["El sistema se niega a
calcular y dice cuál falta"]:::avi REFfic["La ficha del empleado"]:::ref L["Crear un lote con la
estructura Liquidación
de haberes (finiquito)"]:::caj G["Generar y calcular
los recibos"]:::caj S{"¿El rol del mes de salida
YA le pagó el sueldo
de esos días?"}:::sis Ssi["El sueldo pendiente
sale en cero: no se
paga dos veces"]:::ok Sno["Se le pagan los días
que alcanzó a trabajar,
con su aporte al IESS"]:::sis Mg{"¿El motivo es del Código
del Trabajo ecuatoriano?"}:::sis Mgno["Es uno de los genéricos
de Odoo: se niega a calcular
y lo dice"]:::no Mgfix["Elegir un motivo del país,
o ponerle el país Ecuador
y marcar qué paga"]:::avi M{"¿Qué dice el MOTIVO
de la salida?"}:::sis Mren["Renuncia"]:::neu Mdes["Despido
intempestivo"]:::neu Mvb["Visto bueno"]:::neu R1["Sin indemnización
por despido"]:::sis R2["Con desahucio e
indemnización"]:::sis R3["Según lo que marque
ese motivo"]:::sis P["Décimos proporcionales
y vacaciones no gozadas"]:::sis D["Restar lo que debía:
almacén, alimentación,
uniformes, otras cuentas"]:::caj Q{"¿El líquido cuadra con lo
que la empresa calculó
por su cuenta?"}:::caj Qno["No cuadra"]:::no Qrev["Revisar años de servicio,
motivo y saldo de vacaciones"]:::avi V["Validar y pagar"]:::caj A["Firmar el acta de finiquito
ante el Ministerio
del Trabajo"]:::ok T --> F F -->|"no"| Fno --> Ffix -.->|"se corrige en"| REFfic Ffix --> F F -->|"sí"| L --> G --> S S -->|"sí"| Ssi --> Mg S -->|"no"| Sno --> Mg Mg -->|"no"| Mgno --> Mgfix --> Mg Mg -->|"sí"| M M -->|"renuncia"| Mren --> R1 M -->|"despido"| Mdes --> R2 M -->|"visto bueno"| Mvb --> R3 R1 --> P R2 --> P R3 --> P P --> D --> Q Q -->|"no"| Qno --> Qrev --> G Q -->|"sí"| V --> A classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ok fill:#037F58,stroke:#025C40,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Sobre la «última remuneración» de los artículos 185 y 188

Hay dos criterios legítimos para decir qué es la «última remuneración», y la empresa elige el suyo en Configuración → Ajustes → Nómina. No hay uno correcto para todas.

El sueldo del contrato es lo que sale por omisión. Es el criterio que se aplica en la práctica y el que la empresa justifica ante el inspector con un solo documento.

El promedio de lo percibido es lo que manda el artículo 95 cuando el trabajador cobra en dinero, de forma habitual, algo más que su sueldo: comisiones, sobretiempo todos los meses, destajo. En esas empresas el sueldo base deja fuera parte de lo que la ley considera remuneración, y el finiquito sale corto.

Al elegir el promedio aparece un segundo campo, los meses que entran en él. Doce recoge un año completo y no deja fuera la estacionalidad de las comisiones.

El promedio sale de los roles ya cerrados, no de una estimación: lo percibido es lo que se pagó. Y se promedia sobre los meses que de verdad tienen rol, no sobre la ventana entera — quien lleva cuatro meses en la empresa no tiene doce, y dividir para doce le rebajaría el promedio a un tercio.
El promedio nunca deja el finiquito por debajo del sueldo del contrato. Quien lleva poco tiempo, o estuvo de permiso sin sueldo, tendría un promedio bajo y cobraría menos de lo que le toca. El promedio suma, no resta.

13 · El archivo de pago al banco

Validar el rol no paga a nadie. El dinero sale cuando alguien lleva la lista al banco, y esa lista se genera desde el propio lote. Este capítulo explica dónde está el botón, qué hace falta tener listo antes de pulsarlo, y —lo más importante— qué comprobar en el archivo antes de subirlo.

Dónde está, y por qué a veces no aparece

Ruta: Recibos de nómina → Lotes, se abre el lote del mes, y el botón es Pagar. La pregunta que llega siempre es por qué no se ve: el botón sólo existe cuando el lote está cerrado. Mientras el lote esté en borrador o abierto no hay nada que pagar, y el sistema no ofrece el botón. Primero se valida el lote, después se paga.

El botón abre un asistente pequeño con tres decisiones.

Las tres decisiones del asistente

Modo es la primera y la que más cambia. Hay tres.

Banco Pichincha (pago a cuenta) genera el archivo en el diseño exacto que acepta el portal del banco, listo para subir. Es el que se usa para pagar de verdad.

CSV genera una lista genérica de pagos. Sirve como respaldo o para revisar, pero no es el formato de ningún banco: no se sube tal cual a la banca en línea.

Manualmente no genera nada. Se usa cuando el pago se hace por fuera del banco —en efectivo, o con transferencias sueltas hechas a mano— y sólo sirve para marcar los recibos como pagados.

El modo del Pichincha lo añade un módulo aparte, y eso es deliberado: el diseño del archivo es de un banco concreto. Una empresa que pague por otro banco no carga con él, y el día que haga falta otro formato será otro módulo al lado.

Fecha de pago es el día bancario en que se quiere que el banco liquide el lote. No es la fecha de hoy necesariamente: es la que se le pide al banco.

Incluir no pagados permite meter en el mismo archivo recibos validados de otros lotes que quedaron sin pagar. Es útil para arrastrar un recibo que se quedó atrás, y es peligroso por lo mismo: hay que mirar la lista que queda seleccionada antes de generar.

Al elegir el modo del Pichincha aparece además Concepto para el banco. Es lo que la persona ve escrito en su estado de cuenta. El sistema propone el mes del período de los recibos —no el mes en que se paga, así que un rol de agosto pagado en septiembre dice agosto— y se puede reescribir antes de generar.

Lo que hay que tener listo ANTES de pulsar

El archivo se arma recorriendo las cuentas bancarias registradas en la ficha de cada empleado. Una persona sin cuenta registrada no produce ninguna fila.

Hasta que se corrigió, ese caso pasaba en silencio: el archivo se generaba, se subía al banco, se pagaba a todos los demás, y esa persona se enteraba de que no había cobrado el día de pago. Ahora el sistema se niega a generar el archivo y nombra a quién le falta la cuenta. Quien de verdad cobre por fuera del banco se paga con el modo «Manualmente», que no genera archivo y por tanto no puede dejar a nadie fuera.

La comprobación mira sólo a quien tiene sueldo por cobrar en ese lote. Un recibo en cero no bloquea nada.
flowchart TD
    T["El rol del mes está
calculado y revisado"]:::caj V["Validar el lote"]:::caj REFrol["El rol del mes"]:::ref B{"¿Aparece el botón
Pagar en el lote?"}:::caj Bno["No aparece"]:::no Bfix["El lote no está cerrado:
validarlo primero"]:::avi M{"¿Cómo se le paga
a esta gente?"}:::caj Mman["Por fuera del banco
—efectivo o transferencias
hechas a mano—"]:::neu Mcsv["Con el archivo
del Banco Pichincha"]:::neu Man["Modo Manualmente:
no genera archivo,
sólo marca como pagados"]:::sis C["Elegir el modo del banco,
fecha de pago, concepto,
y revisar los recibos incluidos"]:::caj G["Pulsar Generar"]:::caj Q{"¿A alguien le falta cuenta,
cédula, tipo de cuenta o
institución financiera?"}:::sis Qsi["El sistema se niega
y dice los nombres"]:::no Qfix["Completar lo que falta
en la ficha de esa persona
o en la de su cuenta"]:::avi REFfic["La ficha del empleado"]:::ref D["Se descarga el archivo"]:::ok R{"¿La suma del archivo cuadra
con el total del lote?"}:::caj Rno["No cuadra"]:::no Rrev["Alguien quedó fuera:
revisar cuentas y
recibos incluidos"]:::avi S["Subir el archivo al banco
y marcar los recibos
como pagados"]:::ok T --> V -.->|"viene de"| REFrol V --> B B -->|"no"| Bno --> Bfix --> V B -->|"sí"| M M -->|"por fuera"| Mman --> Man M -->|"por el banco"| Mcsv --> C --> G --> Q Q -->|"sí"| Qsi --> Qfix -.->|"se corrige en"| REFfic Qfix --> G Q -->|"no"| D --> R R -->|"no"| Rno --> Rrev --> G R -->|"sí"| S classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ok fill:#037F58,stroke:#025C40,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Qué trae el archivo

Una fila por cuenta bancaria con importe, y ocho columnas: secuencia, fecha de pago, fecha del reporte, período pagado, nombre del titular de la cuenta, número de cuenta, código del banco e importe.

El titular que sale es el de la cuenta, no el del empleado. Suelen coincidir, pero cuando no —una cuenta a nombre del cónyuge, por ejemplo— lo que el banco recibe es el nombre del titular. Vale la pena mirarlo la primera vez que se paga a alguien nuevo.

Si a una misma cuenta le corresponden varios recibos, el archivo los agrupa en una sola fila con la suma. Por eso el número de filas del archivo no tiene por qué coincidir con el número de recibos del lote, y comprobar por cantidad de filas lleva a error. La comprobación que sí vale es la de importes: la suma del archivo tiene que dar el total del lote.

Qué comprueba el modo del Pichincha antes de generar

El archivo del banco se rechaza entero si una sola fila viene mal, así que el sistema comprueba antes y nombra a quién le falta qué. Son cuatro cosas, y todas se arreglan en la ficha de la persona o en la de su cuenta:

La cédula o el RUC de quien cobra —que no siempre es el empleado: cuando parte del sueldo va a un tercero, el banco valida el documento del titular de esa cuenta—. El número de cuenta. Si la cuenta es de ahorros o corriente. Y la institución financiera con su código, que se configura en Contabilidad, en Instituciones financieras.

También comprueba que la compañía lleve dólares. El archivo del Pichincha se emite en dólares y no admite otra moneda.

El detalle donde se pierde dinero

El archivo del banco lleva los importes en centavos y sin punto decimal. Seiscientos veinticinco dólares con cuarenta y nueve se escriben como 62549, no como 625.49. Es el error más caro posible en este paso: escribirlo con punto le acredita a la persona seis dólares en lugar de seiscientos veinticinco.

El sistema lo hace solo y no hay dónde equivocarse desde la pantalla. Importa saberlo por si alguna vez alguien abre el archivo, ve números que parecen absurdos y quiere «corregirlos» a mano antes de subirlo. Están bien así.

Por el mismo motivo el archivo va todo en formato texto: los ceros a la izquierda de una cuenta o de un código de banco son parte del dato. Abrirlo y guardarlo con una hoja de cálculo puede convertir 0010 en 10, y entonces el banco no reconoce la institución.

14 · Cómo llegan los registros del lector

Antes de que exista un registro de asistencia tiene que existir el registro del lector que lo origina. El sistema lo mueve por tres pasos, uno detrás de otro: el aparato entrega un evento del lector, de ese evento nace un registro del lector, y la conciliación empareja esos registros para armar los registros de asistencia. Los tres se ven desde Asistencias → Registros del lector, con un submenú para cada paso: Eventos del lector, Todos los registros y Bandeja de Conciliación — esta última se detalla en la sección 16.

flowchart TD
    A["La persona marca
en el lector"]:::caj B["El aparato entrega
un evento del lector,
«Recibido»"]:::sis Rq{"¿El código con el que
se identificó corresponde
a un empleado?"}:::sis Rno["El evento se queda
«Recibido», sin registro
del lector: alguien tiene
que revisarlo a mano"]:::no C["Nace el registro
del lector, en «Pendiente»"]:::neu D["Cada 15 minutos la tarea
de conciliación empareja
entrada y salida, sola"]:::sis Dq{"¿Encontró su pareja
de entrada/salida?"}:::sis Dpend["Sigue «Pendiente»:
espera al próximo ciclo,
cada 15 minutos"]:::avi E["Registro de asistencia"]:::ok REF["Resumen Mensual"]:::ref A --> B --> Rq Rq -->|"no"| Rno Rq -->|"sí"| C --> D --> Dq Dq -->|"no todavía"| Dpend -.-> D Dq -->|"sí"| E -.->|"pasa a"| REF classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151
La pantalla de Información General, con un renglón por empleado y un calendario mensual a la derecha
Información General, el primer menú de Asistencias: un renglón por empleado con las horas que lleva trabajadas en el mes frente a las que le corresponden, y a la derecha un calendario donde se ubica cada día. Es el punto de partida antes de entrar a los registros del lector o al resumen mensual.

El camino de un registro del lector

Un evento del lector es lo que entrega el aparato tal como lo registró: el momento, el código con el que se identificó y el lector que lo tomó. De ahí nace un registro del lector, y es ese registro el que la conciliación intenta emparejar con otro para cerrar una jornada. Un evento del lector puede quedar en estado «Recibido» —sin procesar— o pasar a «Procesado», con su registro del lector ya vinculado.

El listado de Eventos del lector, con la columna Estado mostrando Recibido y Procesado, y la columna Registro del lector enlazando al registro del lector que generó cada evento procesado
Eventos del lector. Los que acaban de llegar del lector están «Recibido», todavía sin convertirse en registro del lector. Los que ya están «Procesados» traen, en la columna «Registro del lector», el enlace al registro que generaron — la columna «Asistencia generada» adelanta ya la jornada que le corresponde.

Los estados de un registro del lector

Cada registro del lector pasa por uno de cuatro estados: Pendiente —todavía sin emparejar con otro—, Conciliado —ya forma parte de un registro de asistencia—, Rechazado —alguien lo descartó— o Duplicado —el sistema detectó que repite un registro ya guardado.

El listado de Todos los registros, con columnas Referencia, Registro, Cédula/RUC, Empleado, Cargo, Horario, Tipo, Origen, Estado, Dispositivo y Motivo
Todos los registros del lector, sin filtrar. La misma lista de columnas que usa la Bandeja de Conciliación —Referencia, Registro, Cédula/RUC, Empleado, Cargo, Horario, Tipo, Origen, Estado, Dispositivo y Motivo—: se ven registros ya «Conciliados» junto a otros todavía «Pendientes». El origen «Registro manual» y el origen «Automático» (lector biométrico) conviven en la misma lista.
Este capítulo describe el camino del registro del lector hasta que se convierte en candidato a un registro de asistencia. Qué hace exactamente la conciliación con él, qué dice la columna Motivo y con qué frecuencia corre está en la sección 16.

15 · El quiosco, la alternativa sin lector biométrico

Este capítulo es opcional: describe una segunda vía para generar registros del lector, no la principal. El camino normal es el lector biométrico —la persona pone el dedo o la cara en el aparato y de ahí nace el evento que nombra la sección 14—, y ese sigue siendo el que hay que mirar primero. El quiosco es una pantalla en una tableta o un computador donde la persona se identifica a mano o con una credencial, y sirve para los casos en que no hay un lector biométrico instalado, para cubrir un puesto sin aparato, o como respaldo si el aparato falla. Se llega por Asistencias → Modo quiosco, y no es una ficha más del sistema — abre la pantalla propiamente dicha, con su propia dirección web.

Las dos vías desembocan en el mismo sitio: un registro del lector que la conciliación empareja igual, sin importar si nació de un lector biométrico o de una marca hecha en el quiosco. Una empresa puede tener las dos funcionando a la vez sin que eso genere ningún conflicto.
flowchart TD
    A["La persona marca
en el lector biométrico"]:::caj B["La persona se identifica
en el quiosco"]:::caj Rq{"¿El dispositivo del
quiosco está Aprobado
en Dispositivos Autorizados?"}:::caj Rno["BLOQUEO: el quiosco
RECHAZA cualquier
intento de marcar ahí"]:::no C["Registro del lector"]:::neu D["La conciliación lo empareja
igual, sin importar el origen"]:::sis REF["La bandeja
de conciliación"]:::ref A --> C B --> Rq Rq -->|"no"| Rno Rq -->|"sí"| C C --> D -.->|"pasa a"| REF classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

La pantalla donde se marca

Arriba, en grande, la fecha y la hora; en la esquina, el logotipo de la empresa. Debajo, dos formas de identificarse: «Escanee su identificación», con un lector de código de barras dibujado en el centro, y, en la esquina inferior izquierda, «Identifícate de forma manual», para quien no trae su credencial a mano.

La pantalla del quiosco, con la hora en inglés 7:14 AM, la fecha Wednesday, September 9, 2026, el logotipo de la empresa, un aviso para conectar un lector RFID y las dos opciones Escanee su identificación e Identifícate de forma manual
La pantalla que ve quien marca en el quiosco. La hora («7:14 AM») y la fecha («Wednesday, September 9, 2026») salen en inglés, y también el aviso de la franja superior, que invita a conectar un lector de credenciales RFID. Ninguna de las dos cosas afecta el registro: la hora que realmente se guarda es la correcta. Debajo, el código de barras central y el enlace «Identifícate de forma manual» son las dos puertas de entrada para identificarse.
Ese texto en inglés no es un descuido de esta empresa: es pantalla nativa del quiosco de Odoo, que no viene traducida. Se documenta tal cual para que quien la vea la reconozca y no piense que algo quedó mal configurado.

La otra vista: las tarjetas de los empleados

El quiosco tiene una segunda vista, con una tarjeta por empleado marcada «Ausente» o «En línea» según si tiene una jornada abierta en ese momento, y un filtro por departamento arriba. Esa vista no tiene captura en este manual, y no debe tenerla: muestra el nombre y la foto de cada persona, y eso no se documenta con datos reales.

Cómo se identifica la gente: se configura en Ajustes

En Asistencias → Configuración → Ajustes se define cómo se identifica quien marca en el quiosco: por código de barras, por credencial de radiofrecuencia (RFID), o por selección manual de la lista de empleados. Ahí mismo está la dirección web del quiosco, con un botón para generar una dirección nueva.

El quiosco solo acepta marcas desde dispositivos aprobados, para que nadie marque desde su casa. Un dispositivo nuevo —una tableta, un teléfono, un lector— hay que emparejarlo y aprobarlo primero; ver la sección 20 para el procedimiento.
Generar una dirección nueva del quiosco invalida la anterior. Medido en pantalla: si alguien pulsa ese botón sin avisar, todas las tabletas que ya tenían el quiosco abierto dejan de servir en el acto, hasta que se les cargue la dirección nueva una por una. No es un ajuste para tocar a la ligera ni sin coordinar con quien atiende los dispositivos.

16 · La bandeja de conciliación

Conciliar es emparejar dos registros del lector —uno de entrada y uno de salida— para cerrar una jornada y convertirla en un registro de asistencia. La bandeja es donde se ve ese trabajo, hecho o pendiente: Asistencias → Registros del lector → Bandeja de Conciliación. No hace falta pedirla: el camino del registro del lector 14 termina siempre aquí, y el propio sistema corre la conciliación solo.

flowchart TD
    A["Registro del lector
nace «Pendiente»,
revisado cada 15 minutos"]:::neu B{"¿Encuentra su pareja
de entrada/salida?"}:::sis C["«Conciliado»:
ya es un registro
de asistencia"]:::ok D["«Duplicado»:
repite un registro
ya guardado"]:::no E["«Rechazado»
por una persona"]:::caj F["Motivo: «Entrada sin salida
(asistencia abierta)»"]:::neu G["No es error: se cierra
sola al llegar la salida"]:::ok H["Motivo: la salida es
anterior a la entrada"]:::avi I["Alguien corrige
la hora en la ficha"]:::caj J["La próxima conciliación
las empareja"]:::sis REF["Resumen Mensual:
horas y atrasos"]:::ref A --> B B -->|Sí| C B -->|Repetido| D A --> E C --> F --> G C --> H --> I --> J G -.->|"pasa a"| REF J -.->|"pasa a"| REF classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Qué se ve en la lista, sin abrir cada ficha

Las columnas, tal como salen: Referencia, Registro, Cédula/RUC, Empleado, Cargo, Horario, Tipo, Origen, Estado, Dispositivo y Motivo. Esa última columna es la que ahorra trabajo: explica en una frase por qué un registro del lector sigue pendiente o qué pasó al conciliarlo, sin tener que entrar a la ficha.

La ficha de un registro del lector

Al abrir uno, dos bloques cuentan su historia. Registro del lector trae el empleado, el momento, el tipo —entrada o salida—, el origen —automático desde un lector o registro manual— y el motivo. Origen y anti-fraude trae el dispositivo, su UUID, la dirección IP, y tres interruptores de solo lectura: si el dispositivo estaba autorizado, si la IP estaba autorizada y si el registro cayó dentro de la geocerca. Un bloque de biometría y otro de sincronización quedan casi siempre en blanco cuando el registro se generó a mano.

Una ficha nueva de la Bandeja de Conciliación, en blanco, con los campos Empleado, Momento del Registro, Tipo, Origen y Motivo a la izquierda, y Dispositivo, IP, autorizaciones y geocerca a la derecha
Una ficha nueva, en blanco. A la izquierda los datos del registro; a la derecha todo lo que sirve para saber si es de fiar: dispositivo, IP y si cualquiera de los dos estaba autorizado, además de si el registro llegó dentro de la geocerca. El estado nace en «Pendiente», con «Conciliar» y «Rechazar» como únicas dos salidas.

Lo que dice el Motivo, con ejemplos reales

Dos textos que sí se vieron en la columna Motivo:

«Entrada sin salida (asistencia abierta).» — el registro ya se concilió, generó un registro de asistencia, pero esa asistencia todavía no tiene su salida. No es un error: es el estado normal de alguien que todavía está en su jornada.

Un registro del lector en estado Conciliado, tipo Entrada, origen Registro manual, con el motivo Entrada sin salida (asistencia abierta)
Un registro del lector Conciliado con la asistencia todavía abierta. El campo «Asistencia generada» ya apunta a una hora de entrada, y el Motivo aclara que falta la salida — se cierra sola cuando llegue ese registro y corra la próxima conciliación.
El segundo texto es el que de verdad requiere que alguien actúe: «La salida (08/09/2026 07:00) es anterior a la entrada (08/09/2026 08:10), así que el sistema no puede cerrar la jornada. Corrige la hora de una de las dos marcas y la próxima conciliación las empareja.» Cuando el Motivo señala una hora mal puesta, lo que corresponde es corregir el registro —entrar a la ficha y arreglar la hora—, nunca borrarlo: la conciliación solo necesita que las dos horas queden en el orden correcto para volver a intentarlo.

La conciliación corre sola cada 15 minutos

Nadie tiene que pedirla. El sistema la ejecuta automáticamente cada 15 minutos, así que entre la entrada y la salida de una jornada normal corre unas 36 veces. Por eso una asistencia puede verse «abierta» un rato después de la entrada y aparecer cerrada más tarde sin que nadie haya tocado nada — lo único que hizo falta fue que llegara el registro de salida y que pasara el siguiente ciclo.

Un registro detenido SIEMPRE tiene que decir por qué. Si encuentras uno en Pendiente con el Motivo en blanco, no lo dejes pasar como si fuera normal: significa que el sistema intentó emparejarlo, no pudo, y perdió la explicación por el camino. Avísalo. La casilla vacía no es «todavía no le tocó»: es información que se perdió.
Qué pasa con una jornada ya cerrada —sus atrasos, sus horas, su lugar en el resumen del mes— está en la sección 17.

17 · Los atrasos y el resumen del mes

Una vez que la conciliación cierra una jornada (la sección 16), esa jornada tiene que verse en algún lado con sus horas y su atraso ya calculados. Eso es el Resumen Mensual, con dos pantallas: el Panel de Asistencia, por empleado y por jornada, y el Detalle por Día, una fila por cada día trabajado.

El Panel de Asistencia

Ruta: Resumen Mensual → Panel de Asistencia. Arriba, un filtro por empleado y por rango de fechas; a la derecha, cuatro botones: Re-Generar Resumen, Generar Automáticos, Comprobar E/S y, aparte y en rojo, Eliminar Resumen. Por su nombre, ese último borra lo ya calculado —no los registros del lector de origen—, pero el color rojo avisa que hay que confirmarlo con cuidado antes de tocarlo.

Las columnas se agrupan por jornada —primera y segunda— y cada una trae Inicio, Entró, Salió, Fin, Atraso y Horas; al final, los totales del día. Si el rango elegido todavía no tiene nada calculado, la pantalla lo dice sin rodeos: «No hay resumen en este rango, pulsa Re-Generar».

El Panel de Asistencia sin datos calculados en el rango elegido, con el aviso No hay resumen en este rango, pulsa Re-Generar
El Panel de Asistencia sin resumen todavía. Las columnas —Primera jornada, Segunda jornada, Totales del día— ya están armadas, pero el rango de fechas elegido no tiene nada calculado: hace falta pulsar «Re-Generar Resumen» para que el sistema lo arme a partir de los registros del lector ya conciliados.

El Detalle por Día

Ruta: Resumen Mensual → Detalle por Día. Es la vista fila por fila: una fila por cada día de cada empleado del mes elegido. El atraso se ve en minutos —puede traer distintos valores medidos según cuánto se haya atrasado cada quien— bajo la cabecera «Atraso total (min)», y trae además una columna «Total Atraso» que lo repite en formato legible, como «1h 37min». Igual que en la bandeja de conciliación, esta pantalla también trae su propia columna Motivo.

El Detalle por Día de agosto, columna Atraso total en minutos y columna Total Atraso en formato horas y minutos
Detalle por Día, agosto 2026. Cada fila es un día de un empleado, con su hora de entrada, de salida y su atraso ya calculado. La columna «Atraso total (min)» trae el número en bruto; más a la derecha, «Total Atraso» lo repite en «horas y minutos» para leerlo de un vistazo.
Un atraso que supera el umbral configurado no se queda solo en esta pantalla: se convierte en una falta con motivo «Atraso mayor al umbral configurado», ver la sección 18.
flowchart TD
    A["Hora marcada
(registro del lector)"]:::neu B["Se compara contra
el horario del empleado"]:::sis C["Se aplica la tolerancia
de atraso configurada"]:::sis D{"¿Pasa del umbral
configurado?"}:::sis E["Atraso en minutos,
Resumen Mensual"]:::neu F["Se reclasifica como falta
«Atraso mayor al umbral»"]:::avi G["El sistema solo AVISA"]:::avi H["El descuento lo aplica
una persona, calificando"]:::caj REF["El rol del mes:
horas y descuentos
ya aplicados"]:::ref A --> B --> C --> D D -->|No| E D -->|Sí| F --> G --> H E -.->|"pasa a"| REF H -.->|"pasa a"| REF classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151
Al abrir el detalle de una asistencia de alguien que no tiene contrato con fecha de inicio, aparece un aviso en inglés: «Employee is not under contract», con un enlace «Correct employee». Es un texto del sistema nativo que Odoo no trae traducido, y es solo cosmético: no impide nada, la asistencia se guarda igual. Lo que sí conviene es revisar el contrato de esa persona — un empleado sin fecha de inicio de contrato queda fuera de la nómina.

Los reportes: Asistencias y Libro de permisos

Ruta: Reportes → Asistencias. Es un pivote —horas trabajadas, horas regulares y horas extra, por empleado y por mes—, exportable a una hoja de cálculo para llevarlo a donde haga falta.

El reporte de Asistencias en tabla dinámica, con columnas Horas trabajadas, Horas regulares, Horas extra trabajadas y Horas extra validadas, por mes y por empleado
Reportes → Asistencias. Un pivote con un renglón por empleado y, por cada mes, sus horas trabajadas, regulares y extra. El botón «Hoja de cálculo» lo saca del sistema en ese mismo formato.

Ruta: Reportes → Libro de permisos. Agrupa por mes y compara, para cada empleado, las horas esperadas contra las trabajadas, los permisos aprobados y la diferencia que queda entre unas y otras.

El reporte Libro de permisos agrupado por mes, con columnas Horas esperadas, Horas trabajadas, Permisos aprobados y Diferencia
Reportes → Libro de permisos. Cada grupo es un mes; dentro, las horas esperadas de ese mes frente a las trabajadas y los permisos ya aprobados, con la diferencia calculada en la última columna.
El tercer reporte del menú, Análisis de horas extra, tiene capítulo propio: se explica junto a la preautorización, en la sección 19, porque su cifra sólo se lee bien sabiendo qué horas estaban autorizadas de antemano.

18 · Las faltas y cómo se califican

Una falta es un día laborable sin ningún registro del lector que lo cubra. El sistema la detecta sola, pero no decide nada por su cuenta: la falta es un reporte y, por sí sola, no descuenta nada — descontar es un paso aparte que solo lo hace una persona, calificando.

Los dos menús

Ruta: Asistencias → Faltas por calificar y Asistencias → Todas las Faltas. El primero es la bandeja de trabajo: solo lo pendiente. El segundo es el histórico completo, con un filtro de «Pendientes de calificar» disponible cuando hace falta acotarlo. En el momento de este recorrido las dos listas estaban vacías — no había ninguna falta registrada ni pendiente de calificar.

Faltas por calificar sin registros, con el mensaje No hay faltas pendientes de calificar y su explicación sobre el artículo 54 del Código del Trabajo
Faltas por calificar, vacía. El propio mensaje explica para qué sirve esta bandeja: «Aquí caen las faltas recién detectadas, antes de que alguien decida si fueron justificadas o no (Código del Trabajo, art. 54). Mientras estén aquí, NO descuentan nada — ni con el interruptor de la empresa encendido.»
Todas las Faltas con el filtro Pendientes de calificar aplicado y sin registros, con el mensaje Sin faltas registradas
Todas las Faltas, filtrada a «Pendientes de calificar». El mensaje vacío repite cómo se detecta una falta: «Un día laborable en el que nadie marcó cae aquí — la tarea de detección lo mide contra el horario, los feriados y los permisos aprobados. Solo reporte: el descuento, si lo hay, lo aplica una persona calificando la falta como injustificada.»

Motivos y estados

Una falta nace con uno de dos motivos: «No marcó en un día laborable» —no hubo ningún registro del lector ese día— o «Atraso mayor al umbral configurado» —el registro del lector sí llegó, pero con un atraso que pasó el límite fijado (ver la sección 17 para dónde se ve ese atraso en minutos). Su estado avanza siempre en el mismo orden: Pendiente → Justificada o Pendiente → Injustificada, sin marcha atrás automática.

flowchart TD
    A1["No marcó en
un día laborable"]:::sis A2["Atraso mayor
al umbral configurado"]:::sis B["La tarea detecta
la falta, sola"]:::sis C["Falta en «Pendiente»,
en la bandeja de
Faltas por calificar"]:::neu Cq{"¿Alguien la
revisa?"}:::caj Cno["Sigue esperando:
NUNCA se califica sola,
sin límite de tiempo"]:::avi D{"Una persona
califica"}:::caj E["«Justificada»"]:::ok F["«Injustificada»"]:::no REF["El descuento, aparte,
en el rol del mes"]:::ref A1 --> B A2 --> B B --> C --> Cq Cq -->|"todavía no"| Cno -.-> Cq Cq -->|"sí"| D D --> E D --> F -.->|"pasa a"| REF classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151
Una ficha de falta nueva, con los campos Empleado, Fecha, Motivo y Notas, y los botones Justificar y Confirmar como injustificada
La ficha de una falta. Empleado, fecha y el motivo por el que se generó —aquí, «No marcó en un día laborable»—, con un campo de notas para dejar constancia de lo conversado. Arriba a la izquierda, las dos únicas salidas: Justificar o Confirmar como injustificada; arriba a la derecha, el camino del estado: Pendiente → Justificada → Injustificada.

Calificar es siempre un juicio, no un cálculo

El sistema detecta la falta y la deja lista para revisión, pero decidir si fue justificada o no lo hace siempre una persona, mirando el caso. No hay ninguna regla que la califique sola. Y aunque se confirme como injustificada, la falta sigue siendo un reporte: el descuento que eventualmente se aplique es un paso aparte, fuera de esta ficha.

19 · Las horas extra y su preautorización

Una hora extra no nace de una decisión: nace de un registro del lector que rebasó la jornada. El sistema la calcula sola comparando la asistencia contra el horario del empleado, y con el ajuste actual queda validada en el mismo paso en que queda trabajada — no hay una cola de horas esperando que alguien las apruebe una por una. Aparte, y sin relación directa con ese cálculo, existe la Pre-autorización de Extras: un permiso que se pide ANTES de trabajar la hora, no una aprobación de la hora ya marcada.

flowchart TD
    subgraph PRE["Pre-autorización: el permiso previo"]
        P1["Borrador"]:::neu
        P2["Solicitado"]:::sis
        P3["Aprobado"]:::ok
        P1 --> P2 --> P3
    end

    subgraph EXT["Hora extra ya trabajada"]
        H1["Registro del lector
rebasa la jornada"]:::sis H2["Se calcula
la hora extra"]:::sis H3{"Validación de horas extra,
¿automática?"}:::sis H4["Queda «validada»
en el mismo paso"]:::ok H5["Espera la aprobación
del gerente, en «Por
aprobar» de Gestión"]:::caj H6{"¿El gerente aprueba
o rechaza?"}:::caj H7["RECHAZADA:
no se paga"]:::no REF["El rol del mes:
se paga con
su recargo"]:::ref H1 --> H2 --> H3 H3 -->|Encendida| H4 H3 -->|Apagada| H5 --> H6 H6 -->|"aprueba"| H4 H6 -->|"rechaza"| H7 H4 -.->|"pasa a"| REF end classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Gestión: la lista de horas extra ya calculadas

Ruta: Asistencias → Gestión. Trae una fila por cada hora extra calculada en el mes, con las columnas Empleado, Entrada, Salida, Tiempo trabajado, Horas extra trabajadas y Horas extra validadas. En todas las filas la columna «trabajadas» coincide con la columna «validadas», al centavo — no hay ninguna diferencia entre las dos. Cada fila trae un botón Rechazar.

La lista de Gestión de horas extra, con las columnas Empleado, Entrada, Salida, Tiempo trabajado, Horas extra trabajadas y Horas extra validadas iguales en cada fila
Gestión de horas extra. «Horas extra trabajadas» y «Horas extra validadas» traen el mismo valor en cada una de las filas — no es una coincidencia, es el efecto de la aprobación automática que se explica más abajo. El botón «Rechazar» de cada fila sigue disponible para dar marcha atrás a una hora extra puntual.
El filtro por omisión de esta lista es «Por aprobar», y hoy no muestra nada. Eso NO significa que no haya horas extra en el mes: significa que, con el ajuste en aprobación automática, ninguna hora se queda esperando aprobación — se valida sola en cuanto se calcula. Para ver las horas extra del mes hay que quitar ese filtro. Confundir una lista vacía por el filtro con «no hubo horas extra» es el error más fácil de cometer aquí.

Por qué coinciden «trabajadas» y «validadas»

La razón está en Configuración → Ajustes → Opciones de horas extra → Validación de horas extra, con dos caminos posibles: «Aprobadas en automático» o «Aprobado por el gerente». Hoy está en el primero (ver la sección 21 para el resto de ese bloque de ajustes). Mientras se quede en automático, toda hora extra calculada se valida en el acto y la única acción posible sobre ella es rechazarla después, nunca aprobarla — ya nació aprobada.

Los conjuntos de reglas: cómo se calcula el porcentaje

Ruta: Configuración → Conjuntos de reglas de horas extra. Hay dos conjuntos. El del sistema sale en pantalla como «Default Ruleset» — así, en inglés, tal como lo vas a encontrar en la lista — y el propio de la empresa, «Recargos Ecuador (LOPDP/CT)», aplicado a los empleados que corresponda. Este segundo trae tres reglas: Suplementaria +50%, basada en cantidad de horas; Extraordinaria +100%, en cualquier día no laborable; y Nocturna +25%, en cualquier día laborable.

La ficha del conjunto de reglas Recargos Ecuador (LOPDP/CT), aplicado a los empleados que corresponda, con las tres reglas Suplementaria +50%, Extraordinaria +100% y Nocturna +25%
Recargos Ecuador (LOPDP/CT), aplicado a los empleados que corresponda. Tres reglas: Suplementaria (+50%, tarifa 150%) por cantidad de horas trabajadas de más; Extraordinaria (+100%, tarifa 200%) cuando la hora cae en un día no laborable; Nocturna (+25%, tarifa 125%) cuando cae en un día laborable. El modo de combinación de tasas está en «Tasa máxima».

Pre-autorizaciones de Extras: el permiso, no la aprobación

Ruta: Asistencias → Pre-autorizaciones de Extras. La lista está vacía. Esta ficha no aprueba una hora ya trabajada — pide permiso para trabajarla, antes de marcarla. Trae una barra de estado Borrador → Solicitado → Aprobado y tres botones: Solicitar, Aprobar y Rechazar. Sus campos son Empleado, Fecha autorizada, Tipo de recargo, Horas máximas y Motivo, más una tabla con las horas extra que esa pre-autorización cubre. El Tipo de recargo se elige entre los mismos tres de la sección anterior: Suplementaria (50%), Extraordinaria (100%) y Nocturna (25%).

La ficha de una Pre-autorización de Extras nueva, con el campo Tipo de recargo desplegado mostrando Suplementaria (50%), Extraordinaria (100%) y Nocturna (25%)
Una Pre-autorización de Extras nueva, con el desplegable de Tipo de recargo abierto: Suplementaria (50%), Extraordinaria (100%) y Nocturna (25%) — los mismos tres tipos del conjunto de reglas de la empresa. Debajo, la tabla «Líneas de overtime cubiertas» queda vacía hasta que se le asocian horas extra concretas. Arriba, la barra Borrador → Solicitado → Aprobado y los botones Solicitar, Aprobar y Rechazar.

Las dos piezas de esta sección conviven pero no se pisan: el conjunto de reglas decide a cuánto se paga cada hora extra ya trabajada, y la pre-autorización es el permiso previo que alguien puede pedir para trabajar esas horas. Que hoy la lista de pre-autorizaciones esté vacía no bloquea el cálculo de horas extra — ese cálculo corre solo, contra el conjunto de reglas, con o sin pre-autorización de por medio.

20 · Los dispositivos desde los que se marca

No cualquier aparato puede marcar por un empleado. El kiosco de asistencia solo acepta registros del lector desde los dispositivos que están aprobados en Dispositivos Autorizados — así se evita que alguien marque desde su casa, o desde un celular cualquiera, y el registro se cuente como si viniera de la tienda.

flowchart TD
    T["Alguien intenta marcar
desde este dispositivo"]:::caj A["Dispositivo nuevo:
nadie lo ha emparejado"]:::neu B["«Pendiente de
aprobación»"]:::neu Rap{"¿Alguien entra a la
ficha y pulsa Aprobar?"}:::caj C["«Aprobado»"]:::ok E["Puede marcar
en el quiosco"]:::ok Rrev{"¿Alguien lo revoca
después —se perdió,
cambió de dueño—?"}:::caj D["«Revocado»"]:::no F["No puede marcar:
el quiosco RECHAZA
el registro"]:::no T --> A --> B --> Rap Rap -->|"todavía no"| F Rap -->|"sí"| C --> Rrev Rrev -->|"no"| E Rrev -->|"sí"| D --> F classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff

Dispositivos Autorizados

Ruta: Asistencias → Dispositivos Autorizados. La lista está vacía, con el mensaje «Empareja tu primer dispositivo». Debajo, la pantalla explica el motivo de la lista: el kiosco solo acepta registros del lector de los dispositivos aprobados aquí — es la protección que el propio mensaje nombra «Que nadie marque desde su casa».

Dispositivos Autorizados sin registros, con el mensaje Empareja tu primer dispositivo y su explicación sobre que nadie marque desde su casa
Dispositivos Autorizados, vacía. El mensaje vacío ya adelanta para qué sirve esta lista: el kiosco solo acepta registros del lector de los dispositivos que están aprobados aquí, para que nadie pueda marcar desde un aparato que no es el de la tienda.

La ficha de un dispositivo

Cada dispositivo se identifica por su Tipo —hoy el único disponible es Kiosco web—, su UUID, un Código de emparejamiento y, opcionalmente, las IPs permitidas para ese dispositivo en particular. Su estado avanza en una barra de tres pasos: Pendiente de aprobación → Aprobado → Revocado, con dos botones arriba: Aprobar y Revocar. La ficha también muestra el último registro que llegó de ese dispositivo y cuántos registros ha traído en total.

La ficha de un Dispositivo Autorizado nuevo, con los campos Tipo (Kiosco web), UUID del dispositivo, Código de emparejamiento, IPs permitidas, y la barra Pendiente de aprobación, Aprobado, Revocado
Un dispositivo nuevo, sin guardar. Tipo «Kiosco web», con los campos UUID del dispositivo, Código de emparejamiento e IPs permitidas (este dispositivo) todavía en blanco. Arriba, los botones Aprobar y Revocar; a la derecha, la barra de estado Pendiente de aprobación → Aprobado → Revocado.
El campo «Último registro» y el contador «N.º de registros» de la lista se llenan solos, en cuanto el dispositivo empieza a usarse — no son datos que alguien tenga que cargar a mano.

Configuración → Integración no es una ficha de ajustes

Ojo con ese menú. «Configuración → Integración», dentro de Asistencias, no abre una pantalla de ajustes: es un enlace directo al modo quiosco, la misma URL que se genera en Configuración → Ajustes (ver la sección 21). Quien lo pulse esperando configurar algo se va a encontrar de golpe en la pantalla del quiosco, no en un formulario.

21 · Lo que se configura una vez en Asistencia

Estos ajustes no se tocan mes a mes: se fijan una vez, al implantar el módulo, y de ahí en adelante quedan corriendo solos. Están en Configuración → Ajustes → Asistencias EC, en dos pestañas: Ajustes generales y Asistencia Ecuador. Aparte, en Configuración → Feriados y Configuración → Consentimientos Biométricos, hay dos listas que también son parte de esta misma configuración de fondo.

Ajustes generales

Seis interruptores: Registro de salida automático, Gestión de ausencias, Asistencias desde el backend, Rastreo de dispositivo y ubicación, Tomar foto al marcar entrada y el modo del quiosco. De los seis, hoy solo está encendido «Asistencias desde el backend» — el que permite registrar entrada y salida desde el propio Odoo, sin pasar por el kiosco.

La pestaña Ajustes generales de Asistencias, con Asistencias desde el backend activado y el resto de interruptores apagados, más los ajustes del quiosco y de horas extra
Ajustes generales. «Asistencias desde el backend» es el único interruptor activado de los seis. Más abajo, el bloque «Ajustes del quiosco» —modo de identificación por código de barras/RFID y selección manual, tiempo de visualización de 10 segundos, y la URL del quiosco, con un botón para generar una nueva— y «Opciones de horas extra», con la validación en «Aprobadas en automático» (ver la sección 19).

Asistencia Ecuador

Tres bloques. En Atrasos, salidas y faltas: tolerancia de atraso de 10 minutos, tolerancia de salida anticipada de 0, y umbral de atraso que se vuelve falta en 0 — es decir, un atraso nunca se reclasifica solo como falta (ver la sección 18 y la sección 17 para cómo se usan estos números). En Que nadie marque desde su casa: la Geocerca apagada y sin lista de IPs permitidas. En Fotos: política «Inteligente (solo en fallo o duda)» y purga a los 30 días. Y en Biometría (huella y reconocimiento facial): apagada.

La pestaña Asistencia Ecuador, con tolerancia de atraso 10 minutos, tolerancia de salida anticipada 0, umbral de atraso que se vuelve falta 0, geocerca y biometría apagadas, y el interruptor ¿Los atrasos/faltas generan descuento? también apagado
Asistencia Ecuador. Tolerancia de atraso 10 minutos, tolerancia de salida anticipada 0, umbral de atraso que se vuelve falta en 0. Geocerca apagada y sin allowlist de IP. Política de foto «Inteligente (solo en fallo o duda)», purga a los 30 días. Biometría apagada, con el microservicio facial y el umbral de huella configurados pero sin capturar nada mientras el interruptor siga así.
El ajuste más importante de esta pantalla es «¿Los atrasos/faltas generan descuento?», y nace APAGADO. La propia pantalla lo explica así: apagado por defecto, el sistema solo AVISA — el descuento, si lo hay, lo aplica una persona. Con este interruptor apagado, ningún atraso ni ninguna falta le quita nada a nadie por sí solo: queda como reporte hasta que el Contador decida, revise y descuente a mano. Encenderlo cambia esa relación — deja de ser solo un aviso — así que no se toca sin que esa decisión esté tomada explícitamente.

Feriados

Ruta: Configuración → Feriados. Los feriados del año, todos de tipo «Nacional», con 2026 y 2027 ya cargados completos, cada uno con su columna «Activa recargo» marcada. Vale decirlo porque no es evidente: los feriados de un año nuevo se cargan por pantalla, entrando aquí y creando el registro, sin que haga falta ningún despliegue de código.

La lista de Feriados de 2026 y 2027, todos de tipo Nacional y con la columna Activa recargo marcada
Los feriados del año. Los de 2026 y los de 2027 ya están cargados, todos «Nacional» y todos con «Activa recargo» marcada — esa marca es la que hace que el feriado cuente para el recargo Extraordinario de la sección anterior.

Consentimientos Biométricos

Ruta: Configuración → Consentimientos Biométricos. La lista está vacía, lo cual es coherente con que la Biometría esté apagada en Asistencia Ecuador: la propia pantalla de ajustes advierte que, con la biometría apagada, no se captura ni se almacena ningún dato biométrico — por eso aquí no hay ningún consentimiento que registrar todavía.

Consentimientos Biométricos sin registros, con el mensaje Crear nuevo documento
Consentimientos Biométricos, vacía. No hay ningún consentimiento registrado, lo que coincide con que la biometría siga apagada en Asistencia Ecuador: sin captura de dato biométrico, no hay nada que consentir todavía.

22 · Los reportes de asistencia

Tres reportes viven en Asistencias → Reportes: Asistencias, Libro de permisos y Análisis de horas extra. Los tres miran los mismos datos que ya se explicaron en las secciones anteriores —jornadas conciliadas, horas extra calculadas, permisos aprobados—, pero agrupados por empleado y por mes, para leerlos de un vistazo en lugar de fila por fila.

Asistencias: el pivote de horas

Ruta: Asistencias → Reportes → Asistencias. Es una tabla dinámica (pivote) con horas trabajadas, regulares y extra, cruzadas por empleado y por mes, y con filtros de «Empleados activos» y «Últimos 3 meses» puestos por omisión. Se puede exportar a hoja de cálculo con el botón correspondiente.

El reporte Asistencias en modo pivote, con columnas Horas trabajadas, Horas regulares, Horas extra trabajadas y Horas extra validadas cruzadas por empleado y por mes agosto y septiembre 2026
Asistencias, en pivote. Un renglón por empleado y una columna por mes, con Horas trabajadas, Horas regulares, Horas extra trabajadas y Horas extra validadas — estas dos últimas coinciden fila por fila, igual que en Gestión (ver la sección 19). El botón «Hoja de cálculo» exporta la tabla tal como está armada en pantalla.

Libro de permisos: lo esperado contra lo trabajado

Ruta: Asistencias → Reportes → Libro de permisos. Compara, mes por mes, cuatro cifras: Horas esperadas según el horario, Horas trabajadas según la asistencia, Permisos aprobados y la Diferencia que queda entre lo esperado y la suma de lo trabajado más los permisos.

El reporte Libro de permisos agrupado por mes, con las columnas Horas esperadas, Horas trabajadas, Permisos aprobados y Diferencia
Libro de permisos, agrupado por mes. Cada renglón de mes trae Horas esperadas, Horas trabajadas, Permisos aprobados y la Diferencia resultante — la columna que señala si el mes quedó corto o cuadrado frente al horario.

Análisis de horas extra

Ruta: Asistencias → Reportes → Análisis de horas extra. Muestra las horas adicionales del mes, empleado por empleado y día por día.

El reporte Análisis de horas extra agrupado por mes, con columnas Empleado, Día, Horas adicionales, Time Off Eligible y Tarifa de pago, con tarifas del 150% al 200%
Análisis de horas extra, agosto 2026. La lista agrupada por mes, con Empleado, Día, Horas adicionales, «Time Off Eligible» y Tarifa de pago; las tarifas van del 150% al 200% según el tipo de hora extra. «Time Off Eligible» sale en inglés porque es una cadena que Odoo no trae traducida, y la Tarifa de pago no muestra ningún total sumado a propósito: sumar o promediar tarifas da un número que no significa nada.
Una de las columnas de este reporte sale en inglés, «Time Off Eligible»: es una cadena que Odoo no trae traducida, así que se cita tal cual — el lector la va a ver exactamente así en su pantalla.
La columna de tarifa de este reporte ya no muestra ningún total agregado, a propósito: una tarifa (un porcentaje de recargo) no se puede sumar ni promediar sin engañar a quien lo lee, así que solo se ve la tarifa de cada línea individual, nunca un agregado.

23 · Caso: alguien que no marca y cobra su jornada

En la ficha del empleado hay un interruptor que decide todo esto de un golpe. Nace apagado, y hay una razón precisa para que sea así.

Hay personas —un gerente, alguien que trabaja fuera del local, un cargo de confianza— a las que no se les exige marcar entrada y salida: se les paga directamente su jornada según el horario que tienen asignado. Eso se controla con un interruptor en la pestaña Asistencia EC de la ficha del empleado (sección 4): «Marca entrada y salida». Ese interruptor nace apagado.

Quién interviene

flowchart LR
    EMP(["El empleado"]):::act
    NOM(["Quien lleva la nómina"]):::act
    UC["Alguien que no marca
y cobra su jornada"]:::uc EMP --> UC NOM --> UC UC -.->|se apoya en| S1["La ficha del empleado"]:::ref UC -.->|se apoya en| S2["Las faltas y cómo
se califican"]:::ref UC -.->|se apoya en| S3["Lo que se configura una
vez en Asistencia"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Con el interruptor APAGADO — el estado normal para este caso

flowchart TD
    A["«Marca entrada y
salida» APAGADO"]:::ok B["Sale del panel
de asistencia"]:::ok C["Nunca genera
faltas ni atrasos"]:::ok D["En el rol aparece con las
horas de su horario
ya prellenadas"]:::ok E["Se le paga su
jornada directamente"]:::ok A --> B A --> C A --> D --> E classDef ok fill:#037F58,stroke:#026345,color:#fff

Si queda ENCENDIDO por error

flowchart TD
    F["«Marca entrada y
salida» ENCENDIDO,
por error"]:::no G["La persona sigue sin
pasar por el lector"]:::no H["La tarea de detección
lo trata como cualquier
otro empleado"]:::sis I["Le crea una falta
CADA día laborable"]:::no J{"¿El descuento de
faltas está encendido?"}:::sis K["Riesgo real: podría
perder el sueldo"]:::no L["Las faltas quedan
pendientes, sin descontar"]:::avi F --> G --> H --> I --> J J -->|Sí| K J -->|No| L classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff

Qué hacer

Al crear la ficha de alguien que no va a marcar reloj, se confirma que «Marca entrada y salida» se quede apagado — es lo que trae por defecto, así que en la mayoría de los casos no hay que tocar nada. Esa persona desaparece del panel de asistencia, del resumen mensual y de cualquier bandeja de faltas o atrasos: en el rol del mes entra directo con las horas de su horario ya prellenadas, sin pasar por ningún registro del lector.

Con el interruptor encendido, en cambio, el sistema sí espera que esa persona marque como cualquier otro empleado, y la controla igual: atrasos, faltas, todo lo demás de este manual le aplica normal.

La advertencia central de este caso. Si alguien que en la práctica no marca reloj se queda con el interruptor encendido por error, la tarea de detección de faltas le va a crear una falta cada día laborable —porque, para el sistema, dejó de marcar—. Y si además el descuento de faltas (sección 21) estuviera encendido, esa persona podría perder su sueldo por un interruptor mal puesto, no por dejar de trabajar. Es exactamente la razón por la que ese interruptor nace apagado.
Revisar este interruptor es parte de dejar completa una ficha nueva (sección 4), sobre todo en cargos donde no se espera que la persona pase por un lector.

Lo que NO hay que hacer

24 · Caso: el lector estuvo dañado

Ningún registro del lector llegó esos días, y eso genera faltas para todos los que trabajaron. No son culpa de nadie, y no se pueden dejar como injustificadas.

El lector de un local se daña —o se queda sin electricidad, o pierde la conexión— y durante uno o varios días no llega ningún registro. Nadie marcó, aunque todos hayan trabajado con normalidad. La tarea que detecta faltas (sección 18) no sabe que el lector estuvo dañado: solo ve días laborables sin ningún registro que los cubra, y crea una falta por cada uno, con el motivo «No marcó en un día laborable».

Quién interviene

flowchart LR
    TEC(["Servicio técnico"]):::act
    SUP(["El supervisor"]):::act
    NOM(["Quien lleva la nómina"]):::act
    UC["El lector
estuvo dañado"]:::uc TEC --> UC SUP --> UC UC --> NOM UC -.->|se apoya en| S1["Los dispositivos desde
los que se marca"]:::ref UC -.->|se apoya en| S2["Las faltas y cómo
se califican"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Paso a paso

flowchart TD
    A["El lector no envía
ningún registro esos días"]:::sis B["La tarea de detección
ve días laborables sin
ningún registro que los cubra"]:::sis C["Crea una falta por cada día,
motivo «No marcó en un
día laborable»"]:::neu D["Faltas quedan en
«Pendiente»"]:::neu E["Quien lleva la nómina revisa
cada una en Faltas por calificar"]:::caj F["«Justificar», con la nota
de lo que pasó con el lector"]:::ok G["NO calificarla como
injustificada"]:::no A --> B --> C --> D --> E E --> F E -.->|nunca| G classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff

Qué hacer

Se entra a Asistencias → Faltas por calificar y se busca cada falta que caiga en los días que el lector estuvo dañado. Se abre la ficha y se pulsa Justificar, dejando en el campo de notas lo que pasó —«lector sin electricidad del 3 al 4 de septiembre», por ejemplo—. Ese texto es el que queda como rastro de por qué esas faltas no cuentan en contra de nadie.

Estas faltas no son culpa del empleado, y no se pueden calificar como injustificadas. El motivo lo dice todo: nadie dejó de marcar por decisión propia, fue el aparato el que no entregó el registro. Confirmarlas como injustificadas descontaría un día que sí se trabajó.
El descuento nace apagado a nivel de empresa (sección 21), así que el sistema no le quita nada a nadie por su cuenta. Pero eso no reemplaza calificarla: la falta se queda ahí, en «Pendiente», hasta que alguien la justifique — y una falta pendiente sin resolver es un cabo suelto en el resumen del mes.

Lo que NO hay que hacer

25 · Caso: el rol ya estaba hecho y hay que corregirlo

Mientras un recibo no esté pagado, se puede volver a calcular. La corrección que sirve de verdad no es tocar el número: es arreglar la causa —la ficha, el horario, el registro del lector que faltó— y RECIÉN DESPUÉS recalcular.

Quién interviene

flowchart LR
    CON(["El Contador"]):::act
    UC["El rol ya estaba hecho
y hay que corregirlo"]:::uc CON --> UC UC -.->|se apoya en| S1["Leer un rol individual"]:::ref UC -.->|se apoya en| S2["El rol del mes"]:::ref UC -.->|se apoya en| S3["La ficha del empleado"]:::ref UC -.->|se apoya en| S4["Cómo llegan
las marcas"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Un recibo de nómina pasa por tres estados: Borrador → Hecho → Pagado (sección 6). El Contador revisa el recibo de un empleado y encuentra un número que no cuadra —un día que no debía descontarse, un horario que no era el correcto, un registro del lector que faltó y dejó una falta donde no la hubo—. Mientras ese recibo no esté Pagado, todavía se puede corregir.

Paso a paso

flowchart TD
    A["Se encuentra un número
que no cuadra en el recibo"]:::caj B{"¿El recibo ya
está Pagado?"}:::sis C["BLOQUEO: un recibo pagado
no se recalcula por aquí"]:::no D["Identificar la CAUSA:
ficha, horario o registro
del lector que faltó"]:::caj E["Corregir la causa en su
propio lugar —la ficha, el
horario, la asistencia—"]:::caj F["Volver el recibo a Borrador
si ya estaba Hecho"]:::caj G["Pulsar Calcular otra vez"]:::caj H["Revisar el recibo
ya recalculado"]:::caj I["Validar y, luego,
asociar el pago"]:::ok A --> B B -->|"sí"| C B -->|"no"| D --> E --> F --> G --> H --> I classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff

La causa primero, el recibo después

Un recibo en Borrador se puede recalcular las veces que haga falta; en cuanto pasa a Hecho, ya no se recalcula solo — hay que volver a Borrador para tocarlo, y el neto que muestre hasta entonces no es definitivo (sección 6). Pero volver el recibo a Borrador y pulsar «Calcular» sin haber corregido nada no arregla el número: solo lo vuelve a calcular con los mismos datos torcidos.

Lo que corresponde es corregir la causa donde vive de verdad —la fecha de inicio o el horario en la ficha del empleado (sección 4), o el registro del lector que faltó en la asistencia (sección 14)— y solo DESPUÉS volver al recibo y recalcular. En ese orden: primero la causa, después el número.

Corregir el recibo sin arreglar la causa se repite el mes siguiente. Si el horario de la ficha sigue mal o el registro del lector sigue sin cargarse, el próximo rol va a salir con el mismo error — porque la causa nunca se tocó, solo se maquilló el número de un mes.

Cuando el recibo ya está pagado

Si el recibo ya pasó a Pagado, esa puerta se cierra: no se recalcula por aquí. Corregirlo a esa altura es una decisión distinta, aparte del flujo normal de un rol del mes, y no algo que este caso resuelva con un botón.

Lo que NO hay que hacer

26 · Caso: entra un empleado a mitad de mes

Una ficha nueva entra bien al rol del mes con una sola condición dura: que el contrato tenga cargada la fecha de inicio. Sin esa fecha, la persona no entra al rol — y el sistema no dice por qué.

Quién interviene

flowchart LR
    CON(["El Contador"]):::act
    UC["Entra un empleado
a mitad de mes"]:::uc CON --> UC UC -.->|se apoya en| S1["La ficha del empleado"]:::ref UC -.->|se apoya en| S2["El rol del mes"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Un empleado nuevo entra por la ficha (sección 4), no por el rol del mes: el rol solo incluye a quien ya tiene ficha completa cuando se arma. El Contador crea el registro con su cargo, su departamento y, en la pestaña Nómina, el resumen del contrato —tipo de empleado, tipo de salario, el salario mismo— y el horario que le corresponde.

El punto crítico: la fecha de inicio del contrato

Dentro de ese mismo resumen del contrato hay un dato que no salta a la vista y que decide si la persona entra o no al rol: la fecha de inicio de contrato. Si esa fecha queda en blanco, la ficha se ve completa a simple vista —tiene cargo, tiene horario, tiene salario— y aun así la persona queda fuera del rol del mes, sin ningún aviso en pantalla que lo señale.

Es un bloqueo silencioso, medido en pantalla. No hay un mensaje de error, ni una alerta en el Tablero: la persona simplemente no aparece en la etapa Empleados del periodo. La única forma de evitarlo es revisar la fecha de inicio ANTES de dar por completa una ficha nueva, no esperar a notarlo cuando el rol ya está armado.
flowchart TD
    A["Crear la ficha del
empleado nuevo"]:::caj B["Completar cargo, horario
y datos del contrato"]:::caj C{"¿Tiene fecha de
inicio de contrato?"}:::caj D["Entra al rol del mes
con los días que le
corresponden"]:::ok E["Queda FUERA del rol,
sin ningún aviso"]:::no A --> B --> C C -->|"sí"| D C -->|"no"| E classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff

Con los días que le corresponden

Con la fecha de inicio cargada, la persona entra a la etapa Empleados del periodo de nómina (sección 5) igual que cualquier otro empleado del lote: con su horario, su fecha de ingreso y su salario. El cálculo del recibo reparte el mes según esa fecha —no hace falta prorratear nada a mano ni crear un rol aparte para quien entró a mitad de mes.

Lo que NO hay que hacer

27 · Caso: horas extra de un sábado

La hora extra se calcula sola, comparando la asistencia contra el horario. La preautorización es aparte: un permiso que se pide antes de trabajarla, no una aprobación de la hora ya marcada.

Un empleado tiene que quedarse a trabajar un sábado, día no laborable en su horario. Antes de que llegue ese sábado, alguien —el supervisor, junto con el empleado— arma una Pre-autorización de Extras (sección 19): empleado, fecha autorizada, tipo de recargo y horas máximas. Esa ficha avanza de Borrador a Solicitado y de ahí a Aprobado, antes de que el sábado llegue.

Quién interviene

flowchart LR
    EMP(["El empleado"]):::act
    SUP(["El supervisor"]):::act
    NOM(["Quien lleva la nómina"]):::act
    UC["Horas extra
de un sábado"]:::uc EMP --> UC SUP --> UC UC --> NOM UC -.->|se apoya en| S1["Las horas extra y
su preautorización"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Paso a paso

flowchart TD
    subgraph PRE["Antes del sábado"]
        A["Se arma la Pre-autorización:
empleado, fecha, tipo
de recargo, horas máximas"]:::caj B["Borrador → Solicitado"]:::caj C["Aprobado"]:::ok A --> B --> C end subgraph SAB["El sábado ya trabajado"] D["El empleado marca
entrada y salida"]:::caj E["El registro rebasa
el horario: es día
no laborable"]:::sis F["Se calcula como
Extraordinaria +100%"]:::sis G{"Validación de horas
extra, ¿automática?"}:::sis H["Queda «validada»
en el mismo paso"]:::ok I["Espera la aprobación
del gerente"]:::caj D --> E --> F --> G G -->|Encendida| H G -->|Apagada| I end C -.->|"respalda, no reemplaza,
el cálculo"| F classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff

Qué se ve al final

El sábado el empleado marca su entrada y su salida como cualquier día; el registro del lector se concilia igual que siempre. Como el sábado es día no laborable para ese horario, las horas trabajadas caen bajo la regla Extraordinaria +100% del conjunto de reglas de la empresa (sección 19) — distinta de la Suplementaria +50% (por cantidad de horas en un día laborable) o la Nocturna +25%. Esas horas aparecen en Asistencias → Gestión, y según cómo esté configurada la validación (sección 21), quedan validadas en el mismo paso o esperando que el gerente las apruebe.

La preautorización y el cálculo de la hora extra son dos piezas que conviven pero no se pisan: la preautorización es el permiso previo para trabajar esas horas; el cálculo de a cuánto se pagan corre solo, contra el conjunto de reglas, exista o no una preautorización de por medio.
Tener la preautorización aprobada no reemplaza el registro del lector. Si el empleado no marca ese sábado, no hay horas extra que calcular, por más aprobada que esté la preautorización — el permiso previo autoriza a trabajar la hora, pero es el registro del lector el que la convierte en horas extra reales.

Lo que NO hay que hacer

28 · Caso: la planilla del IESS no cuadra

Existe una pantalla para comparar lo que el sistema calculó contra la planilla que entrega el IESS. Se probó con diferencias sembradas a propósito, y el resultado es a medias: las diferencias de importe las detecta y las muestra bien; las de persona no. Conviene saber exactamente hasta dónde llega antes de apoyarse en ella.

Quién interviene

flowchart LR
    CON(["El Contador"]):::act
    IESS(["El IESS"]):::act
    UC["La planilla del IESS
no cuadra"]:::uc CON --> UC IESS -.->|entrega la planilla| UC UC -.->|se apoya en| S1["La planilla del IESS
y el Formulario 107"]:::ref UC -.->|se apoya en| S2["El rol del mes"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

El IESS le devuelve al Contador su propia planilla de aportes, y hace falta comprobar que coincide con lo que el rol del mes (sección 5) calculó para cada empleado. Para eso existe «Validar planilla del IESS» (sección 9), que compara los dos lados.

Paso a paso

flowchart TD
    A["El Contador recibe la
planilla del IESS"]:::caj B["Abre Validar planilla
del IESS"]:::caj C["Elige el Lote de
nómina a comparar"]:::caj D{"¿Cómo entrega
la planilla?"}:::caj E["Sube el archivo CSV
tal como lo da el IESS"]:::caj F["Pega el texto, cédula
por cédula, en el
formato pedido"]:::caj G["Pulsa Validar"]:::caj H["El sistema compara lo
calculado contra la planilla"]:::sis A --> B --> C --> D D -->|"CSV"| E --> G D -->|"texto pegado"| F --> G G --> H classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff

El asistente pide primero el Lote de nómina contra el que se va a comparar — el rol del mes que corresponda. Después, la planilla se entrega por cualquiera de dos caminos: subiendo el archivo CSV tal como lo entrega el IESS, o pegando el texto directamente, cédula por cédula, con el formato que la propia pantalla muestra como ayuda:

cedula;sueldo_aportado;aporte_personal;aporte_patronal;prestamos

Con cualquiera de los dos caminos, el botón Validar ejecuta la comparación entre lo que trae la planilla y lo que calculó el rol elegido.

Esta comparación encuentra diferencias de importe, no de personas. Se probó con una planilla que traía dos errores puestos a mano. El de importe lo señaló bien, con las dos cifras y la diferencia. Pero la persona que estaba en la planilla y no existe en el sistema desapareció sin dejar rastro: ni fila, ni aviso, ni conteo.

Así que el desfase que esta pantalla no puede encontrar es justo uno de los caros: que el IESS tenga aportando a alguien que la empresa no tiene dado de alta, o al revés. Eso se comprueba contando: cuántas personas trae la planilla y cuántas el rol. Si los dos números no coinciden, hay que buscar a mano quién sobra o quién falta.

Y dos avisos de manejo: el lote tiene que estar cerrado, y al pegar la planilla no se incluye la fila de títulos — con ella, el asistente revienta.

Para qué sirve, sin adornarlo

Sirve para tener, en un solo lugar, la comparación entre lo que la empresa calculó y lo que el IESS tiene registrado — en vez de cotejar cédula por cédula a mano. Pero como el camino de «sí hay diferencias» todavía no se vio en pantalla, no se puede prometer aquí qué tan claro deja el resultado ni cómo se corrige después una diferencia encontrada. Eso queda para revisar la primera vez que se use en serio.

29 · Caso: llegó tarde varias veces

El sistema mide el atraso, lo compara contra un umbral y hasta lo puede reclasificar como falta. Lo único que no hace es descontar por su cuenta: eso lo decide siempre una persona.

Un empleado empieza a marcar su entrada varios minutos después de la hora de su horario. Cada registro del lector, al conciliarse, calcula el atraso comparando la hora marcada contra el horario asignado y aplicando la tolerancia configurada. Ese atraso se ve, en minutos, en el Detalle por Día del Resumen Mensual (sección 17), y también en formato «horas y minutos» en la columna «Total Atraso».

Quién interviene

flowchart LR
    EMP(["El empleado"]):::act
    SUP(["El supervisor"]):::act
    NOM(["Quien lleva la nómina"]):::act
    UC["Llegó tarde
varias veces"]:::uc EMP --> UC SUP --> UC UC --> NOM UC -.->|se apoya en| S1["Los atrasos y el
resumen del mes"]:::ref UC -.->|se apoya en| S2["Las faltas y cómo
se califican"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Paso a paso

flowchart TD
    A["Hora marcada,
registro del lector"]:::sis B["Se compara contra
el horario del empleado"]:::sis C["Se aplica la tolerancia
de atraso configurada"]:::sis D{"¿El atraso pasa del
umbral configurado?"}:::sis E["Queda como atraso
en minutos, sin más"]:::neu F["Se reclasifica como falta
«Atraso mayor al umbral»"]:::avi G["El sistema solo AVISA:
no descuenta nada solo"]:::avi H["Quien lleva la nómina revisa
el patrón y decide"]:::caj I["Descuenta, calificando
a mano"]:::ok J["Deja pasar, sin descuento"]:::ok A --> B --> C --> D D -->|No| E D -->|Sí| F --> G --> H H --> I H --> J classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff

Qué hacer

Se revisa el patrón en el Detalle por Día: cuántos días llegó tarde en el mes y cuántos minutos en cada uno. Mientras el atraso se quede por debajo del umbral configurado, se queda como un número en esa pantalla, sin convertirse en nada más. En cuanto un atraso pasa ese umbral, deja de ser solo un dato del resumen: se reclasifica como falta, con el motivo «Atraso mayor al umbral configurado», y aparece en Faltas por calificar (sección 18) para que alguien la revise igual que cualquier otra falta.

El sistema sólo avisa; el descuento lo aplica una persona. Así lo dice la propia pantalla de ajustes. Ni el atraso en minutos ni la falta que nace de un atraso excesivo le quitan nada a nadie por sí solos — hace falta que quien lleva la nómina lo revise y, si corresponde, lo califique y descuente a mano.
Un atraso repetido pero que nunca pasa el umbral no genera ninguna falta. Si el patrón preocupa aunque cada atraso sea corto, la revisión toca hacerla mirando el Detalle por Día directamente, no esperando a que el sistema lo convierta en algo.

Lo que NO hay que hacer

30 · Caso: marcó desde un dispositivo sin aprobar

El quiosco solo acepta registros del lector de los dispositivos que están aprobados. Desde uno que no lo está, no hay manera de marcar: es un bloqueo, no un aviso.

Un dispositivo nuevo —un celular, una tableta, un lector recién instalado en otro local— intenta usarse para marcar en el quiosco de asistencia, pero nadie lo ha registrado todavía en Dispositivos Autorizados (sección 20). El quiosco rechaza cualquier intento de marcar desde ahí, sin excepción: esa es exactamente la protección que existe para que nadie marque desde su casa o desde un aparato cualquiera y el registro se cuente como si viniera del local.

Quién interviene

flowchart LR
    EMP(["El empleado"]):::act
    SUP(["El supervisor"]):::act
    NOM(["Quien lleva la nómina"]):::act
    UC["Marcó desde un dispositivo
sin aprobar"]:::uc EMP --> UC SUP --> UC UC --> NOM UC -.->|se apoya en| S1["Los dispositivos desde
los que se marca"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Paso a paso

flowchart TD
    A["Dispositivo nuevo,
nadie lo ha registrado"]:::neu B{"¿Está en Dispositivos
Autorizados?"}:::sis C["«Pendiente de
aprobación» o
no existe todavía"]:::neu D["El quiosco RECHAZA
cualquier registro
desde ahí"]:::no E["Quien lleva la nómina crea
o abre la ficha del dispositivo"]:::caj F["Pulsa «Aprobar»"]:::caj G["Estado pasa a
«Aprobado»"]:::ok H["Ya puede marcar
en el quiosco"]:::ok A --> B B -->|No| C --> D --> E --> F --> G --> H B -->|Ya aprobado| H classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ok fill:#037F58,stroke:#026345,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff

Qué hacer

Se entra a Asistencias → Dispositivos Autorizados y se busca el dispositivo por su UUID o su código de emparejamiento. Si no existe todavía, se empareja como dispositivo nuevo — nace en «Pendiente de aprobación»—; si ya existe pero sigue pendiente, se abre su ficha y se pulsa Aprobar. Recién ahí, con el estado en «Aprobado», el quiosco empieza a aceptar registros de ese aparato.

Este mismo camino sirve al revés: si un dispositivo deja de ser de fiar —se perdió, se lo llevó alguien que ya no trabaja ahí—, se abre su ficha y se pulsa Revocar. En «Revocado» vuelve a quedar bloqueado, igual que uno que nunca se aprobó.
No hay ningún registro manual que compense esto. Si alguien necesita marcar y su dispositivo habitual no está aprobado, el camino correcto es aprobar ese dispositivo —o usar uno que ya lo esté—, nunca inventar un registro aparte para saltarse el bloqueo.

Lo que NO hay que hacer

31 · Caso: olvidó marcar la salida

Es el caso más frecuente de todos. No es un error del sistema ni del lector: es el estado normal de una jornada mientras la salida todavía no llega.

Un empleado marca su entrada por la mañana y, a la salida, se le olvida pasar por el lector —sale corriendo, el lector no responde, lo que sea. Esa entrada sí se concilió (sección 16) y generó un registro de asistencia, pero ese registro queda abierto: el motivo en la ficha dice, literal, «Entrada sin salida (asistencia abierta)». No hay ninguna alarma que salte sola, y no tiene por qué: así se ve cualquier jornada que sigue en curso.

Quién interviene

flowchart LR
    EMP(["El empleado"]):::act
    SUP(["El supervisor"]):::act
    NOM(["Quien lleva la nómina"]):::act
    UC["Olvidó marcar
la salida"]:::uc EMP --> UC SUP --> UC UC --> NOM UC -.->|se apoya en| S1["La bandeja de conciliación"]:::ref UC -.->|se apoya en| S2["Los atrasos y el resumen del mes"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Cómo se ve, y qué hacer

En la Bandeja de Conciliación (sección 16) el registro de entrada aparece «Conciliado», con el campo «Asistencia generada» apuntando a esa jornada, y el Motivo explicando que falta la salida. Si la salida llega más tarde —el empleado vuelve a marcar, aunque sea con retraso, o alguien la registra manualmente— la próxima vuelta de la conciliación (corre cada 15 minutos) empareja las dos y la jornada se cierra sola, sin que nadie tenga que intervenir.

El problema real aparece cuando esa salida nunca llega. Ahí sí hace falta que alguien actúe: entrar al registro del lector o a la ficha de asistencia y poner la hora de salida que corresponde, a mano. En cuanto esa hora queda registrada, la siguiente conciliación la toma y cierra el día.

No es un error, es un estado de tránsito. Ver una asistencia «abierta» a media tarde de un día normal no significa que algo se rompió. Significa exactamente lo que dice el motivo: la entrada ya está, la salida todavía no.
El día siguiente de esa misma persona se concilia normal. Un registro abierto no bloquea nada más allá de sí mismo: la entrada del día siguiente arma su propio registro de asistencia y sigue su propio camino, aunque el día anterior siga esperando su salida.

Lo que NO hay que hacer

32 · Caso: se le adelantó dinero

Un anticipo se entrega aparte del rol del mes, con «Pagar quincena», y se descuenta solo — pero solo UNA vez. Si el mismo descuento tiene que repetirse el mes siguiente, hay que volver a crearlo: nada lo repite por cuenta propia.

Quién interviene

flowchart LR
    CON(["El Contador"]):::act
    EMP(["El empleado"]):::act
    UC["Se le adelantó
dinero"]:::uc EMP --> UC CON --> UC UC -.->|se apoya en| S1["Anticipos y
Pagar quincena"]:::ref UC -.->|se apoya en| S2["Los reportes
de nómina"]:::ref UC -.->|se apoya en| S3["El rol del mes"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Un empleado necesita un adelanto —una quincena, un imprevisto, cualquier monto suelto que haya que descontarle después— y el rol del mes todavía no se cierra. El Contador no espera al cierre: entrega el dinero con el asistente «Pagar quincena» (sección 8), que se abre desde el rol del mes en curso.

Paso a paso

flowchart TD
    A["El empleado necesita
un adelanto"]:::caj B["El Contador abre
Pagar quincena"]:::caj C["Llena Empleado, Fecha de pago,
Monto a pagar y Nota"]:::caj D["El sistema crea un
recibo fuera de ciclo"]:::sis E["Aparece en el reporte
Otras entradas, junto a
otras cuentas por cobrar"]:::neu F["El sistema lo descuenta
solo, completo, en el rol
de fin de mes de ese empleado"]:::sis G["Rol de fin de mes: el
descuento ya viene
incluido al calcular"]:::ok A --> B --> C --> D --> E D --> F --> G classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef neu fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ok fill:#037F58,stroke:#026345,color:#fff

El asistente pide cuatro datos: a quién (un empleado a la vez), la fecha en que de verdad se entregó el dinero, el monto completo del anticipo, y una nota libre con el motivo — útil cuando alguien pregunte después por qué salió ese descuento. Al confirmar, el sistema crea un recibo fuera de ciclo con su propia fecha de pago, aparte del rol mensual.

Ese recibo es el mismo que después se ve en el reporte «Otras entradas» (sección 7), bajo el concepto «Anticipo de sueldo» — junto a «Otras cuentas por cobrar», que es donde caen los demás conceptos que no son sueldo base. Y es el mismo monto que el rol de fin de mes (sección 5) va a descontar solo, completo, del sueldo de ese empleado.

El descuento no se repite solo el mes siguiente. «Ajustes salariales» —el lugar donde vivirían los montos recurrentes, una pensión alimenticia o un préstamo que se va descontando mes a mes— está vacío en esta instalación. Quien espere que un anticipo cobrado este mes se descuente otra vez el mes siguiente sin hacer nada, se equivoca: hay que crear el anticipo de nuevo, con «Pagar quincena», cada vez que se entregue dinero.

Lo que NO es este asistente

33 · Caso: toca entregar el formulario 107

El Formulario 107 es el certificado de retenciones del ejercicio fiscal, uno por año. Lo que sorprende la primera vez es que el sistema reconoce a menos empleados de los que tiene la empresa, y hay que saber por qué antes de entregarlo: sólo entra quien tiene al menos un rol validado o pagado dentro de ese ejercicio.

Quién interviene

flowchart LR
    CON(["El Contador"]):::act
    SRI(["El SRI"]):::act
    UC["Toca entregar el
formulario 107"]:::uc CON --> UC UC -.->|se entrega a| SRI UC -.->|se apoya en| S1["La planilla del IESS
y el Formulario 107"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

Llega la fecha de entregar al SRI el certificado de retenciones del ejercicio, y el Contador abre Reportes → Formulario 107 (sección 9). Es un registro por ejercicio fiscal —uno por año, no uno por mes— que reúne la información que exige el formulario para cada empleado elegible de la empresa.

Paso a paso

flowchart TD
    A["Llega la fecha de
entregar el 107 al SRI"]:::caj B["Abrir el registro del
ejercicio, por año"]:::caj C["Revisar el contador
Empleados elegibles"]:::caj D{"¿El número de
elegibles parece bajo?"}:::sis E["REVISAR ANTES de
entregar: hueco sin
averiguar todavía"]:::avi F["Pulsar Completar"]:::caj G["El sistema arma el
formulario con esos
empleados"]:::sis H["Entregar al SRI"]:::ok A --> B --> C --> D D -->|"sí"| E --> F D -->|"no, parece razonable"| F F --> G --> H classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff classDef ok fill:#037F58,stroke:#026345,color:#fff

Al abrir el registro del ejercicio, la ficha trae la Descripción, el campo Year —así, en inglés, tal como sale en pantalla— y arriba a la derecha un contador: Empleados elegibles. Ese contador dice cuántos empleados de la empresa cumplen el criterio para que el formulario los incluya. El botón Completar arma el formulario con esos empleados.

Ese contador se revisa SIEMPRE antes de entregar nada al SRI. Compáralo con el número de personas que de verdad cobraron ese año. Si falta alguien que sí cobró, la causa es casi siempre la misma: tiene roles de ese ejercicio sin validar. Un rol en borrador no cuenta, el formulario se completa igual, y nada avisa de la diferencia. Quien no cobró nada ese año, en cambio, queda fuera con razón — no hay retención que certificar.

Sobre la publicación en el portal: el propio sistema avisa, escrito en la ficha, que los archivos no se van a publicar en el portal del empleado si ese empleado no tiene instalada la aplicación Documentos — no es una suposición de este manual, es un aviso que trae la pantalla.

Lo que NO hay que hacer

34 · Caso: un empleado no aparece en el rol

Cuando alguien falta en el rol del mes, casi nunca es un error del sistema: es un dato que falta en la ficha. Revisando las causas en el orden correcto se resuelve en minutos, sin tener que adivinar.

Quién interviene

flowchart LR
    CON(["El Contador"]):::act
    UC["Un empleado no
aparece en el rol"]:::uc CON --> UC UC -.->|se apoya en| S1["La ficha del empleado"]:::ref UC -.->|se apoya en| S2["El rol del mes"]:::ref UC -.->|se apoya en| S3["Lo que se configura
una vez"]:::ref classDef act fill:#2098AF,stroke:#186B7A,color:#fff classDef uc fill:#E6F4F7,stroke:#2098AF,color:#111 classDef ref fill:#fff,stroke:#9CA3AF,color:#374151

El Contador arma el periodo de nómina (sección 5) y, en la etapa Empleados, nota que falta alguien que debería estar. Antes de sospechar de un error del sistema, conviene repasar la ficha de esa persona (sección 4) en este orden — de la causa más frecuente a la menos frecuente.

Las cuatro causas, en orden

flowchart TD
    A["Un empleado no aparece
en la etapa Empleados"]:::caj B{"¿Tiene fecha de inicio
de contrato?"}:::sis C["ESTA es la causa más
frecuente — ver caso:
entra a mitad de mes"]:::no D{"¿El contrato ya
terminó?"}:::sis E["El contrato vencido
lo saca del rol"]:::no F{"¿Tiene estructura
salarial asignada?"}:::sis G["Sin estructura salarial
no hay con qué calcular"]:::no H{"¿Tiene horario
asignado?"}:::sis I["Sin horario no hay
días que repartir"]:::no J["Ficha completa: revisar
con calma antes de suponer
un error del sistema"]:::avi A --> B B -->|"no"| C B -->|"sí"| D D -->|"sí"| E D -->|"no"| F F -->|"no"| G F -->|"sí"| H H -->|"no"| I H -->|"sí"| J classDef caj fill:#2098AF,stroke:#186B7A,color:#fff classDef sis fill:#7C3AED,stroke:#5B21B6,color:#fff classDef no fill:#DC2626,stroke:#991B1B,color:#fff classDef avi fill:#B45309,stroke:#7C3D06,color:#fff

1. Falta la fecha de inicio de contrato. Es la causa más frecuente, y la más difícil de notar a simple vista porque el resto de la ficha puede verse completo. Se detalla en sección 26: sin esa fecha, la persona queda fuera del rol sin ningún aviso.

2. El contrato ya terminó. Un contrato con fecha de fin anterior al periodo que se está armando no entra al rol de ese mes — tiene sentido si la persona ya no trabaja ahí, pero conviene confirmarlo: a veces la fecha de fin quedó mal cargada por error, no porque la persona haya salido de verdad.

3. No tiene estructura salarial. La estructura salarial es la que trae las reglas con las que se calcula el recibo — se arma en Configuración (sección 3). Sin ella asignada en el contrato, el sistema no tiene con qué calcular, y la persona no entra.

4. No tiene horario asignado. El horario es lo que reparte el mes en días trabajables. Sin uno asignado en la pestaña Nómina de la ficha, no hay días que repartir.

Cómo comprobarlo desde la ficha

Todo se revisa en el mismo lugar: la pestaña Nómina de la ficha del empleado (sección 4). Ahí están, uno al lado del otro, el resumen del contrato —con su fecha de inicio y su fecha de fin, si la tiene— y el horario asignado. La estructura salarial vive dentro de ese mismo resumen del contrato. Revisando esos cuatro datos en el orden de arriba se encuentra la causa sin tener que abrir el rol una y otra vez para «ver si ya aparece».