Usuarios, roles y permisos
Cada persona entra a la consola con su usuario y un rol de la empresa: permisos, locales, PIN de supervisor, cierre ciego y auditoría. Las API keys siguen con acceso total.
En la consola (Usuarios y roles) el administrador general invita por correo a las personas que trabajan en su empresa y les asigna un rol. Cada rol es una lista de permisos que el administrador general marca. El invitado sin cuenta la crea desde el enlace del correo (vence en 7 días, un solo uso) y entra directo a la empresa.
Quién puede qué
- Administrador general (quien creó la empresa): todos los permisos, siempre. No es un rol de la lista y no se le puede quitar.
- Miembro: lo que marque su rol. La empresa nace con cuatro roles editables: *Administrador* (todo menos usuarios, API keys y plan), *Cajero* (vender, su caja, cobrar), *Almacenero* (productos, stock y compras, con costos) y *Contador* (ver todo, SIRE y PLE; no emite ni anula).
- El administrador general puede crear sus propios roles, editarlos o borrarlos (si nadie los usa) y restaurar los de por defecto.
Permisos
- Ventas: ver, emitir, anular o dar de baja, cambiar precios y descuentos, cotizaciones.
- Caja: operar su caja (abrir, cerrar, ingresos y retiros); supervisar (cajas de otros, historial, configuración). Cerrar un turno que abrió otra persona es de supervisor.
- Productos e inventario: ver, editar, ver costos y kárdex, mover stock, borrar movimientos.
- Compras, Cuentas por cobrar y pagar, SUNAT (SIRE y PLE) y Empresa (configuración, usuarios y roles, API keys y webhooks, plan).
Controles para tiendas (desde el plan Pro)
- Locales por usuario: cada miembro puede quedar limitado a uno o más locales. Solo ve y opera las cajas de esos locales, y sus ventas, compras y movimientos de stock quedan en ellos (
403 FUERA_DE_LOCALsi intenta otro). - Precios del catálogo: sin el permiso de cambiar precios, solo vende productos del catálogo a su precio y sin descuentos.
- PIN de supervisor: si el rol no alcanza para una acción (anular, cambiar un precio, cerrar una caja ajena), un supervisor pone su PIN en esa misma pantalla y la acción sigue. Cada quien crea su PIN en Mi perfil. Por API: header
X-Facturalo-Autoriza: <id>.<pin>; tras 5 intentos fallidos se bloquea 15 minutos. - Cierre ciego: quien no supervisa cajas cuenta el dinero sin ver el monto esperado ni la diferencia; el reporte X/Z que imprime tampoco los muestra.
- Costos ocultos: sin el permiso de costos, las respuestas de productos e inventario no traen costos ni valorizado.
- Auditoría: cada acción queda registrada con quién la hizo, cuándo, en qué entorno y quién la autorizó con PIN; también los intentos rechazados.
API keys
Las API keys sk_test_ / sk_live_ son para integraciones (tu sistema, tu web, WooCommerce) y tienen acceso total a la empresa: no pasan por roles. Solo las ven el administrador general y quien tenga el permiso de API keys. Si un rol no tiene permiso para una acción, la API de la consola responde 403 con code: "SIN_PERMISO" y el permiso que falta.
Límites por plan
Usuarios (contando al administrador general y a las invitaciones pendientes), locales y cajas: Básico 2 · 1 · 1, Pro 4 · 2 · 2, Negocio 8 · 3 · 5, Enterprise a medida. Al llegar al límite no se puede agregar más; si se baja de plan, nadie queda bloqueado.