# 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 */} Logo {/* Custom header text */} {receipt.header &&

{receipt.header}

} ``` **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?