# CRM - Sistema Global

## Arquitectura

El CRM se implementa como modulo Laravel/Filament dentro del panel administrativo.

- Modelos: `app/Models/Crm`
- Recursos Filament: `app/Filament/Resources/Crm`
- Dashboard: `app/Filament/Pages/CrmDashboard.php`
- Servicios: `app/Services/Crm`
- Migraciones: `database/migrations/2026_06_28_000007_create_crm_tables.php`
- Seeder: `database/seeders/CrmSeeder.php`

## Instalacion

```bash
php artisan migrate
php artisan db:seed --class=CrmSeeder
php artisan optimize:clear
```

## Modulos

- CRM > Dashboard CRM
- CRM > Clientes
- CRM > Asesores
- CRM > Pipeline
- CRM > Actividades
- CRM > Tareas
- CRM > Correos
- CRM > Plantillas
- CRM > Auditoria

## Seguridad multiempresa

Cada tabla operativa del CRM tiene `empresa_id`.

- Super administrador: ve todo.
- Administrador: ve y administra solo empresas asignadas.
- Operativo / asesor: opera solo empresas asignadas.
- Solo lectura: consulta sin crear ni editar.
- Facturacion electronica: no ve el CRM.

## Importar clientes

Desde CRM > Clientes > Importar CSV.

Formato esperado:

```csv
tipo_cliente,identificacion,nombre,email,telefono,estado
NATURAL,0102030405,Juan Perez,juan@example.com,0999999999,NUEVO
EMPRESA,1799999999001,Empresa Demo,ventas@example.com,022222222,EN_SEGUIMIENTO
```

## Exportar clientes

Desde CRM > Clientes > Exportar clientes.

El archivo generado es CSV compatible con Excel.

## Correos

Configurar SMTP en `.env`:

```env
MAIL_MAILER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=usuario
MAIL_PASSWORD=clave
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=no-reply@example.com
MAIL_FROM_NAME="Sistema Global"
```

Los correos enviados quedan registrados en `emails` y como actividad del cliente.
