Un empleado dado de baja es de solo lectura
Fichar la entrada, asignar un horario o una política de ausencias, aprobar una ausencia que pasa de la baja e invitar al portal a un empleado dado de baja responden 422 con el subcode employee_inactive. El resumen de equipo lista a todo empleado de alta en el mes, tenga o no horario.
31 de octubre de 2026 — Un empleado dado de baja (status inactive) es ahora de solo lectura: sus
datos se conservan y se consultan, pero ya no admite operaciones nuevas. Las seis operaciones de la tabla
responden 422 business_rule_violation con el subcode employee_inactive y no escriben nada. Ninguna
operación cambia para un empleado en activo y no se retira ninguna.
Operaciones de esta versión
| Operación | operationId | Herramienta MCP | Qué cambia |
|---|---|---|---|
POST /v1/companies/{company}/time-entries/clock-in | public-api.v1.time_entries.clock_in | clock_in | Un empleado de baja no ficha la entrada, ni siquiera el día de su baja. Un instante posterior a la baja sigue respondiendo clocking_outside_employment_period. |
POST /v1/companies/{company}/work-schedules/{schedule}/assign | public-api.v1.work_schedules.assign | assign_work_schedule | No se asigna un horario a un empleado de baja. |
POST /v1/companies/{company}/absence-policies/{absence_policy}/assign | public-api.v1.absence-policies.assign | assign_absence_policy | No se asigna una política a un empleado de baja; con varios empleados no se asigna a ninguno. |
POST /v1/companies/{company}/absence-requests/{absence_request}/approve | public-api.v1.absence-requests.approve | approve_absence_request | Una ausencia que termina después de la fecha de baja no se aprueba y sigue pending. |
POST /v1/companies/{company}/employee-invitations | public-api.v1.employee-invitations.send | send_employee_invitation | No se invita al portal el email de un empleado de baja (param email). |
POST /v1/companies/{company}/employee-invitations/{invitation}/resend | public-api.v1.employee-invitations.resend | resend_employee_invitation | Tampoco se reenvía su invitación. |
GET /v1/companies/{company}/time-balances/team-summary | public-api.v1.time_balances.team_summary | get_team_time_balance_summary | Una fila por empleado de alta algún día del mes, con o sin horario o cuenta del portal. |
Empleado de baja
{
"error": {
"type": "invalid_request_error",
"code": "business_rule_violation",
"subcode": "employee_inactive",
"message": "El empleado está de baja y no puede fichar la entrada. Si sigue trabajando, reactívalo antes.",
"param": "employee_id",
"doc_url": "https://docs.factuarea.com/guides/errors#business_rule_violation",
"request_id": "req_01HKQS5NTIMEEMPINACTIVE03"
}
}Siguen permitidos leer sus datos, sus fichajes y sus ausencias, editar su ficha, apuntar a mano o corregir
los días en que estuvo de alta mientras el mes no esté cerrado (POST /v1/companies/{company}/time-entries/manual),
pausar, reanudar y fichar la salida de una jornada que ya tuviera abierta, cerrar el mes, rechazar o cancelar
sus ausencias y desasignarle un horario o una política. Reactivarlo con
POST /v1/companies/{company}/employees/{employee}/reactivate le devuelve todo. Además, el usuario de su
portal pierde el acceso a esa empresa. Consulta el error.
Qué hacer. Ramifica por error.subcode. Si la persona sigue trabajando, reactívala antes de repetir la
llamada; si una integración vuelca fichajes atrasados de alguien que ya causó baja, envíalos como fichaje
manual de los días en que estuvo de alta.
Resumen de equipo
GET /v1/companies/{company}/time-balances/team-summary lista ahora a todo empleado con algún día de alta en
el mes, los mismos que congela el cierre mensual. Antes solo salían los empleados en activo con un horario
vigente y una cuenta del portal. Sin horario, sus días cuentan 0 minutos previstos y no generan avisos; el
dado de baja dentro del mes aparece con los días hasta su baja. La forma de cada fila no cambia.