# 🧪 Guía de Prueba: Venta con Servicios Municipales

## ✅ Cambios Realizados

Se agregó `trim()` en `app/Models/Venta.php` línea 145 para asegurar que el campo `tipo_item` no tenga espacios en blanco antes de insertarse en la base de datos.

## 📋 Paso a Paso para Probar

### 1. Crear un Servicio (si no existe)
- Ir a **Admin → Servicios Municipales** (debe aparecer en el sidebar izquierdo)
- Click en **Crear Nuevo Servicio**
- Completar:
  - **Nombre:** "Registro y Pago de Documentación"
  - **Código TUPA:** "TUPA001"
  - **Precio:** 500.00
  - **Unidad:** ZZ (debe estar por defecto)
  - **Aplica IGV:** ✓ (activado)
- Click en **Guardar**

### 2. Abrir POS y Agregar Servicio
- Ir a **Caja → Terminal POS**
- Verificar que en la consola del navegador (F12) aparezca:
  ```
  📦 Productos cargados: [N]
  🏛️ Servicios cargados: 1
  ```
- Buscar o hacer click en el servicio recién creado
- Debería aparecer con un ícono de **caja/paquete azul** (distintivo)

### 3. Agre gar al Carrito y Procesar Venta
- Hacer click en el servicio para agregarlo al carrito
- Verificar que aparezca en el carrito lateral con:
  - Nombre: "Registro y Pago de Documentación"
  - Precio: S/ 500.00
- Hacer click en **COBRAR** (F12)
- Seleccionar tipo de comprobante: **Boleta**
- Ingresar monto recibido: **500**
- Hacer click en **CONFIRMAR PAGO**

### 4. Verificar Resultado
- Si aparece: ✅ **Venta registrada exitosamente**
  - Se ha solucionado el problema
  - Proceder a verificar facturación SUNAT
  
- Si aparece: ❌ Error SQLSTATE[01000]
  - Abrir F12 (Consola)
  - Ver la respuesta exacta del servidor
  - Copiar la respuesta completa
  - Reportar el error

## 🔍 Verificación en Base de Datos

Si la venta fue exitosa, puedes verificar en MySQL:

```sql
-- Ver el detalle de la venta con el servicio
SELECT vd.*, v.tipo_comprobante, v.serie_correlativo
FROM venta_detalles vd
INNER JOIN ventas v ON vd.venta_id = v.id
WHERE vd.tipo_item = 'servicio'
ORDER BY v.id DESC
LIMIT 1;
```

Debe regresar:
- `tipo_item: 'servicio'` ✓
- `nombre_producto: 'Registro y Pago de Documentación'`
- `precio_unitario: '500.00'`

## 📞 Si hay Problemas

1. **Tomar screenshot** de:
   - Consola del navegador (F12 → Console)
   - El error exacto mostrado

2. **Revisar logs**:
   - Archivo: `storage/error_log.txt` (si existe)
   - O verificar error_log de PHP en Laragon

3. **Reportar con contexto**:
   - Qué se ingresó exactamente
   - Qué error exacto aparece
   - Screenshot de la consola del navegador

---

**Nota:** El sistema ahora está optimizado para servicios con `trim()` en el tipo_item. Si aún hay problemas, será relacionado a permisos de BD o composición de datos, no al ENUM.
