# Cliente o proveedor y tipo de persona

En Personas, «Cliente o proveedor» define la relación comercial y «Tipo Persona» permite escoger Natural o Jurídica.

| Relación | Persona | Formulario |
| --- | --- | --- |
| Cliente | Natural | TRUST360 cliente natural |
| Proveedor | Natural | Proveedor persona natural existente |
| Cliente o proveedor | Jurídica | Pendiente de implementación; no se habilita formulario |

El portal y la acción «Formulario PN» usan ambas selecciones. Las rutas comprueban el tipo y los permisos del registro; un proveedor no puede enviar el formulario de cliente natural. Cambiar la clasificación no elimina formularios anteriores.

La migración convierte los antiguos tipos PROVEEDOR_NATURAL y PROVEEDOR_JURIDICO en relación Proveedor más PN/PJ. Los PN/PJ existentes quedan como Cliente: si antes un proveedor fue registrado como PN, selecciona Proveedor al editarlo.

## Publicación

Subir:

- `database/migrations/2026_09_13_000003_add_persona_relationship_type.php`
- `app/Models/Personas/Persona.php`
- `app/Filament/Resources/Personas/Schemas/PersonaForm.php`
- `app/Filament/Resources/Personas/PersonaResource.php`
- `app/Http/Controllers/Cliente/ClientePortalController.php`
- `app/Http/Controllers/Cliente/NaturalClientFormController.php`
- `app/Http/Controllers/Proveedor/PN/FormularioProveedorNaturalController.php`

Requiere tener publicada previamente la implementación del formulario TRUST360.

```sh
php artisan migrate --path=database/migrations/2026_09_13_000003_add_persona_relationship_type.php --force
php artisan view:clear
```

Validación: pruebas de selección del formulario, acceso de cliente/proveedor, persona jurídica y persistencia del formulario natural.
