1 / 15
flechas · espacio · F pantalla completa
Sin internetVendiendo desde el servidor local · 14:31
Venta L1-0042 · $225.743Guardada en el servidor de la tienda · factura solicitada
Al día · 14:5937 ventas en la nube · 11 facturas DIAN emitidas
Presentación a gerencia · 29 de octubre de 2026

El punto de venta que no se detiene cuando se cae el internet

Un servidor pequeño dentro de la tienda del cliente corre el POS con su propia base de datos. Las cajas siempre le hablan a él. Él habla con la nube cuando hay señal y sube todo solo.

3 sem
con 3 desarrolladores dedicados
~2 sem
si entran los 5
0
ventas perdidas o duplicadas
1
sola ruta de venta, la de hoy
NodoTech · Nodo Local · POS offline01 / 15
Lo que pide el cliente

Hoy la caja vive en la nube. Sin internet, la tienda deja de vender.

Hoy, cuando se va la señal
  • La pantalla del POS no carga: no se cobra ni se imprime.
  • El stock, la caja y la factura dependen de la conexión.
  • El cajero anota en papel y alguien digita después. Errores y ventas sin factura.
  • Nadie en NodoTech se entera hasta que el cliente llama.
Lo que exige el cliente grande
  • Una versión del sistema en su servidor local.
  • Que el punto de venta funcione sin internet. Solo el punto de venta.
  • Al volver la señal: subir las ventas, con o sin factura y con los datos del comprador.
  • Resincronizar inventario y lo demás; y que nosotros veamos cómo se comporta.
Lo que pide el cliente02 / 15
La idea en una imagen

«Local primero»: las cajas nunca hablan con internet. Hablan con un servidor en la tienda.

Ese servidor es el que habla con la nube, cada 30 segundos, cuando hay señal. Si no hay, la cola se alarga y nada más. No existe un «modo offline» que se activa el día del corte: el mismo camino se usa todos los días.

La tienda
cajas, tablets e impresoras
  • Las cajas abren el POS en el navegador, en pantalla completa.
  • Impresoras térmicas por la red local, como hoy.
  • Datáfono externo, efectivo y transferencia manual.
Servidor local (Nodo)
una máquina pequeña en la trastienda
  • Corre el mismo POS de NodoTech con su propia base de datos.
  • Guarda cada venta, imprime, abre y cierra caja, descuenta stock. Con o sin internet.
  • Lleva una cola de salida: lo que falta por subir a la nube.
  • Nosotros entramos por un túnel seguro para verlo, sin abrir puertos.
Nube NodoTech
la de hoy, sin cambios para el resto
  • Baja catálogo, precios, stock por sede, clientes y usuarios cada 5 min.
  • Sube ventas, cajas y clientes nuevos, en orden de hora real.
  • Emite la factura electrónica DIAN de las ventas que la pidieron.
  • Panel «Nodos locales» con el estado de cada servidor.
La idea · local primero03 / 15
Caja 1 · pantalla completahttp://pos.local · sin barra de direcciones
Tablet · ícono «Nodo POS»instalado desde el navegador, abre como app
¿App nativa o navegador?

Desde el navegador, con aspecto y comportamiento de app.

El POS es la misma aplicación web de hoy, pero servida por el servidor de la tienda. Cada caja abre Chrome o Edge en modo kiosco: pantalla completa, sin barra de direcciones, con un ícono en el escritorio o en la pantalla de inicio de la tablet. El cajero no distingue si es una app o un navegador.

Lo que ve el cajero
Un ícono «Nodo POS». Lo abre y entra directo a la caja, a pantalla completa. Lector de códigos, impresora térmica y datáfono funcionan igual que hoy. Si una tablet se daña, otra caja entra con el mismo usuario: la venta no vive en la tablet, vive en el servidor.
Por qué navegador
Es el mismo código que corre en la nube: cero reescritura y cero divergencia. No se instala nada caja por caja; actualizar el servidor actualiza todas las cajas. Sirve cualquier PC, tablet Android o iPad que ya tenga el cliente.
Por qué no una app nativa
Una app de escritorio o Android sería otro producto que mantener, instalar y actualizar en cada caja, y no aporta nada que el kiosco no dé. Lo que sí es «nativo» y vive en la tienda es el servidor y el puente de impresión, que ya existe.
Navegador en modo kiosco04 / 15
¿Por qué no se bloquea?

Internet nunca está en el camino de una venta

La venta viaja por cable, no por internet
Caja, red local, servidor en la misma sala. Milisegundos. Haya o no señal, la respuesta llega igual porque nadie le pregunta a la nube para cobrar.
La nube espera; la caja nunca
Un proceso aparte, el sincronizador, toma la cola y la sube cuando puede. La venta se guarda primero y se sube después. Si la nube tarda o no responde, la caja ni se entera.
Todo lo que la pantalla necesita está en el servidor
Código, letras, íconos, catálogo, precios y usuarios se bajan antes y viven en la tienda. Al abrir la caja no se descarga nada de internet. Las fotos de productos se reemplazan por la inicial del nombre.
Si se va la luz
El servidor y el switch van en UPS. Si el servidor se reinicia, la cola está en disco, en su base de datos, y el sincronizador retoma solo. No hay nada en memoria que se pierda.
Sin duplicados ni pérdidas
Cada venta lleva una llave única que la nube ya reconoce hoy. Si la señal se corta a mitad de la subida, al reintentar la nube responde «ya la tengo» y sigue con la siguiente.
Varias cajas, un solo estado
Stock, consecutivo, sesiones de caja y clientes viven en el servidor, no en cada tablet. Dos cajas vendiendo el mismo producto sin internet ven el mismo inventario.
14:30 cae el internet · indicador ámbar · la caja sigue vendiendo 14:58 vuelve la señal · «Sincronizando 37 ventas» 14:59 al día · facturas emitidas · stock real de vuelta en la tienda
Por qué no se bloquea05 / 15
Véalo funcionar

Simulación en vivo: corte el internet y mire qué pasa

Al día
Caja 1
esperando venta
Caja 2
esperando venta
ventas del turno
0
todas guardadas e impresas, con o sin señal
Servidor local
base de datos de la tienda
en cola para subir
0
stock local
1.240
Nube NodoTech
lo que ve gerencia
ventas recibidas
0
facturas DIAN
0
Cada venta llega por la misma función del mostrador. La nube asigna el número oficial, emite la factura si la pidieron y actualiza el inventario.
Simulación · ventas cada 1,6 s · subida cada 0,5 s con señal06 / 15
Alcance · solo el punto de venta

Qué funciona sin internet y qué se apaga con aviso, nunca en silencio

Funciona sin internet
  • Vender en mostrador: carrito, variantes, presentaciones, modificadores, listas de precios por cliente y promociones ya bajadas.
  • Cobrar en efectivo, datáfono externo, transferencia registrada a mano y pagos mixtos.
  • Pedir factura: NIT o cédula, nombre y correo en la misma pantalla fiscal de hoy. La regla de 5 UVT se valida igual.
  • Imprimir el ticket por la red local.
  • Caja: abrir y cerrar turno, arqueo, ingresos y retiros de efectivo.
  • Clientes: buscar y crear. Descuentos con PIN. Borradores de venta. Ventas del día y cierre de la sede.
  • Stock por sede con el último valor bajado; se descuenta localmente al vender.
Necesita internet · botón apagado con mensaje
  • Factura electrónica DIAN: se emite en la nube al sincronizar y le llega al comprador por correo. El ticket dice «comprobante provisional».
  • Links y QR de pago (Wompi, ePayco, Bre-B dinámico).
  • Devoluciones y notas crédito: solo en línea y sobre ventas ya sincronizadas.
  • Pedidos del menú público, bot y bandeja; domicilios y rutas.
  • Edición de catálogo y precios: solo en la nube. El servidor local es de lectura para el catálogo.
  • Reportes consolidados y los demás módulos: CRM, ERP, nómina, marketing, IA.
  • Transferencias entre sedes y fotos de productos (se muestra la inicial).
Decisión para el contador del cliente: una venta hecha el lunes sin señal se factura electrónicamente el martes al sincronizar, con la fecha del martes ante la DIAN y la fecha real en el ticket y en los reportes. Si exigen fecha de emisión igual a la de venta, la alternativa es el documento equivalente POS por contingencia, que cambia el alcance fiscal.
Alcance offline07 / 15
TIENDA CENTRO · CAJA 1 COMPROBANTE PROVISIONAL L1-0042
29/10/2026 14:32 · Cajera: Andrea
2 x Camiseta básica M59.800
1 x Jean slim 32129.900
SUBTOTAL189.700
IVA 19%36.043
TOTAL225.743
Efectivo 250.000Cambio 24.257
Cliente: Juan Pérez · CC 1.020.xxx
Sin conexión al emitir. Su factura electrónica DIAN se genera al restablecer la señal y llega a juan@correo.com
Cómo se vive desde la caja

Una venta sin internet, paso a paso

Nada cambia para el cajero. Lo único nuevo es un indicador de color en la barra superior.

01
Se cae el internet
Indicador ámbar: «Vendiendo desde el servidor local». El cajero no hace nada distinto.
02
Vende como siempre
Productos, precios, promociones y stock del último catálogo bajado, de máximo 5 minutos atrás.
03
Cobra
Efectivo o datáfono. Si intenta un link de pago, el botón está apagado y explica por qué.
04
«¿Factura?»
Si la piden, captura NIT o cédula, nombre y correo. Viajan dentro de la venta. Si no, consumidor final.
05
Se guarda en la tienda
El servidor local registra la venta, descuenta stock, anota en caja y la deja en la cola con número provisional L1-0042.
06
Imprime
Ticket por la impresora de red: «comprobante provisional» y, si pidió factura, «llegará a su correo».
07
Vuelve la señal
Azul «Sincronizando 37 ventas», luego verde «Al día». La nube facturó lo pedido y devolvió el stock real.
Experiencia en caja08 / 15
Al volver la señal

Sincronización en orden, con reglas claras cuando los datos no cuadran

El ciclo del sincronizador, cada 30 s
  • 1 · ¿Hay señal? Pregunta a la nube con 3 s de espera máxima.
  • 2 · Sesiones de caja pendientes: aperturas y movimientos.
  • 3 · Ventas en orden de hora real, una por una, por la función del mostrador con su llave única.
  • 4 · Cierres de caja, después de sus ventas.
  • 5 · Catálogo y stock desde la última marca de tiempo.
  • 6 · Latido a la nube: pendientes, versión, hora, disco.
Por cada venta, la nube asigna el consecutivo oficial V-XXXX, emite la pre-factura y la factura electrónica si el negocio la tiene activa, suma puntos y actualiza el inventario. El servidor local guarda el número oficial junto al provisional.
Conflictos y cómo se resuelven
CasoRegla
Otro canal agotó el producto en la nubeLa venta física ya ocurrió: la nube la acepta, deja el stock negativo y crea una alerta de sobreventa para el administrador.
Cambió el precio durante el corteSe respeta el precio cobrado, igual que hoy con los pedidos del menú. El nuevo precio baja al servidor en el siguiente ciclo.
Cliente creado en la tienda y en la nubeSe enlaza por documento o teléfono y se reporta el posible duplicado. Nunca bloquea la venta.
La nube rechaza una ventaQueda marcada con su causa, la cola sigue con las demás, se reintenta con espera creciente y aparece en el panel. Ninguna venta se descarta sola.
Servidor con versión viejaEl latido lleva la versión; si no coincide, la nube rechaza la subida y el panel pide actualizar. Las ventas esperan en cola.
Sincronización09 / 15
Nodos localesactualizado hace 12 s
Tienda Centro
v1.42 · 2 cajas
al día 14:590 pendientesOK
Tienda Norte
v1.42 · 3 cajas
sin señal 12 min37 pendientesVENDIENDO LOCAL
Outlet Sur
v1.42 · 1 caja
sincronizando6 pendientesSUBIENDO
Bodega
v1.41 · 1 caja
sin latido 2 h2 fallidasREVISAR
Cómo lo vemos nosotros

Una base que podemos mirar y un panel que nos avisa antes de que el cliente llame

La base del cliente, visible
Dos tablas en el servidor local muestran cada venta pendiente, subida o fallida con su causa, y cada ciclo de sincronización con su duración. Un usuario de solo lectura para diagnóstico.
Panel «Nodos locales»
En el dashboard interno: semáforo por servidor, último latido, ventas pendientes, versión, errores y botón «reintentar».
Alertas al equipo
Telegram si un servidor lleva 15 min sin latido con la tienda abierta, o si hay ventas pendientes más de 1 hora con señal.
Acceso seguro, sin abrir puertos
Túnel privado al servidor del cliente. Actualizamos, respaldamos y diagnosticamos desde nuestro escritorio en menos de 5 minutos.
Observabilidad10 / 15
Plan de trabajo

3 semanas, 3 desarrolladores, tres carriles en paralelo

15 días hábilesmismo alcance completocon 5 devs: día 10
Semana 1 · cimientos
Semana 2 · integración
Semana 3 · caos e instalación
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
Dev 1 · Nubebackend que recibe
Venta acepta id, hora real y sesión · consecutivo · stock negativo
Bajada de catálogo · latido · credencial de nodo
Factura al sincronizar · alertas
Caos y correcciones · soporte al piloto
Dev 2 · Nodoservidor local
Modo nodo · Docker · Postgres local · cola de salida
Sincronizador: subida en orden, reintentos, bajada, estado
Instalador
Caos · carga 30/min
Instalación cliente
Dev 3 · Frontendla pantalla de caja
API relativa · detección de nodo · indicador
Ticket provisional · botones apagados · pendientes
Panel «Nodos locales»
QA 2 cajas + impresora
Capacitación
Dirección · infracliente y servidor
Cliente · hardware · fiscal
PoC
Servidor del cliente · túnel · red
Acompañamiento piloto
Hitos
PoC: 1 venta
de punta a punta
Demo interna
con corte real
Nodo vendiendo
en sede piloto
Día 15: el servidor queda instalado y vendiendo en la sede piloto. Las dos semanas siguientes son acompañamiento de operación, no desarrollo: cierres de caja comparados a diario hasta cumplir el criterio de aceptación. Si arranca el martes 3 de noviembre, el día 15 cae el 24 de noviembre (festivos 2 y 16 de noviembre).
Plan · 3 semanas · 3 devs11 / 15
2 sem
Con los 5 desarrolladoresmisma entrega, nodo instalado el día 10
3 sem
Con 3 desarrolladores2,5 a 3 semanas, nodo instalado el día 15
Alcance idéntico en ambos casos11 cambios de código · 10 escenarios de caos · panel · alertas · piloto
Por qué cabe en 3 semanas sin recortar nada

Mismo alcance, otra forma de organizar el trabajo

Tres carriles a la vez
Nube, servidor local y pantalla avanzan en paralelo desde el día 1 y se encuentran en la demo del día 10. Antes eran dos personas en fases una tras otra.
Observabilidad y empaquetado dentro de cada carril
El panel, las alertas, el instalador y los respaldos los hace quien construye cada pieza, no una fase aparte al final.
Descubrimiento en paralelo, no antes
Las preguntas al cliente y el hardware se resuelven en los días 1 y 2 mientras el código ya avanza. La prueba de concepto del día 3 confirma la ruta.
Con 5: QA y panel desde el día 1
Un cuarto dev automatiza los escenarios de caos y la carga desde el inicio; un quinto toma panel, alertas e instalador. La ruta crítica queda en nube más sincronizador: por eso son 2 semanas y no menos.
Por qué 3 semanas12 / 15
Pruebas de caos y criterios de aceptación

No se entrega hasta que estos diez escenarios pasen

01Se desconecta el cable a mitad de una venta. Se guarda completa o no se guarda; el cajero lo ve en menos de 3 s.
02Tres días sin internet, 900 ventas en dos cajas. Todo sube en orden; cierres idénticos en tienda y nube.
03Se corta la señal a mitad de la subida. Al volver, nada se duplica y lo demás continúa.
04Otro canal agotó el producto en la nube. La venta entra, stock negativo y alerta de sobreventa.
05Cambio de precio durante el corte. Sube con el precio cobrado; el nuevo baja en el siguiente ciclo.
06Venta con factura solicitada sin internet. Al sincronizar se emite la factura DIAN y llega el correo.
07Venta mayor a 5 UVT sin datos fiscales. El servidor local la rechaza con el mismo mensaje que la nube.
08Reloj del servidor adelantado 2 horas. El latido lo reporta, el panel alerta y las horas se corrigen.
09Servidor con versión vieja intenta subir. La nube rechaza, el panel pide actualizar, las ventas esperan.
10Se reinicia el servidor con ventas en cola. La cola está intacta y el sincronizador retoma solo.
Criterio principal
Durante el piloto, 10 días seguidos el cierre de caja de la tienda y el de la nube coinciden al peso, con al menos tres cortes de internet provocados.
Criterio de velocidad
Con señal, una venta aparece en la nube en menos de 60 s. Tras un corte, la resincronización absorbe al menos 30 ventas por minuto. Se mide en la semana 3; si no se logra, se sube en paralelo por caja.
Criterio de operación
Un dev de NodoTech diagnostica cualquier servidor desde su escritorio en menos de 5 min, por el túnel y el panel, sin pedirle nada al cliente.
Pruebas13 / 15
Qué necesitamos para arrancar

Tres decisiones del cliente, tres de la gerencia

Del cliente
  • Un servidor por sede: 4 núcleos, 8 GB, SSD de 100 GB, Ubuntu 24.04, con UPS. ¿Lo compra él o lo provee NodoTech con el servicio?
  • Fecha fiscal: ¿su contador acepta que la factura de una venta offline salga con la fecha de la sincronización?
  • Devoluciones sin internet: fuera de esta versión. ¿Lo acepta o las necesita desde el día uno?
De la gerencia
  • Equipo dedicado: 3 desarrolladores durante 3 semanas, sin compartirlos con otro frente. O los 5 durante 2.
  • Fecha de arranque: con ella se fijan los hitos del día 3, 10 y 15 en el calendario.
  • Precio del servicio: el nodo local es un producto nuevo (instalación, hardware opcional, soporte remoto). Conviene cotizarlo aparte del plan.
Riesgo que medimos primero
Velocidad de la nube al recibir cientos de ventas seguidas. Se mide el día 3 con la prueba de concepto, antes de prometer tiempos.
Seguridad
Solo usuarios de ese negocio en el servidor, disco cifrado y credencial propia por servidor, revocable desde el panel.
Decisiones14 / 15
Lunes 14:30 · se va el internetLa tienda sigue vendiendo
Lunes 14:58 · vuelve37 ventas suben solas en 1 minuto
Lunes 14:59 · al díaFacturas emitidas, inventario real, nadie llamó a soporte
Lo que le decimos al cliente

Su punto de venta corre en un servidor dentro de su tienda. Si se va el internet, sigue vendiendo, imprimiendo y cerrando caja. Cuando vuelve, todo sube solo a la nube, se emiten las facturas que sus clientes pidieron y el inventario queda al día. Nosotros vemos el estado de cada servidor desde NodoTech y le avisamos antes de que usted note algo.

Hoy: aprobar el diseño y el equipo Mañana: tres preguntas al cliente Día 1: arranque · día 3: PoC · día 10: demo · día 15: piloto
NodoTech · Nodo Local · POS offline15 / 15