# Carga de empresas desde CSV

La carga omite los RUC existentes, incluidos registros ocultos o eliminados, sin cambiar sus datos, reactivarlos ni asignarlos al usuario. Si el RUC se repite dentro del archivo, se utiliza la primera fila y se omiten las siguientes.

Al terminar se informa el número de empresas creadas y de filas omitidas. Un archivo que solo contiene empresas existentes finaliza con cero creaciones. Las filas omitidas no generan auditorías de creación.

Las empresas nuevas deben pasar todas las validaciones, incluido el correo obligatorio. Si tienen errores, no se guarda ninguna empresa nueva; se muestran las filas que se deben corregir. Los límites y controles de cuenta y permisos se mantienen.

## Publicación

Actualizar juntos estos archivos en el servidor:

- `app/Services/Platform/CompanyCsvImportService.php`
- `app/Filament/Resources/Empresas/Pages/ListEmpresas.php`
- `resources/views/filament/empresas/csv-instructions.blade.php`

Ejecutar `php artisan view:clear` desde la raíz del proyecto. No requiere migraciones ni compilación de recursos. Este cambio corresponde al procesamiento del CSV después de subirlo, no a la subida temporal del archivo.

Pruebas: `tests/Feature/Platform/CompanyCsvImportTest.php` cubre duplicados, reimportaciones, registros eliminados, conservación de datos, validaciones de empresas nuevas, permisos y reversión por fallos inesperados.
