---
audiencia: usuario
screen_key: configuracion/usuarios-permisos
titulo: Usuarios, Perfiles y Permisos
aliases:
  - usuarios
  - perfiles
  - roles
  - permisos
  - supervisor
  - pin supervisor
  - asignar caja usuario
  - asignar sucursal usuario
  - alcance por sucursal
  - acceso empresas
  - superadmin
---

# Usuarios, Perfiles y Permisos

Cubre todo lo que está en **Configuración → Usuarios y Permisos**: el alta y administración de **usuarios**, la asignación a **sucursales/cajas**, el acceso a **otras empresas** (para holdings), y la creación de **perfiles** con sus respectivos **permisos por módulo**.

## Dónde está esto en el menú

`Configuración → Usuarios y Permisos → Usuarios`
`Configuración → Usuarios y Permisos → Perfiles y Roles`

## Conceptos generales

El sistema de permisos tiene **dos niveles jerárquicos**: **Módulo → Submódulo → Privilegio**.

- **Usuario**: persona que entra al sistema con un `usuario` y contraseña. Pertenece a una empresa principal y puede tener acceso a otras (holdings).
- **Perfil** = rol. Es un conjunto de **privilegios** (por ejemplo "Cajero", "Administrativo", "Gerente"). Un usuario puede tener **varios perfiles** al mismo tiempo y los privilegios se suman.
- **Módulo raíz**: gran familia funcional (`VENTAS`, `COBRANZAS`, `COMPRAS`, `INVENTARIO`, `CONTABILIDAD`, `TESORERIA`, `RRHH`, `IMPORTACIONES`, `REPORTES`, `ADMINISTRACION`, `FISCAL`, `HOLDING`, `NOTIFICACIONES`).
- **Submódulo**: agrupador funcional dentro de un módulo (por ejemplo `COB_RECIBOS`, `COB_CONFIG_MORA`, `VENTAS_FACTURACION`). Algunos submódulos son **addons** opcionales que se contratan aparte.
- **Privilegio**: acción concreta. Usa el formato `<MODULO>_<RECURSO>_<ACCION>`, por ejemplo `COB_REC_RECIBO_CREAR`, `VEN_FAC_FACTURA_ANULAR`, `COB_CFM_CONFIG_EDITAR`. Acciones típicas: `VER`, `CREAR`, `EDITAR`, `ELIMINAR`, `ANULAR`, `EXPORTAR`, `IMPRIMIR`, `APROBAR`, `PROCESAR`, etc.
- **Perfiles del sistema**: vienen precargados (chip "SISTEMA"). Son plantillas globales (Admin Total, Cajero, Vendedor, Contador, Cobrador, RRHH, etc.). No se editan ni se borran: para personalizarlos hay que **clonarlos**.
- **Perfiles de empresa**: creados por cada empresa (chip "EMPRESA"). Editables / borrables por usuarios con privilegios de administración de perfiles.
- **Alcance por sucursal**: además de los privilegios (qué *puede hacer*), un usuario tiene un alcance (qué *documentos ve*). Lo define la asignación a sucursales (§1.4). Sin asignaciones ve toda la empresa; con al menos una, sólo lo de esas sucursales. Es una dimensión aparte de los perfiles: se puede tener el privilegio de ver facturas y aun así ver sólo las de la propia sucursal.
- **Superadmin**: usuario marcado con `is_superadmin`. Salta la validación de **privilegios** del perfil y también el **alcance por sucursal**, pero NO salta:
  - El **plan de suscripción** (no puede usar módulos no contratados).
  - Las **exclusiones per-empresa** de submódulos (si la admin de la empresa deshabilitó un submódulo, no se puede usar).
- **Holding / Reseller**: empresas tipo `holding` o `reseller` bypasean el chequeo de plan — ven todo el árbol completo para poder administrar a sus empresas hijas.
- **Supervisor**: usuario marcado como `es_supervisor` con un **PIN** corto. Su PIN sirve para autorizar operaciones críticas (apertura/cierre de caja, anulaciones, descuentos por encima del tope, etc.).

---

## 1. Usuarios

### 1.1 Vista de lista

La tabla muestra: **Nombre completo**, **Usuario** (@username), **Email**, **Perfiles** (como chips), **Verificado** (Verificado / Pendiente), **Estado** (Activo / Inactivo) y un chip **Supervisor** cuando aplica.

Acciones por fila:

- **Editar**: abrir el formulario de edición.
- **Activar / Desactivar**: toggle del estado. Un usuario inactivo no puede iniciar sesión.
- **Asignaciones**: abrir el diálogo de sucursales y cajas.
- **Empresas Acceso**: abrir el diálogo de acceso a otras empresas (sólo si la empresa actual es un holding).

### 1.2 Alta de usuario

| Campo | Obligatorio | Reglas |
|---|---|---|
| Usuario | Sí | Mínimo 3 caracteres, único en todo el sistema, **inmutable** una vez creado |
| Nombres | Sí | Nombre real |
| Apellidos | No | |
| Email | No | Si se carga, debe cumplir formato de email |
| Contraseña | Sí | Mínimo 6 caracteres |
| Estado | Sí | Activo (default) / Pendiente / Inactivo |
| Perfiles | Sí | Uno o varios. Los permisos se suman |
| Es supervisor | No | Toggle |
| PIN supervisor | Sí (si Es supervisor) | Confirmación obligatoria |

> El **usuario** (username) **no se puede cambiar** después de creado: queda atado a auditorías de movimientos, sesiones, asientos contables, etc. Si hace falta cambiarlo, se desactiva y se crea uno nuevo.

### 1.3 Edición

- Todos los campos editables menos el username.
- **Contraseña** queda vacía: si se deja en blanco, conserva la actual; si se escribe algo, se reemplaza.
- Cambiar perfiles asignados surte efecto inmediato en la próxima recarga del usuario afectado.

### 1.4 Asignaciones (Sucursal y Caja)

Diálogo aparte para vincular el usuario a una o más sucursales y, opcionalmente, a una caja específica dentro de cada sucursal. Se abre con el ícono de **Asignaciones** (la tienda) en la fila del usuario.

- **Sucursal**: lista las sucursales activas de la empresa. Es obligatoria.
- **Caja**: filtra por sucursal seleccionada. Si se asigna, el cajero verá **sólo esa caja** al abrir el POS. Dejarla en **"Todas las cajas"** es lo normal.
- Se pueden agregar varias filas (un usuario puede ser cajero en varias sucursales). El usuario ve la **unión** de todas.
- Lo cargado aparece abajo, en **Asignaciones actuales**, con el código de punto de establecimiento de cada sucursal.
- Requiere el privilegio `ADM_USR_USUARIO_EDITAR` (submódulo `ADM_USUARIOS`).

> **Esto no es sólo para el POS.** La asignación define **qué documentos ve el usuario en todo el sistema**: facturas, notas de crédito, remisiones, presupuestos, órdenes, compras, pedidos, stock y reportes. Un usuario asignado a una sucursal ve únicamente lo de esa sucursal.

Tres reglas que conviene tener presentes antes de cargar la primera asignación:

- **Sin asignaciones el usuario ve todo.** La restricción se activa recién al cargar la primera. Un usuario sin ninguna asignación sigue viendo la empresa entera — no se queda sin nada.
- **Superadmin, holding y reseller no se restringen nunca.** A un superadmin se le puede asignar una caja para el POS y va a seguir viendo todos los documentos.
- **El catálogo de productos no se recorta.** Un producto es de la empresa, no de una sucursal; lo que sí es por sucursal es su stock. Un usuario restringido ve todos los productos, con el stock medido sobre sus depósitos.

Los **libros de IVA y la liquidación de IVA** son la otra excepción: no se recortan por sucursal, se **bloquean**. Un usuario restringido que los abra recibe un mensaje pidiéndole que se los solicite a alguien con acceso a todas las sucursales — un libro fiscal recortado haría declarar de menos.

El detalle completo, con los casos raros y los problemas frecuentes, está en **`guia-alcance-por-sucursal.md`**.

### 1.5 Empresas Acceso (multi-empresa / holding)

Permite que un usuario que pertenece a la empresa actual entre a otras empresas del mismo grupo (holding/subsidiarias/resellers) sin tener que crear un usuario nuevo en cada una.

- **Empresa**: empresa adicional a la que se le da acceso.
- **Rol** dentro de esa empresa:
  - **admin**: control total (similar a un perfil de admin).
  - **operador**: usuario operativo.
  - **visor**: solo lectura.
- **Activa**: toggle que habilita/inhabilita el acceso sin borrarlo.

Cuando el usuario inicia sesión, el sistema le muestra la lista de empresas a las que tiene acceso y puede **cambiar de contexto** sin re-loguearse.

### 1.6 Verificación y estado

- **Verificado**: indica que el correo electrónico u otro método de verificación se validó. Al crear un usuario desde esta pantalla se marca verificado automáticamente.
- **Estado**:
  - **Activo**: puede iniciar sesión.
  - **Pendiente**: creado pero esperando verificación o activación manual.
  - **Inactivo**: bloqueado para login. Sus permisos no aplican.

### 1.7 Supervisor / PIN

- Toggle **Es supervisor** habilita un campo PIN (con confirmación).
- El PIN se pide cuando una caja con seguridad activada necesita autorización:
  - Apertura de caja (si `requiere_autorizacion_apertura` está ON en la Config POS).
  - Cierre de caja (si `requiere_autorizacion_cierre` está ON).
  - Diferencias de arqueo mayores a la tolerancia.
  - Anulación de comprobantes, descuentos sobre el tope, devolución sin factura, etc.
- Cualquier supervisor activo de la empresa puede autorizar — no tiene que ser uno en particular. Lo que queda registrado es **qué supervisor lo autorizó**.

---

## 2. Perfiles y Roles

### 2.1 Lista de perfiles

Muestra: **Perfil** (nombre), **Descripción**, **Tipo** (chip `SISTEMA` o `EMPRESA`), cantidad de privilegios y usuarios asignados.

- Los perfiles `SISTEMA` aparecen primero. **No se pueden editar ni borrar**. Para customizarlos hay que usar **Clonar** y editar la copia (que queda como perfil `EMPRESA`).
- Los perfiles `EMPRESA` se editan/borran libremente.
- Botón **Cargar perfiles sugeridos**: vuelve a sembrar los perfiles `SISTEMA` base (Admin Total, Cajero POS, Vendedor, Cobrador, Contador, Encargado RRHH, Compras, Inventario) por si la empresa los borró o quedaron desactualizados tras agregar nuevos privilegios al sistema.

### 2.2 Alta de perfil

| Campo | Obligatorio | Detalle |
|---|---|---|
| Nombre del perfil | Sí | Mínimo 3 caracteres. Nombre del rol ("Cajero", "Gerente", "Contador") |
| Descripción | No | Texto libre que explica para qué sirve |
| Privilegios | Sí | Al menos un privilegio marcado |

### 2.3 Editor de privilegios

El editor es la parte clave del alta de perfil. Es un diálogo de **2 columnas**:

**Sidebar izquierdo — Módulos raíz**
- Lista los módulos contratados por la empresa (filtrados por la suscripción).
- Cada módulo muestra el contador "X/Y permisos" (seleccionados / disponibles).
- Buscador global arriba: filtra por módulo, submódulo, código o descripción del privilegio (ignora tildes).

**Panel derecho — Submódulos del módulo activo**
- Cada submódulo aparece como una tarjeta con su **nombre** + chip **Addon** si corresponde.
- Botón **Seleccionar todo** (o **Quitar todos**) por submódulo.
- Lista de privilegios con checkbox y tooltip que muestra el código exacto (`COB_REC_RECIBO_CREAR`, etc.).
- Indicador `seleccionados/total` por submódulo.

**Detalle clave de filtrado**: el editor SOLO muestra módulos y submódulos que la empresa tiene contratados. Concretamente:
- Si la empresa NO tiene el módulo en `suscripcion_modulos.activo=true`, no aparece.
- Si un submódulo es **addon** (`es_addon=true`) y NO está contratado en `suscripcion_submodulos.active=true`, no aparece.
- Si un submódulo no-addon fue **excluido** por la admin (`suscripcion_submodulos.active=false`), no aparece.
- Excepción: empresas tipo `holding` o `reseller` ven el árbol completo para poder administrar a sus hijas.

Esto evita que se marquen privilegios sobre funciones que la empresa no puede usar.

#### Catálogo de módulos y submódulos (referencia rápida)

| Módulo raíz | Submódulos representativos |
|---|---|
| `VENTAS` | `VENTAS_POS`, `VENTAS_FACTURACION`, `VENTAS_NOTAS_CREDITO`, `VENTAS_NOTAS_DEBITO`, `VENTAS_NOTA_REMISION`, `VENTAS_ORDEN_VENTA`, `VENTAS_PEDIDOS`, `VENTAS_PRESUPUESTOS`, `VENTAS_AUTOFACTURA` |
| `COBRANZAS` | `COB_RECIBOS`, `COB_CUENTAS_COBRAR`, `COB_COBRADORES`, `COB_RUTAS`, `COB_ZONAS`, `COB_PROMESAS`, `COB_AUTORIZACIONES`, `COB_CONFIG_MORA`, `COB_REPORTES`, `COB_RENDICIONES`, `COB_COMISIONES`, `COB_ASIGNACION`, `COB_RETENCIONES`, `COB_SALDOS_FAVOR`, `COB_HOJA_RUTA` |
| `COMPRAS` | `COMP_REQUISICIONES`, `COMP_ORDENES`, `COMP_RECEPCIONES`, `COMP_FACTURAS`, `COMP_CUENTAS_PAGAR`, `COMP_ORDEN_PAGO`, `COMP_PROVEEDORES` |
| `INVENTARIO` | `INV_PRODUCTOS`, `INV_STOCK`, `INV_MOVIMIENTOS`, `INV_TRANSFERENCIAS`, `INV_AJUSTES`, `INV_MARCAS`, `INV_CATEGORIAS`, `INV_OFERTAS`, `INV_ATRIBUTOS`, `INV_LISTAS_PRECIOS`, `INV_LOTES`, `INV_CONTEO_FISICO` |
| `TESORERIA` | `TES_CAJAS`, `TES_CUENTAS`, `TES_CHEQUES`, `TES_TRANSFERENCIAS`, `TES_CONCILIACION`, `TES_REPORTES` |
| `CONTABILIDAD` | `CONT_PLAN_CUENTAS`, `CONT_ASIENTOS`, `CONT_MAPEO`, `CONT_CENTROS_COSTO`, `CONT_EJERCICIOS`, `CONT_TIPO_CAMBIO`, `CONT_PERIODOS`, `CONT_REPORTES`, `CONTABILIDAD_CONCILIACION` |
| `RRHH` | `RRHH_EMPLEADOS`, `RRHH_CONCEPTOS`, `RRHH_LIQUIDACIONES`, `RRHH_IPS`, `RRHH_VACACIONES`, `RRHH_NOVEDADES`, `RRHH_ANTICIPOS` (incluye préstamos), `RRHH_DESVINCULACIONES`, `RRHH_MARCACIONES` / `RRHH_TURNOS` / `RRHH_PERMISOS` (presentismo), `RRHH_BANCARIO` (acreditaciones), `RRHH_REPORTES`, `RRHH_VIATICOS` — nota: el prefijo de submódulo es `RRHH_`, no `RH_` (ese prefijo es de los privilegios individuales, ver `guia-rrhh.md`) |
| `IMPORTACIONES` | `IMP_CONFIG`, `IMP_EMBARQUES`, `IMP_COSTOS`, `IMP_DESPACHOS`, `IMP_REPORTES` |
| `REPORTES` | `REP_DASHBOARD_IA`, `REP_ADMIN_FIN`, `REP_FACTURACION`, `REP_COBRANZAS`, `REP_INVENTARIO`, `REP_CONTABILIDAD`, `REP_FISCAL`, `REP_AUDITORIA`, `REP_OPERACION_CREDITO` |
| `ADMINISTRACION` | `ADM_EMPRESAS`, `ADM_SUCURSALES`, `ADM_USUARIOS`, `ADM_PERFILES`, `ADM_MI_SUSCRIPCION`, `ADM_CONFIG`, `ADM_CONFIG_POS`, `ADM_COMPRAS_CFG`, `ADM_MEDIOS_PAGO`, `ADM_BANCOS`, `ADM_TESORERIA_CFG` |
| `FISCAL` | `FIS_BANCARD`, `FIS_MARANGATU`, `FIS_SIFEN` |
| `HOLDING` | `HOL_COMISIONES`, `HOL_COMPROBANTES`, `HOL_METRICAS`, `HOL_PLANES`, `HOL_RESELLERS`, `HOL_RED_EMPRESARIAL` |
| `NOTIFICACIONES` | `NOT_BANDEJA`, `NOT_CONFIG` |
| (Addons especiales) | `REP_AYUDA_IA`, `REP_DASHBOARD_IA`, `COB_PRINT_MOBILE`, `ADM_BOT_MARANGATU`, `RRHH_LIQUIDACIONES_IA` |

> El catálogo exacto depende de los módulos y submódulos contratados en el **plan de suscripción** + addons activos. Si un módulo o submódulo no está disponible para la empresa, simplemente no aparece en el editor.

### 2.4 Privilegios especiales

Algunos submódulos exponen acciones más allá del CRUD básico:

- `COB_AUT_AUTORIZACION_AUTORIZAR` → aprobar/rechazar autorizaciones de descuento.
- `COB_REC_DESCUENTO_APLICAR` → aplicar descuentos libres al cobrar (sin pre-autorización).
- `COB_RND_RENDICION_APROBAR` → aprobar rendición de cobrador.
- `COB_HR_HOJA_RUTA_CERRAR` → cerrar la hoja de ruta del día.
- `COB_COM_LIQUIDACION_PAGAR` → procesar el pago de una liquidación de comisión.
- `VEN_FAC_FACTURA_ANULAR`, `VEN_POS_DESCUENTO` — controlables por supervisor + PIN.
- `RH_LIQ_LIQUIDACION_APROBAR` → pasar la liquidación de PRE_LIQUIDACION a CERRADA (endpoint `POST /:id/cerrar`).
- `ADM_SUSC_SUSCRIPCION_RENOVAR` → subir comprobante de pago de suscripción.
- `ADM_EMPASOC_CAMBIAR_CONTEXTO` → cambiar el contexto activo entre empresas del grupo (holding).
- `VEN_FAC_SIFEN_INUTILIZAR`, `VEN_FAC_SIFEN_EVENTO` → operaciones fiscales avanzadas sobre SIFEN (por tipo de comprobante, ej. `VEN_FAC_*` para factura, `VEN_NC_*` para nota de crédito — viven en el módulo `VENTAS`, no en `FISCAL`).

Todos los privilegios siguen el formato `<MODULO>_<RECURSO>_<ACCION>`. El tooltip de cada checkbox muestra el código exacto.

### 2.5 Clonar perfil

- Botón **Clonar** disponible en el modo edición (incluido sobre perfiles `SISTEMA`).
- Crea una copia con el sufijo "(copia)" en el nombre, marcada como `EMPRESA`, con los mismos privilegios.
- Es la forma estándar de partir desde un perfil del sistema y ajustarlo a la empresa.

### 2.6 Eliminar perfil

- Sólo los perfiles `EMPRESA` se pueden eliminar.
- Pide confirmación.
- Si hay usuarios con ese perfil asignado, antes de borrarlo se debe quitar la asignación de cada uno (o re-asignarlos a otro perfil).

---

## 3. Cómo se aplican los permisos en la pantalla

El sistema hace **tres chequeos** en cascada antes de permitir una acción:

1. **Plan de suscripción (módulo raíz)**: el módulo debe estar contratado en `suscripcion_modulos.activo=true`. Si no, ni siquiera aparece en el sidebar.
2. **Submódulo disponible**: si el submódulo es addon, debe estar contratado (`suscripcion_submodulos.active=true`); si no es addon, no debe estar excluido por la admin (`suscripcion_submodulos.active=false`).
3. **Privilegio del perfil**: el código exacto (`COB_REC_RECIBO_CREAR`, etc.) debe estar marcado en alguno de los perfiles asignados al usuario.

En el frontend:

- `useSubmodulo('CODIGO_SUBMODULO')` → resuelve si la empresa tiene acceso al submódulo (chequeos 1 y 2). Devuelve `{ hasAccess, loading }`.
- `useTienePrivilegio('CODIGO_PRIVILEGIO')` → resuelve si el usuario tiene ese privilegio específico. Devuelve `true | false`.
- `usePrivilegio('CODIGO_PRIVILEGIO')` → versión extendida que además dice de qué módulo proviene y si el usuario es superadmin / holding.

Cuando un usuario no tiene el privilegio "VER" de la pantalla, ve el bloque **"Acceso restringido"** en vez del contenido. Si tiene "VER" pero no "EDITAR" / "CREAR", los formularios aparecen en modo solo lectura y los botones de guardar quedan ocultos.

En el backend cada endpoint usa el decorador `@RequirePrivilegio('CODIGO')`, que dispara un guard que repite los mismos 3 chequeos contra la DB. Es la fuente de verdad: el frontend solo oculta, el backend bloquea.

**Resumen de bypasses**:

| Quién | Bypassea chequeo 1 (plan) | Bypassea chequeo 2 (submódulo) | Bypassea chequeo 3 (privilegio) |
|---|---|---|---|
| Usuario normal | No | No | No |
| Superadmin | No | No (respeta exclusiones) | Sí |
| Empresa holding / reseller | Sí | Sí | (depende del usuario) |

---

## Validaciones (texto que ve el usuario)

- "El usuario es obligatorio".
- "El usuario debe tener al menos 3 caracteres".
- "Ya existe un usuario con ese nombre".
- "La contraseña debe tener al menos 6 caracteres".
- "El email no es válido".
- "El PIN de supervisor no coincide con la confirmación".
- "El nombre del perfil debe tener al menos 3 caracteres".
- "Debe seleccionar al menos un permiso".
- "No puedes editar perfiles del sistema".
- "Acceso restringido — Tu perfil no tiene permiso para esta operación".
- "Alcanzaste el límite de usuarios de tu plan" (al crear).

## Lo que NO se puede hacer

- **No se puede cambiar el username** una vez creado el usuario.
- **No se puede borrar un usuario** con movimientos asociados — se desactiva.
- **No se puede dejar a un usuario sin perfiles**: queda sin acceso a nada útil.
- **No se pueden editar / borrar perfiles del sistema** salvo siendo superadmin.
- **No se puede asignar un perfil que tenga permisos sobre módulos fuera del plan** y esperar que funcionen.
- **No se puede tener** dos usuarios con el mismo `username` en todo el sistema.
- **No se puede usar el PIN de supervisor** si el usuario no está marcado `Es supervisor` y activo.
- **No se puede superar el límite de usuarios** que define el plan.
- **No se puede dejar al supervisor sin PIN** (la confirmación es obligatoria).
- **No hay 2FA** en pantalla de Usuarios — la verificación es por email/código separado del flujo de login estándar.

## Problemas frecuentes

- **"Un usuario no ve un módulo que debería ver"**: 1) revisar que el perfil tenga el privilegio `VER` correspondiente; 2) revisar que el módulo raíz esté en el plan; 3) revisar que el submódulo no esté excluido per-empresa (Configuración → Suscripción → Módulos y addons); 4) el usuario debe **cerrar y volver a abrir sesión** para que los permisos refresquen.
- **"No puedo aprobar el cierre de caja"**: el cajero no es supervisor o no tiene PIN. Marcar el toggle y cargar el PIN, o pedir a un supervisor que autorice.
- **"Me dice que no puedo crear más usuarios"**: alcanzaste el tope que define el plan. Subir de plan o desactivar usuarios viejos.
- **"El usuario nuevo no aparece en POS"**: hay que **asignarlo** a la sucursal/caja desde el botón Asignaciones.
- **"Le asigné una sucursal y ahora no ve facturas"**: revisar que esa sucursal tenga cargado el **punto de establecimiento**. Los comprobantes fiscales se atan por ese código; sin él no hay forma de vincularlos. Ver `guia-alcance-por-sucursal.md`.
- **"Le asigné la sucursal y sigue viendo todo"**: es superadmin, o la empresa es de tipo holding/reseller. Cualquiera de las tres cosas pasa de largo el filtro por sucursal.
- **"Le cambié las asignaciones y no se nota"**: el usuario tiene que recargar la pantalla para que los listados se recalculen.
- **"Olvidé la contraseña"**: ingresar a editar el usuario y cargar una nueva. El propio usuario al iniciar sesión también puede cambiarla desde el flujo de login.
- **"El usuario ve datos de otra empresa"**: revisar Empresas Acceso. Para que no entre, quitar la asignación o ponerla en inactiva.
- **"Cambié un perfil y los usuarios no notan el cambio"**: el cambio aplica al cargar el sistema — pedirles que recarguen la página o cierren sesión.

## Limitaciones actuales

- **No hay 2FA configurable** desde esta pantalla (TOTP / SMS).
- **No hay historial de cambios** por usuario (quién editó qué y cuándo) más allá de los logs internos.
- **No se puede deshacer la clonación** desde la UI — si te equivocaste, hay que borrar la copia y volver a clonar.
- **No hay manejo de sesiones activas** desde acá (no se puede forzar cierre de sesión remota desde Usuarios).
- **No hay políticas configurables** de complejidad / vencimiento de contraseña.
- **No hay grupos / departamentos** que agrupen usuarios para asignaciones masivas.
- **Los permisos son binarios** por acción: no hay condiciones (por ejemplo "puede ver sólo sus propias ventas"). El único recorte de datos disponible es el **alcance por sucursal**, y es por sucursal entera — no por usuario ni por vendedor.
- **La creación de documentos no valida la sucursal** contra el alcance del usuario: el alcance recorta lo que se *ve*, no lo que se *carga*.

## Documentos relacionados

- `guia-alcance-por-sucursal.md` — qué ve cada usuario según sus asignaciones, en todas las pantallas.
- `guia-empresa.md` — alta del plan que habilita módulos.
- `guia-sucursales-cajas-pos.md` — sucursales y cajas a las que se asigna el usuario, configuración de supervisión por caja.
- `guia-apertura-cierre-caja.md` — uso real del PIN de supervisor.
