Gira la tablet
GOZO TPV solo funciona en horizontal
============================================================ -->

Gira el dispositivo

Esta aplicación está optimizada para pantallas en horizontal.
Por favor, gira tu móvil para usar el TPV.

GOZO TPV
Iniciando
GOZO TPV ya está abierto
La aplicación ya está en uso en otra pestaña o ventana de este dispositivo. Para evitar ventas duplicadas y conflictos de datos, solo puede haber una abierta a la vez.

Cierra esta pestaña, o pulsa "Usar aquí" para traer el TPV a esta ventana (la otra quedará bloqueada).
GastroLab Solutions
Conexión al servidor
Este dispositivo necesita un token para sincronizar con el servidor central. Pídeselo al administrador o pega el que aparezca en otra tablet ya configurada.
El token debe coincidir con el que está en api.php del servidor.
QR de configuración
Escanea este QR con la cámara de otra tablet o móvil para configurarlo automáticamente.

Privacidad: este QR contiene tu token. No lo compartas ni lo dejes a la vista de personas no autorizadas.

Modo: Mostrador
v1.0 En línea
Modificando ticket #—
T
Tarta Selecciona el tamaño
Cobro
Total
0,00 €
Pagado
0,00 €
Pendiente
0,00 €
Pagos registrados
Aún no hay pagos
Bote
Efectivo recibido
0,00 €
Pendiente: 0,00 €
Operaciones
Tickets emitidos HOY
Selecciona un ticket de la lista
Cierre Z PREVIO
Cajero:
Descuento
Base sobre la que aplicar 0,00 €
%
📅 Exportar tickets a PDF
Genera un PDF con todos los tickets del rango. Cada ticket se imprime en formato 80mm completo.
Tipo de tickets
Rangos rápidos
0
Tickets en rango
0,00 €
Importe total
0
Páginas PDF (aprox)
Vista previa de importación
Productos detectados
Caja
Datos
Resumen actual
Servidor central

Cuando hay conexión, todos los cambios se guardan en el servidor (en un fichero data.json). Cualquier dispositivo que abra la app verá los mismos datos. Si te quedas sin internet, sigues cobrando localmente y los cambios se subirán cuando vuelva la conexión y se haga el siguiente cambio.

Token actual: no configurado
El token debe coincidir con el de api.php del servidor.
Archivo de datos en disco (opcional)

Por defecto, los datos viven en el navegador (IndexedDB). Si quieres que TODO se guarde en un archivo .json del disco y se actualice automáticamente con cada cambio (cobro, anulación, Z, movimiento de caja), ancla aquí ese archivo. Es ideal para hacer copias en Drive/Dropbox o tener un backup en directo.

Sin archivo anclado.
Backup manual

Funciona en cualquier navegador. Descarga un .json con todos los datos para guardarlo, enviarlo a la asesoría o restaurarlo más tarde.

📥 Importar tickets desde CSV

Importa tickets desde un archivo CSV de otra aplicación (ej. LastAdmin). Los tickets importados mantienen su numeración original, no entran al cierre Z y aparecen marcados como "IMPORTADO" en el listado. Se detectan duplicados por el número de factura.

🛡 Importar auditoría histórica

Importa el historial de productos eliminados y facturas anuladas exportado desde otra aplicación (ej. Last.app). Los eventos quedan integrados con la auditoría nativa de Gozo TPV y aparecen marcados con la etiqueta "Last.app" en el panel de Control de fraude del backoffice. Se detectan duplicados automáticamente (puedes importar el mismo CSV varias veces sin que se dupliquen los eventos).

🗑 Vaciar tickets importados

Elimina todos los tickets que se hayan importado desde CSV (los marcados como "IMPORTADO"). Los tickets nativos cobrados directamente en Gozo TPV NO se tocan. Útil cuando quieres reimportar un CSV con un parser corregido o limpiar histórico antes de empezar.

NO afecta a: usuarios, catálogo, auditoría, cierres Z, configuración, facturas de proveedores, movimientos de caja, bote.

Requiere PIN de administrador y doble confirmación.

🗑 Vaciar caja (movimientos)

Elimina todos los movimientos de caja: aperturas con fondo, entradas, salidas, propinas del bote. Útil para empezar el día completamente desde cero o tras un reset de pruebas.

NO afecta a: tickets, cierres Z históricos, auditoría, usuarios, catálogo, configuración, facturas de proveedores.

Requiere PIN de administrador y doble confirmación.

📋 Verifactu (registro AEAT)

Integración con verifacti.com para registrar tickets ante la AEAT según el sistema Verifactu (obligatorio desde 2025/2026).

Estado actual del servidor: comprobando…

La configuración (token, NIF, serie, modo) se edita directamente en api.php dentro de $VERIFACTU_CONFIG. Cambia 'mock' => false y rellena 'api_token' cuando tengas credenciales reales de verifacti.com.

⚠ Importante sobre el almacenamiento

Aunque la app trabaja contra IndexedDB del navegador (rápido y transaccional), haz backup regularmente. Si limpias el caché del navegador o pierdes el dispositivo, los datos no recuperados de un .json se perderán. Ancla un archivo o descarga el backup al menos cada cierre Z.

🛑 Zona de peligro

Operaciones irreversibles. Antes de usar cualquiera de estos botones, descarga un backup JSON arriba por si tuvieras que restaurar.

Vaciar tickets: borra el histórico de tickets y facturas.
Vaciar cierres Z: borra el histórico de cierres Z (reinicia el contador a Z #1).
Cerrar caja manualmente: marca la caja como cerrada. La próxima vez que alguien entre se le pedirá el fondo de apertura.
En todos los casos se mantienen movimientos, usuarios, artículos. Queda registrado en auditoría.

Usuarios
Usuarios del sistema

Admin: todos los permisos (Z, configurar impresora, gestionar usuarios, ver backoffice, datos). Caja: solo cobrar y gestionar caja (fondo / entradas / salidas).

⚠ Reglas de seguridad

· Siempre debe haber al menos un admin activo. No se puede borrar ni desactivar el último.
· Los PIN se guardan cifrados (SHA-256), no en texto plano.
· Cada cambio queda registrado en la auditoría.
· Los cambios se sincronizan automáticamente al servidor: el mismo usuario puede entrar en cualquier dispositivo.

Abrir caja
La caja está cerrada. Cuenta el efectivo del cajón e introduce el fondo inicial con el teclado.
150,00 €
Nuevo usuario
Crea un nuevo usuario del sistema
Mínimo 4 dígitos, máximo 6
Artículos
Catálogo · 0 artículos

Cada artículo puede tener uno o varios tamaños con sus precios. Si lo desactivas dejará de aparecer en el TPV, pero los tickets antiguos lo mantendrán intacto.

⚠ Importante

· Los cambios se sincronizan al instante con el resto de dispositivos (cada 8 segundos).
· Si borras un artículo, los tickets antiguos que lo contenían siguen mostrándolo correctamente (precio y nombre del momento del cobro).
· Para retirar temporalmente un producto, mejor desactívalo en lugar de borrarlo.

Nuevo artículo
Aparece en el botón del catálogo
Activa los tamaños que aplican y pon su precio. Para artículos sin tamaño (agua, bolsa…) marca solo "Único".
Facturas
Pulsa “Nueva factura”
Selecciona una factura o crea una nueva.
Impresora

Configuración de impresora Epson / LAN

Personalización del ticket

Logo del ticket
Sin logo
personalizado
Acepta SVG, PNG o JPG. Máximo 500 KB.
Si no eliges ninguno, se usa logo.svg.
80% · ancho real ≈ 38 mm
30%50%70%100%
Imagen final del ticket (QR reseñas, promo…)
Sin imagen
final
Se imprime al final del ticket, debajo del pie. Ideal para el QR de reseñas de Google. SVG, PNG o JPG, máximo 500 KB.
80% · ancho real ≈ 38 mm
30%50%70%100%
La fuente y la cursiva se aplican a la vista previa y a la impresión por navegador/PDF. En la impresión IP directa Epson la fuente es la del papel térmico (no se puede cambiar).
Vista previa en vivo
Se actualiza al instante con cada cambio del formulario, antes incluso de guardar.
Para Epson ePOS, la impresora debe estar en la misma red WiFi/LAN que la tablet o el PC. Si la app está subida en HTTPS y la impresora responde por HTTP, algunos navegadores pueden bloquear la conexión por seguridad. En ese caso usa modo navegador, una app Android nativa/WebView o publica la app en entorno local HTTP dentro de la red.
Ventas Last.app

Consulta de ventas en Last.app

Comprobando conexión…
Operación restringida
Introduce tu PIN para continuar
Motivo obligatorio
Selecciona el motivo de la operación
Ticket emitido