# Dictionnaire d’import — Étude Fi lotissement HECTARE

> Spec de correspondance #1212 / alias réels #1216. Source Excel : onglet `Etude Fi`
> (`Etude_financiere_24_07_2026.xlsx` → fixture
> `tests/fixtures/import/etude_fi_lotissement_reference.xlsx`). Disposition : libellé
> **B** · coef/PU **C** · quantité **D** · unité **E** · total section **G** · total
> ligne **H**.
>
> Croisement : **26 / 26** codes `scenario_etude_fi_postes` + **8 / 8** paramètres
> `scenario_parametres`. Aucun code ERP orphelin. Pas d’IA — map déterministe versionné
> dans `App\Support\Import\EtudeFiLotissementMapping`.
>
> **Garde-fou** : ne pas utiliser l’import tant que
> `php tools/diag/diag_import_mapping_1216.php` n’affiche pas
> `MAPPING COMPLET 26/26 + 8/8`.

## Normalisation des libellés

```
trim → collapse espaces → NFD sans accents → MAJUSCULES
→ suffixe final « HT » retiré → ’ → '
```

Appariement = **égalité stricte** sur le libellé normalisé (pas de fuzzy).

## Postes saisis (`scenario_etude_fi_postes.montant`)

Le **premier** alias de chaque ligne est l’alias PRINCIPAL (libellé réel Excel).

| Code ERP | Aliases Excel (normalisés) | Col. | Nature |
|----------|----------------------------|------|--------|
| `commission_apporteur_ht` | COMMISSION APPORTEUR D'AFFAIRES ; COMMISSION APPORTEUR | H | montant |
| `taxes_zac_pup_pae_ht` | TAXES (ZAC,PUP,PAE) ; TAXES ZAC / PUP / PAE ; TAXES ZAC PUP PAE | H | montant |
| `taxes_diverses_ht` | TAXES DIVERSES | H | montant |
| `vrd_terrassement_par_lot` | LOT 1 / TERRASSEMENT ; LOT 1 TERRASSEMENT ; TERRASSEMENT | C | pu |
| `vrd_reseaux_humides_par_lot` | LOT 2 / RESEAUX HUMIDES ; LOT 2 RESEAUX HUMIDES ; RESEAUX HUMIDES | C | pu |
| `vrd_reseaux_secs_par_lot` | LOT 3 / RESEAUX SECS ; LOT 3 RESEAUX SECS ; RESEAUX SECS | C | pu |
| `vrd_espaces_verts_par_lot` | LOT 4 / ESPACES VERTS ; LOT 4 ESPACES VERTS ; ESPACES VERTS | C | pu |
| `vrd_compteurs_montant_unitaire` | COMPTEUR(S) SUPPLEMENTAIRE(S) ; COMPTEURS SUPPLEMENTAIRES ; COMPTEURS | **C** | pu |
| `vrd_compteurs_nombre` | *(même ligne Excel)* | **D** | quantite |
| `vrd_travaux_divers` | TRAVAUX DIVERS | H | montant |
| `vrd_fouilles_archeologiques` | FOUILLES ARCHEOLOGIQUES | H | montant |
| `vrd_demolition` | DEMOLITION | H | montant |
| `vrd_erdf` | ERDF | H | montant |
| `vrd_divers_1` | DIVERS 1 | H | montant |
| `vrd_divers_2` | DIVERS 2 | H | montant |
| `ext_geometre_par_lot` | GEOMETRE | C | pu |
| `ext_architecte_par_lot` | ARCHITECTE | C | pu |
| `ext_urbaniste_par_lot` | URBANISTE | C | pu |
| `ext_be_vrd_par_lot` | BUREAUX D'ETUDES VRD ; BE VRD | C | pu |
| `ext_be_hydraulique_par_lot` | BUREAUX D'ETUDES HYDRAULIQUE ; BE HYDRAULIQUE | C | pu |
| `ext_be_environnemental_par_lot` | BUREAUX D'ETUDES ENVIRONNEMENTAL ; BE ENVIRONNEMENTAL | C | pu |
| `ext_geotechnicien_par_lot` | GEOTECHNICIEN / ETUDES DE SOL ; GEOTECHNICIEN ET ETUDES DE SOL ; GEOTECHNICIEN | C | pu |
| `ext_paysagiste_par_lot` | PAYSAGISTE | C | pu |
| `ext_avocat_forfait` | AVOCAT | H | montant |
| `ext_sps_forfait` | SPS | H | montant |
| `ext_huissier_forfait` | HUISSIER | H | montant |

**Ligne Compteurs** : seule ligne qui alimente **deux** codes (C + D).

## Paramètres (`scenario_parametres.*_force` uniquement)

| Clé param | Colonne force | Aliases | Col. | Nature |
|-----------|---------------|---------|------|--------|
| `taux_frais_notaire` | `taux_frais_notaire_force` | FRAIS DE NOTAIRE ; FRAIS NOTAIRE | C | taux |
| `taux_honoraires_montage` | `taux_honoraires_montage_force` | HONORAIRES DE PROSPECTION/MONTAGE ; HONORAIRES DE MONTAGE ; HONORAIRES MONTAGE | C | taux |
| `taux_imprevus_travaux` | `taux_imprevus_travaux_force` | IMPREVUS TRAVAUX ; IMPREVUS | C | taux |
| `taux_honoraires_gestion` | `taux_honoraires_gestion_force` | HONORAIRES DE GESTION ; HONORAIRES GESTION | C | taux |
| `honoraires_commerciaux_forces` | `honoraires_commerciaux_forces` | HONORAIRES DE COMMERCIALISATION ; HONORAIRES COMMERCIAUX | C | euro_par_lot |
| `communication_groupe_par_lot` | `communication_groupe_par_lot_force` | FRAIS DE COMMUNICATION GROUPE ; COMMUNICATION GROUPE | C | euro_par_lot |
| `taux_frais_bancaires` | `taux_frais_bancaires_force` | FRAIS BANCAIRES | C | taux |
| `impots_fonciers_par_lot` | `impots_fonciers_par_lot_force` | IMPOTS FONCIERS ; IMPOT FONCIER | C | euro_par_lot |

Si valeur Excel = défaut enseigne → laisser `_force` à **NULL** (héritage).

## Jamais importer

- Totaux section (`TOTAL …`, via `str_starts_with($norm, 'TOTAL ')`)
- Bloc marge / TVA / bénéfice
- Lots / recettes / calculs moteur
- Imprévus en **montant** calculé (on importe le **taux**, pas H)

## type_etude

Clé : `lotissement_hectare`. Un futur mapping `promotion_envol` pourra coexister
sans refonte.
