Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
Lines of code | 862 |
Technical Name |
pos_cashkeeper |
License | LGPL-3 |
Website | https://www.homotec.com |
Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
Lines of code | 862 |
Technical Name |
pos_cashkeeper |
License | LGPL-3 |
Website | https://www.homotec.com |
POS CashKeeper
Integración con Protocolo CKFast
Acerca de CashKeeper
Este módulo permite integrar cajones inteligentes CashKeeper con el sistema POS de Odoo, utilizando el protocolo CKFast para comunicación directa con CKMonitor via sockets TCP/IP.
Modalidades de Instalación
🏢 Odoo On-Premise
Conexión Directa
- Odoo y CKMonitor en la misma red local
- Acceso directo al puerto 16501 de CKMonitor
- Sin necesidad de componentes adicionales
- Latencia mínima, conexión directa
☁️ Odoo Cloud
Con Middleware
- Middleware ejecutándose en servidor local
- Conexión a internet para comunicación con Odoo Cloud
- Polling automático cada 2 segundos
- Monitoreo proactivo de tickets
Componentes del Sistema
- Odoo POS: Sistema principal de punto de venta
- CKMonitor: Software gestor de colas de CashKeeper (debe ejecutarse en Windows)
- CashKeeper: Cajón inteligente para pagos en efectivo
- Protocolo CKFast: Comunicación via sockets TCP/IP en puerto 16501
- Middleware CashKeeper: (Opcional) Proxy para comunicación entre Odoo Cloud y CKMonitor local
Características Principales
- ✅ Protocolo CKFast nativo (TCP/IP)
- ✅ Comunicación directa con CKMonitor (On-Premise)
- ✅ Middleware inteligente para Odoo Cloud
- ✅ Polling automático del estado de pagos
- ✅ Monitoreo proactivo de tickets (Middleware)
- ✅ Manejo robusto de errores y timeouts
- ✅ Reintentos automáticos con backoff exponencial
- ✅ Interfaz intuitiva para configuración
- ✅ Soporte para pagos en efectivo
Descarga del Middleware (Solo para Odoo Cloud)
Para utilizar CashKeeper con Odoo Cloud, descargue el middleware:
🐧 Linux:
- Extraer:
middleware.py
+config.py
- Ejecutar:
python3 middleware.py
🪟 Windows:
- Extraer:
CashKeeper_Middleware_Control.exe
+middleware.py
+config.py
- Ejecutar:
CashKeeper_Middleware_Control.exe
Configuración: Editar config.py
con la URL de su instancia Odoo
Configuración
🏢 Configuración On-Premise (Conexión Directa)
Parámetros de Conexión:
- CKMonitor Host: IP del servidor CKMonitor (127.0.0.1 si está en la misma máquina)
- CKMonitor Port: Puerto de CKMonitor (16501 por defecto)
- Usar Middleware: ❌ Desactivado
☁️ Configuración Cloud (Con Middleware)
Parámetros de Conexión:
- Usar Middleware: ✅ Activado
- CKMonitor Host: (No aplica - gestionado por middleware)
- CKMonitor Port: (No aplica - gestionado por middleware)
Parámetros Opcionales (ambas modalidades):
- ID Caja: Número identificador del punto de venta
- Terminal: Identificador del terminal
- Vendedor: Código del vendedor
- Forma Pago: Identificador del método de pago (por defecto: "efectivo")
Uso en el POS
🏢 Flujo On-Premise
- Abra una sesión POS
- Agregue productos al carrito
- Seleccione el método de pago CashKeeper
- El sistema enviará el comando
CrearTiquet
directamente a CKMonitor - El cliente introduce el efectivo en el cajón CashKeeper
- El pago se completa automáticamente
☁️ Flujo Cloud
- Abra una sesión POS
- Agregue productos al carrito
- Seleccione el método de pago CashKeeper
- El sistema crea una petición de pago en la nube
- El middleware detecta la petición y la procesa automáticamente
- El cliente introduce el efectivo en el cajón CashKeeper
- El middleware detecta el cambio de estado y notifica a Odoo Cloud
- El pago se completa automáticamente
Protocolo CKFast - Detalles Técnicos
Comandos Disponibles
1. CrearTiquet (C):
C|NumTiquet|Importe|ID2|IDCaja|Terminal|Vendedor|FormaPago
2. Estado Tiquet (S):
S|NumTiquet
Respuestas de CKMonitor
Para CrearTiquet:
OK|Added
- Ticket añadido correctamenteNOK Invalid ID
- ID de ticket no válidaNOK Already exists
- ID de ticket ya existente
Para Estado Tiquet:
OK|OK
- Ticket cobrado correctamente ✅OK|Pending
- Ticket pendiente de cobro ⏳OK|Cancel
- Ticket cancelado ❌NOK Not found
- Ticket no encontrado
Requisitos Previos
Comunes
- CKMonitor instalado y ejecutándose en la máquina Windows
- CashKeeper conectado físicamente a la máquina
- Puerto 16501 disponible (puerto por defecto de CKMonitor)
Adicionales para Odoo Cloud
- Servidor local con acceso a CKMonitor y conexión a internet
- Middleware CashKeeper instalado y ejecutándose (incluye todas las dependencias)
Solución de Problemas Comunes
🏢 On-Premise
- Error de conexión: Verificar que CKMonitor esté ejecutándose en puerto 16501
- Timeout: Comprobar firewall y conectividad de red local
☁️ Cloud
- Middleware no responde: Verificar que esté ejecutándose y config.py tenga la URL correcta
- No encuentra pagos: Confirmar "Usar Middleware" activado en método de pago
🔧 Problemas Generales
- "NOK Invalid ID": ID del ticket muy largo o con caracteres especiales
- "NOK Already exists": Reiniciar sesión POS para generar nuevos IDs
- Pago "Pending": Verificar CashKeeper conectado y funcionando
Soporte
Para soporte técnico especifique qué modalidad utiliza (On-Premise o Cloud) y proporcione detalles del error encontrado.
Homotec Servicios Informáticos
www.homotec.com
Compatible con Odoo 18.0 y protocolo CKFast
Please log in to comment on this module