Temas
Selecciona un modulo para leer su procedimiento.
Consultar precios y vender cuando se corta internet
El modo offline conserva en el dispositivo un catalogo autorizado de productos, precios y clientes. Si se interrumpe la conexion, permite consultar esos precios, preparar ventas y guardarlas en una cola local. Al recuperar internet, cada venta se envia al sistema con controles que evitan duplicarla aunque haya reintentos.
Preparacion obligatoria
La PWA no puede inventar un catalogo durante el corte. Antes de trabajar sin internet hay que habilitar el modulo, iniciar sesion y abrir el sistema al menos una vez con conexion en ese mismo dispositivo y usuario. Esto actualiza productos, precios permitidos y clientes disponibles.
1. Habilitar y preparar la PWA
- En Empresa / Configuracion, habilitar ¿Habilita offline? con el permiso correspondiente.
- Ingresar con el usuario que utilizara el dispositivo. El catalogo respeta sus permisos de precios y clientes.
- Para habilitar el acceso protegido sin sesion, ese usuario debe completar al menos un inicio de sesion correcto con internet en el dispositivo. La credencial offline se renueva con cada login valido y vence a las 24 horas.
- Abrir normalmente el sistema con internet y esperar a que termine de cargar la pantalla.
- Abrir Venta offline y verificar que indique cantidad de productos y fecha de actualizacion.
- Instalar la PWA desde el navegador si se utilizara como aplicacion. No usar navegacion privada o incognito.
2. Que informacion queda disponible
- Productos activos y habilitados para punto de venta, incluso si no tienen stock, para poder consultar igualmente su precio.
- Codigo, nombre, stock de referencia y listas de precios que el usuario tiene permiso de consultar.
- Si la empresa controla stock y el articulo lo descuenta, la pantalla no permite agregar mas que la existencia conocida. El servidor vuelve a controlar el stock real al sincronizar.
- Clientes activos visibles para ese usuario, incluido Consumidor Final cuando corresponde.
- La fecha del catalogo siempre debe revisarse: durante el corte los cambios realizados desde otros equipos todavia no se conocen.
- El catalogo principal se guarda en IndexedDB, que soporta mas informacion y es mas resistente que localStorage.
3. Consultar un precio sin internet
- Abrir la PWA o la pantalla Venta offline.
- Si el dispositivo ya fue preparado y se intenta abrir /login sin internet, el sistema redirige automaticamente a Venta offline. Con conexion, el login tambien muestra un acceso directo.
- Si la sesion estaba activa al producirse el corte, Venta offline abre directamente. Si no habia sesion, solicita el mismo usuario y contrasena que fueron validados previamente en linea.
- Buscar por nombre o codigo usando el buscador de la tabla.
- Leer las columnas habilitadas: minorista, mayorista, oferta u otras listas autorizadas.
- Revisar la fecha de actualizacion antes de informar el precio al cliente.
- Al recuperar conexion, abrir el sistema para renovar el catalogo con precios y stock actuales.
4. Registrar una venta durante el corte
- Elegir cliente. Los clientes que sincronizan otra base de sucursal requieren conexion y no se ofrecen en este circuito.
- Buscar cada producto y presionar Agregar debajo del precio acordado.
- Indicar cantidad. La pantalla controla el stock conocido por el catalogo local.
- Revisar cantidades, lista de precio, subtotales y total.
- Presionar Finalizar venta y confirmar.
- La venta desaparece del borrador y aparece en Ventas pendientes. En ese momento ya esta protegida en el almacenamiento del dispositivo.
Comprobante y cobro
La venta offline se sincroniza como Recibo X y queda pendiente de cobro. Las facturas fiscales, Mercado Pago QR, cuenta corriente y otros circuitos que necesitan validacion o servicios en linea deben completarse luego desde el sistema conectado.
5. Que ocurre al recuperar internet
- Con la PWA abierta, la sincronizacion comienza automaticamente al detectar conexion.
- Al terminar el intento aparece Conexion restaurada. Si todo se sincronizo, elegir Volver al sistema. Si quedan ventas pendientes, el aviso indica que hay que iniciar sesion o seleccionar una caja antes de reintentar.
- Tambien se puede presionar Sincronizar pendientes o sincronizar una venta individual.
- Si la aplicacion estaba cerrada y el navegador no ejecuto sincronizacion en segundo plano, abrirla nuevamente; la cola sigue guardada y se reintenta.
- Si la sesion vencio, iniciar sesion con el mismo usuario, seleccionar una caja abierta y volver a sincronizar.
- La venta solo sale de pendientes cuando el servidor confirma que fue registrada.
6. Protecciones incorporadas
- Cada venta recibe un UUID unico. Si la respuesta se pierde despues de guardar, el reintento devuelve la misma venta y no crea otra.
- Los precios del catalogo llevan una firma vinculada al usuario, empresa, producto y lista. Un valor modificado en el almacenamiento local es rechazado.
- La contrasena nunca se guarda. El dispositivo conserva solamente un verificador PBKDF2-SHA256 con sal aleatoria, vinculado al usuario y empresa.
- Despues de 5 credenciales offline incorrectas, el acceso se bloquea durante 5 minutos.
- Un usuario que nunca inicio sesion correctamente con internet en ese dispositivo no puede habilitarse a si mismo durante un corte.
- Al sincronizar, los productos se bloquean durante la operacion para controlar stock de forma consistente.
- Si otro dispositivo consumio el stock disponible, la venta queda pendiente con el detalle del conflicto; no genera stock negativo silenciosamente.
- La fecha original offline queda registrada separadamente de la fecha de sincronizacion.
- Un borrador y una venta finalizada se almacenan por separado: agregar productos no crea ventas duplicadas.
7. Estados y resolucion de errores
| Estado o mensaje | Accion recomendada |
|---|---|
| Pendiente | La venta esta segura y espera conexion o un nuevo intento. |
| Inicia sesion / selecciona caja | Volver al sistema, autenticar el mismo usuario, elegir una caja abierta y sincronizar. |
| Stock insuficiente | Revisar el producto con el stock actual; corregir la operacion en linea antes de volver a registrarla. |
| Precio no valido | Actualizar el catalogo con el mismo usuario. No modificar manualmente los datos locales. |
| Cliente no disponible | Elegir un cliente activo y autorizado desde el sistema conectado. |
| Conexion interrumpida | No repetir la venta: dejarla pendiente y reintentar. El UUID evita duplicados. |
| ERR_FAILED / no se puede acceder | Recuperar conexion una vez, abrir el sistema y recargar para completar la instalacion offline. Las actualizaciones nuevas no reemplazan una cache anterior hasta comprobar todos los archivos esenciales. |
No borrar los datos del navegador
- No limpiar datos del sitio, IndexedDB, cookies o almacenamiento mientras existan ventas pendientes.
- No desinstalar la PWA antes de confirmar que el contador de pendientes sea cero.
- No usar varios usuarios en el mismo dispositivo para intentar sincronizar la misma cola.
- Antes de cerrar una caja, revisar y sincronizar las ventas offline pendientes de sus dispositivos.