Xun-POS - Sistema de Punto de Venta
Sistema de Punto de Venta rápido y ligero.
Inicio Rápido
Instalación de Dependencias
Antes de ejecutar el programa, instale las dependencias necesarias:
pip install -r requirements.txt
Ejecutar el Programa
Credenciales por Defecto
- Usuario:
admin
- Contraseña:
password
Nota: Cambie la contraseña después del primer inicio de sesión.
Requisitos
- Sistema Operativo: Linux (Ubuntu, Debian, Fedora, Arch, etc.)
- Python: 3.7 o superior
Para otras dependencias, consulte la sección de Instalación de Dependencias.
Importante: Esta aplicación NO es compatible con Windows.
Características
Módulos Principales
- Punto de Venta (POS) - Interfaz principal de ventas
- Gestión de Productos - Añadir, editar y eliminar productos
- Reportes - Reportes de ventas y flujo de caja
- Configuración - Detalles del negocio y ajustes
Sistema de Usuarios
Administrador:
- Acceso total a todos los módulos
- Gestión de usuarios (crear, eliminar, cambiar contraseñas)
- Acceso a reportes y configuración
Cajero:
- Acceso solo a POS y Productos
- Sin acceso a reportes, configuración o gestión de usuarios
Estructura de Archivos
Xun-POS/
├── login.py # Sistema de autenticación
├── pos_gui.py # Punto de Venta
├── products_gui.py # Gestión de productos
├── reports_gui.py # Reportes
├── settings_gui.py # Configuración
├── productos.csv # Base de datos de productos
├── ventas.csv # Registro de ventas
├── flujo_caja.csv # Registros de flujo de caja
├── .credentials # Usuarios y contraseñas
├── settings.json # Configuración del establecimiento
└── install.sh # Script de instalación
Gestión de Usuarios (Solo Administrador)
Añadir Usuario
- Inicie sesión como administrador
- Seleccione la opción 5: "Añadir Nuevo Usuario"
- Ingrese nombre de usuario y contraseña
- Seleccione el rol (administrador o cajero)
Cambiar Contraseña
- Inicie sesión como administrador
- Seleccione la opción 7: "Cambiar Contraseña"
- Seleccione el usuario
- Ingrese la nueva contraseña
Eliminar Usuario
- Inicie sesión como administrador
- Seleccione la opción 6: "Eliminar Usuario"
- Seleccione el usuario a eliminar
- Confirme la eliminación
Uso Diario
Para Cajeros
- Inicie sesión con credenciales de cajero
- Acceda al POS para realizar ventas
- Gestione el inventario de productos según sea necesario
Para Administradores
- Revise los reportes de ventas diariamente
- Actualice el inventario y los precios
- Gestione usuarios y la configuración del sistema
- Supervise el flujo de caja
Seguridad
- Contraseñas cifradas (PBKDF2 con SHA256)
- Control de acceso basado en roles
- Protección contra la auto-eliminación del usuario activo
- Protección del último usuario administrador
Archivos de Datos
productos.csv
Formato: codigo_barras,nombre,precio,inventario
ventas.csv
Formato: marca_tiempo,codigo_barras,nombre,cantidad,precio_unitario,precio_total
flujo_caja.csv
Formato: marca_tiempo,tipo,monto,concepto
Solución de Problemas
Python no encontrado
# Ubuntu/Debian
sudo apt install python3 python3-tk
# Fedora
sudo dnf install python3 python3-tkinter
# Arch
sudo pacman -S python tk
Error de permisos
tkinter no disponible
# Ubuntu/Debian
sudo apt install python3-tk
# Fedora
sudo dnf install python3-tkinter
Notas
- Los archivos CSV utilizan formato UTF-8
- Las fechas están en formato AAAA-MM-DD (principalmente) o específico de la región
- La interfaz está completamente en español
- Los movimientos de flujo de caja se registran automáticamente con cada venta
Actualización del Sistema
Para conservar los datos al actualizar:
- Realice una copia de seguridad de los archivos .csv, .credentials y settings.json
- Actualice los archivos .py
- Restaure los datos guardados
Soporte
Para problemas o preguntas, consulte el código fuente o contacte al administrador del sistema.
Licencia
Este proyecto está bajo la Licencia MIT. Para más detalles, vea el archivo LICENSE.
Versión: 1.0.0
Última Actualización: Febrero 2026