# TICKET-LOGO — Intake

## Feature
- **ID:** TICKET-LOGO
- **Title:** TPV ticket header: allow custom text or logo upload
- **Type:** feature
- **Priority:** med
- **Risk:** low

## Análisis

### Estado Actual

**ReceiptModal.tsx** muestra:
```tsx
{/* Logo */}
<img src="/images/logo-main.png" alt="Logo" className="h-16 object-contain" />
{/* Custom header text */}
{receipt.header && <p className="font-semibold">{receipt.header}</p>}
```

**Hallazgos:**
1. ✅ **Custom text**: Ya existe! `receipt.header` viene de `store.receipt_header`
2. ❌ **Logo upload**: NO existe - hardcodeado como `/images/logo-main.png`

### Lo que falta

Para permitir logo custom:
1. Campo `logo_url` en `pos_stores` o tabla de configuración
2. Upload de imagen (endpoint + almacenamiento)
3. Mostrar logo custom en ReceiptModal (con fallback a default)

### Impacto

- Requiere migración de DB (nuevo campo)
- Requiere endpoint de upload o URL manual
- Bajo riesgo si se usa fallback al logo default

## Preguntas Pendientes
- [ ] ¿Cómo se provee el logo? (URL manual vs upload)
- [ ] ¿Solo un logo o múltiples opciones?
- [ ] ¿Placeholder cuando no hay logo?
