# Roles y permisos ## ¿Qué es un rol? Un **conjunto de permisos** que se asigna a uno o varios usuarios. Define qué pueden hacer. ## Acceso Menú → **Usuarios → Roles** ## Roles predefinidos | Rol | Pensado para | Acceso | |-----|--------------|--------| | **Administrador** | Dueño / Gerente | Todo | | **Encargado de sucursal** | Manager de local | Casi todo en su sucursal | | **Vendedor / Cajero** | Atención al público | POS y ventas propias | | **Compras** | Encargado de compras | Compras, proveedores, stock | | **Contabilidad** | Contador externo | Reportes, contabilidad, sin POS | | **Solo lectura** | Auditoría / Análisis | Ver todo, sin escribir | ## Crear un rol personalizado **Roles → Nuevo rol** 1. **Nombre del rol** 2. **Descripción** 3. Marcar los permisos que tendrá ## Lista de permisos disponibles Hay ~150 permisos granulares organizados por módulo: ### Ventas - `sell.view` (ver ventas) - `sell.create` (crear ventas) - `sell.update` (modificar ventas existentes) - `sell.delete` (anular ventas) - `sell.discount` (aplicar descuentos) - `sell.modify_price` (cambiar precio en POS) - etc. ### Compras - `purchase.view`, `purchase.create`, `purchase.update`, `purchase.delete` ### Productos - `product.view`, `product.create`, `product.update`, `product.delete` - `product.view_cost` (ver costo - sensible) - `product.bulk_update` (actualización masiva) ### Stock - `stock.view`, `stock.transfer`, `stock.adjust` ### Caja - `cash.open`, `cash.close` - `cash.transfer_between` (transferir entre cajas) ### Reportes - `report.sales`, `report.purchases`, `report.profit`, `report.tax`, etc. ### Configuración - `settings.business`, `settings.users`, `settings.fiscal` ## Modificar permisos de un rol Roles → editar → tildar/destildar permisos → Guardar. **Cambios se aplican inmediatamente** a todos los usuarios con ese rol (deben recargar página o relogin). ## Permisos sensibles Cuidá especialmente: - ❗ `sell.delete` (anular ventas) - ❗ `product.view_cost` (ver márgenes) - ❗ `settings.fiscal` (modificar config DGI) - ❗ `cash.transfer_between` (mover dinero) - ❗ `user.delete` (eliminar usuarios) Solo darlos a personas de confianza. ## Combo común para Vendedor ``` ✅ sell.view (solo las propias) ✅ sell.create ✅ sell.add_payment ✅ contact.view ✅ contact.create (clientes nuevos al vuelo) ✅ product.view (sin ver costo) ❌ sell.modify_price ❌ sell.discount (o con límite hasta 10%) ❌ sell.delete ❌ todo lo demás ```