Modo Offline y Sincronización
NAOS está diseñado con arquitectura offline-first: puedes seguir vendiendo incluso sin conexión a internet. Cuando la conexión se restablece, todo se sincroniza automáticamente.
Cómo Funciona
Base de Datos Local
La app mantiene una copia local de los datos en SQLite:
- Productos y categorías.
- Clientes.
- Órdenes.
- Consecutivos de facturación.
- Configuración del negocio.
Detección Automática
- La app detecta automáticamente si hay conexión.
- Un indicador visual muestra el estado:
- Verde: Conectado y sincronizado.
- Naranja: Sincronizando datos pendientes.
- Rojo: Sin conexión (modo offline activo).
Vender Sin Internet
Cuando pierdes la conexión:
- Puedes seguir vendiendo normalmente.
- Las órdenes se guardan localmente.
- Las facturas se firman digitalmente (si el certificado está cargado).
- Las facturas quedan en estado “Pendiente” para envío a la DGI.
- Los consecutivos de factura se manejan localmente.
Sincronización
Al Reconectarse
Cuando la conexión vuelve, la app automáticamente:
- Sube las órdenes creadas offline al servidor.
- Envía las facturas pendientes a la DGI vía Aludra.
- Sincroniza consecutivos (solo si el local es mayor al del servidor).
- Descarga actualizaciones de productos, precios y configuración.
Cola de Sincronización
Las operaciones pendientes se procesan en orden:
- Cada operación se reintenta si falla.
- No se pierden datos entre intentos.
- Puedes ver el estado de la cola en los ajustes.
Consecutivos Offline
El manejo de números de factura es crítico para la DGI:
| Escenario | Comportamiento |
|---|---|
| Online | El servidor asigna el siguiente número (con lock) |
| Offline | La app incrementa un consecutivo local |
| Reconexión | Se sincroniza solo si el local es mayor al del servidor |
Resolución de Conflictos
Si un dato fue modificado tanto en el servidor como localmente:
- La app detecta el conflicto durante la sincronización.
- Se presenta una pantalla de Resolución de Conflictos.
- Puedes elegir:
- Mantener versión local (lo que hiciste offline).
- Aceptar versión del servidor (lo que otro dispositivo cambió).
- Una vez resuelto, la sincronización continúa.
Datos Disponibles Offline
| Dato | Disponible Offline | Se Sincroniza |
|---|---|---|
| Productos y precios | Si | Si |
| Clientes | Si | Si |
| Crear órdenes | Si | Si |
| Cobrar ventas | Si | Si |
| Firmar facturas | Si (con certificado) | Si |
| Enviar a DGI | No (requiere internet) | Automático |
| Reportes | Parcial (datos locales) | Si |
| Cierres de caja | Si | Si |
| Actualizar catálogo | No (requiere internet) | Automático |
Buenas Prácticas
- Sincroniza antes de cerrar: Asegúrate de que no haya operaciones pendientes antes de cerrar la app.
- Un terminal por dispositivo: Evita conflictos usando un terminal único por tablet.
- Carga el certificado: Sin certificado, las facturas offline no se pueden firmar.
- Revisa facturas pendientes: Después de un período offline largo, revisa el estado de las facturas en DGI.
¿Problemas de sincronización? Consulta Facturación Electrónica