# Inventaire des champs `banques` — EVO-BK-002

Date : 2026-05-22
Fiche source : registry/T7-bank/EVO-BK-002-field-inventory.md
Commande : `php artisan banques:analyze-fields` (estair-api)
Échantillon : **3788 enregistrements** (base `estair`)

## Rapport brut (taux de remplissage par colonne)

| Column | NULL | Empty | Unique | Fill % |
|---|---:|---:|---:|---:|
| id | 0 | 0 | 3788 | 100% |
| bsp_id | 3788 | 0 | 0 | **0%** |
| uuid | 0 | 0 | 3788 | 100% |
| name | 0 | 0 | 3788 | 100% |
| date | 0 | 0 | 372 | 100% |
| libelle | 0 | 0 | 3788 | 100% |
| account_id | 0 | 0 | 73 | 100% |
| needs_manual_account_assignment | 0 | 3788 | 1 | 0% |
| source | 0 | 0 | 1 | 100% |
| description | 479 | 0 | 2947 | 87.4% |
| amount | 0 | 0 | 1280 | 100% |
| fees | 3788 | 0 | 0 | **0%** |
| status | 0 | 45 | 3 | 98.8% |
| receive_date | 0 | 0 | 372 | 100% |
| receive_hour | 230 | 0 | 3405 | 93.9% |
| buyer_number | 3788 | 0 | 0 | **0%** |
| reference | 0 | 0 | 3788 | 100% |
| type | 0 | 0 | 5 | 100% |
| bank_account_id | 0 | 0 | 9 | 100% |
| direction | 0 | 0 | 2 | 100% |
| origin | 3788 | 0 | 0 | **0%** |
| external_id | 3788 | 0 | 0 | **0%** |
| modified_at | 3788 | 0 | 0 | 0% |
| updated_by | 3788 | 0 | 0 | 0% |
| is_deleted | 0 | 3788 | 1 | 0% |
| created_by | 0 | 0 | 1 | 100% |
| created_at | 0 | 0 | 125 | 100% |
| updated_at | 0 | 0 | 125 | 100% |
| mouvement_id | 0 | 0 | 3788 | 100% |
| currency_id | 3788 | 0 | 0 | 0% |

## Décisions

| Champ | Statut DB | Décision CHAPS | Motif |
|---|---|---|---|
| name | fill 100% | list=1, detail=1 | Conservé (colonne pivot, DEC-LST-001) |
| date | fill 100% | list=1, detail=1 | Conservé, valorisé (EVO-BK-001) |
| direction | fill 100% | list=1, detail=1 | Valorisé picklist (DEC-BK-001) |
| amount | fill 100% | list=1, detail=1 | Conservé, valorisé (EVO-BK-001) |
| account_id | fill 100% | list=1, detail=1 | Conservé (FK compte) |
| status | fill 98.8% | list=1, hidden_for_roles agency/agent | Interne consolidateur (EVO-BK-001) |
| description | fill 87.4% | inchangé | Rempli, utile |
| receive_hour | fill 93.9% | inchangé | Rempli |
| libelle | fill 100% | list=0, detail=0 | Masqué (DEC-BK-001), suppression P3 |
| **bsp_id** | **fill 0%** | **list=0, detail=0** | Vide à 100% → masqué (EVO-BK-002) |
| **fees** | **fill 0%** | **list=0, detail=0** | Vide à 100% → masqué (EVO-BK-002) |
| **buyer_number** | **fill 0%** | **list=0, detail=0** | Vide à 100% → masqué (EVO-BK-002) |
| **origin** | **fill 0%** | **list=0, detail=0** | Vide à 100% → masqué (EVO-BK-002) |
| **external_id** | **fill 0%** | **list=0, detail=0** | Vide à 100% → masqué (EVO-BK-002) |

### Champs vides NON traités (déjà non-affichés / techniques)

`needs_manual_account_assignment`, `is_deleted`, `modified_at`, `updated_by`,
`currency_id` : 0% de remplissage mais soit techniques/audit, soit déjà
exclus côté frontend (`EXCLUDED_FIELDS` dans `useDynamicColumns.ts`). Pas de
masquage metadata explicite nécessaire.

### À valider avec Ange (suppression DB = P3, hors périmètre)

Les 5 champs masqués + les colonnes audit/techniques vides sont candidats à un
DROP COLUMN ultérieur (phase P3). **Aucune suppression DB dans cette fiche.**

### Écart fiche / réalité

- Le champ `banking` mentionné par la fiche **n'existe pas** dans `banques`
  (cf. BUG-BK-002) — rien à masquer.
- Les colonnes `iban`, `bank_code`, `account_name` citées ailleurs en T7
  n'existent pas non plus.

## Réalisation

- Commande d'analyse : `estair-api/app/Console/Commands/AnalyzeBanqueFields.php`
  (`php artisan banques:analyze-fields [--json]`, lecture seule).
- Masquage metadata : `chaps-api/database/seeders/BanqueEvoBk002Seeder.php`
  (idempotent, non destructif, `is_active` conservé).
