{{ dbOk===null?'⟳ conectando...':'✕ sin DB (local)' }}
TICKET
HISTORIAL
RESUMEN
CONFIG
TICKET #{{ currentTicketNum }}
Datos del pedido
PLATAFORMA
{{ p.nombre }}
Agregar producto
SELECCIONAR PRODUCTO
{{ item.nombre }} — ${{ comisionActual>0 ? precioAjustado(item.precio) : item.precio }}{{ comisionActual>0 ? ' (base $'+item.precio+')' : '' }}
+ AGREGAR AL TICKET
{{ platform||'—' }}
{{ nombre||'—' }}
Ticket #{{ currentTicketNum }} · {{ now }}
+{{ comisionActual }}% comisión aplicada
Sin productos aún
x{{ item.qty }}
{{ item.nombre }}
${{ item.precio*item.qty }}
−
{{ item.qty }}
+
↳ {{ item.note }}
Envío
${{ envio }}
TOTAL
${{ totalConEnvio.toFixed(2) }}
BORRAR
NUEVO TICKET
GUARDAR
VER
HOY
MES
{{ historialDateLabel }}
{{ todayTickets.length }} {{ historialEsMes ? 'tickets este mes' : 'tickets' }}
Total: ${{ historialDayTotal }}
Todas
{{ p.nombre }}
Cargando...
Sin tickets para este día
#{{ t.number }}
{{ t.platform }}
{{ t.nombre }} · {{ formatTime(t.time) }}
x{{ item.qty }}
{{ item.nombre||item.name }}
—
{{ item.note }}
Envío: ${{ t.envio }}
Total: ${{ t.total }}
Reimprimir
📲 WA
✏️
✕
Consultar fecha
VER
HOY
MES
{{ resumenDateLabel }}
Cargando...
Total
${{ resumenTotal }}
Tickets
{{ resumenTickets.length }}
Prom.
${{ resumenAvg }}
Por plataforma
{{ plat }}
{{ val.count }} tickets
${{ val.total }}
Sin datos
Historial semanal
Sin datos
{{ d.label }}
{{ d.count }} tickets
${{ d.total }}
Productos más vendidos
Sin datos
{{ i+1 }}.
{{ p.name }}
x{{ p.qty }}
${{ p.total }}
PRODUCTOS
PLATAFORMAS
NEGOCIO
GASTOS
{{ editingProd?'Editar producto':'Agregar producto' }}
{{ editingProd?'ACTUALIZAR':'+ AGREGAR' }}
CANCELAR
{{ prodMsg }}
Lista ({{ menu.length }} activos)
Cargando...
{{ item.nombre }}
{{ item.categoria }}
${{ item.precio }}
✏️
✕
{{ editingPlat?'Editar plataforma':'Agregar plataforma' }}
% Comisión:
Los precios se ajustarán al seleccionar esta plataforma
Color:
{{ formPlat.nombre||'vista previa' }}
{{ editingPlat?'ACTUALIZAR':'+ AGREGAR' }}
CANCELAR
{{ platMsg }}
Plataformas activas
Cargando...
{{ p.nombre }}
{{ p.comision>0 ? p.comision+'% comisión' : 'Sin comisión' }}
✏️
✕
Información del negocio
Nombre
URL del Logo
Dirección
Teléfono
Redes sociales
Pie de ticket
GUARDAR CONFIGURACIÓN
{{ configMsg }}
Vista previa ticket
{{ formConfig.negocio_nombre }}
{{ formConfig.negocio_direccion }}
{{ formConfig.negocio_telefono }}
{{ formConfig.ticket_pie }}
REGISTRO
RESUMEN
{{ editingGasto?'Editar gasto':'Nuevo gasto' }}
📷 Toca para agregar foto del ticket
✕
⟳ Optimizando imagen...
{{ editingGasto?'ACTUALIZAR':'GUARDAR GASTO' }}
CANCELAR
{{ gastoMsg }}
Buscar por fecha
VER
HOY
Cargando...
Sin gastos para esta fecha
{{ gastosList.length }} gastos
Total: ${{ gastosListTotal }}
🧾
{{ g.nombre }}
Cant: {{ g.cantidad }} · {{ formatTime(g.gasto_time) }}
📂 {{ g.categoria }}
{{ g.comentario }}
${{ parseFloat(g.costo).toFixed(2) }}
✏️
✕
⬇ DESCARGAR EXCEL (.xlsx)
Cargando...
Este mes
${{ parseFloat(gastosResumenMes.total).toFixed(2) }}
{{ gastosResumenMes.count }} gastos registrados
Sin datos este mes
Últimos 30 días
Sin datos
{{ formatDate(d.gasto_date) }}
{{ d.count }} gastos
${{ parseFloat(d.total).toFixed(2) }}
Por mes
Sin datos
{{ m.mes }}
{{ m.count }} gastos
${{ parseFloat(m.total).toFixed(2) }}
⬇ DESCARGAR MES ACTUAL (.xlsx)
🔍
✕
{{ searchResults.tickets.length + searchResults.gastos.length + searchResults.productos.length }} resultado(s) para "{{ searchQ }}"
🔍
Escribe al menos 2 caracteres
Busca por nombre de cliente, plataforma, producto o gasto
⟳
Buscando...
😕
Sin resultados para
"{{ searchQ }}"
🧾 Tickets
{{ searchResults.tickets.length }}
#{{ t.ticket_number }} — {{ t.nombre }}
{{ t.platform }}
{{ formatTime(t.ticket_time) }}
${{ parseFloat(t.total).toFixed(2) }}
{{ i>0?'· ':'' }}{{ item.qty>1?'x'+item.qty+' ':'' }}{{ item.nombre||item.name }}
👁 Ver día
📲 WA
✏️ Editar
✕
💸 Gastos
{{ searchResults.gastos.length }}
{{ g.nombre }}
{{ g.categoria||'Sin categoría' }} · {{ formatDate(g.gasto_date) }}
${{ parseFloat(g.costo).toFixed(2) }}
{{ g.comentario }}
✏️ Editar
✕ Borrar
📦 Productos del menú
{{ searchResults.productos.length }}
{{ p.nombre }}
{{ p.categoria }}
${{ parseFloat(p.precio).toFixed(2) }}
✏️ Editar
✕