El rol Cajero está diseñado para operar el punto de venta: registrar ventas, emitir tickets y consultar niveles de stock en su sucursal asignada. Cada acción de un CAJERO se restringe automáticamente a suDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Carlos-Gnd/FERRED-Inventario-y-Ventas/llms.txt
Use this file to discover all available pages before exploring further.
sucursalId — no puede leer ni escribir datos de otras sucursales.
Acceso al POS
Las ventas se registran conPOST /api/ventas. El endpoint acepta el carrito, el nombre del cliente y el tipo de pago. El sucursalId del cuerpo debe coincidir con la sucursal del CAJERO, validado por assertSameSucursal.
- Verifica disponibilidad de stock dentro de la transacción
- Crea el registro
facturaDte - Descuenta
stockSucursalpor cada artículo - Dispara el envío del DTE a Hacienda de forma asíncrona
409. La venta no se registra parcialmente.
Consulta de stock
assertSameSucursal garantiza que el CAJERO solo consulte su propia sucursal.
Reimpresión de tickets
sucursal, cajero y clienteNombre.
Estadísticas de ventas
days tiene valor por defecto de 7.
Lo que NO puede hacer
Las siguientes acciones están bloqueadas para el rol CAJERO a nivel de middleware:- Gestionar o ver otros usuarios (
/api/usuarios— solo ADMIN) - Configurar precios de productos (solo ADMIN)
- Ajustar cantidades de inventario (
PATCH /api/inventario/:productoId/ajuste— ADMIN y BODEGA) - Recibir mercancía de proveedores (ADMIN y BODEGA)
- Transferir stock entre sucursales (solo ADMIN)
- Ver stock o datos de ventas de otras sucursales
Credenciales de prueba
| Campo | Valor |
|---|---|
| Correo | cajero@ferred.com |
| Contraseña | cajero123 |
| URL | https://ferred.netlify.app |