---
name: project_taux_credit_impot
description: "Référentiel taux crédit d'impôt 2047 — table DB, route backend, section Admin avec import IA"
metadata: 
  node_type: memory
  type: project
  originSessionId: 6ab3db95-bde5-486d-8d53-7e58134a13ca
---

Table `taux_credit_impot` seedée avec 124 pays (notice DGFiP 2047). Route `/api/taux-credit-impot` (GET auth, POST/PUT/DELETE admin). Section Admin sous groupe "Référentiels" → id `taux-ci`.

**Schéma :** `nom_pays, code_pays (ISO alpha-2), div_taux, div_taux_alt, div_taux_alt_label, div_exclusif_residence, int_taux, int_taux_alt, int_taux_alt_label, int_exclusif_residence, notice, statut_convention (active/suspendue/caduque), date_suspension, ref_boi`

**Frontend Admin.jsx :**
- `TciModal` — modale create/edit avec `CountrySelect showCode` pour le code pays (auto-remplit `nom_pays` si vide)
- `TauxCreditImpotSection` — tableau avec filtre tabs + recherche, menu ⋮ (Modifier/Supprimer), icône ℹ à 10px du badge convention
- `TciImportBlock` — import JSON IA : coller réponse → diff avant/après par champ → appliquer sélectivement
- `TciPromptBlock` — prompt IA éditable (localStorage `cl_tci_prompt`), bouton copier remplace `{{CURRENT_DATA}}` en live
- Légende "excl. résidence" dans le pied du tableau

**Piège fieldset CSS :** `fieldset` a `min-width: min-content` par défaut → ajouter `minWidth: 0` pour éviter le débordement de contenu.

**Piège checkbox CSS :** `input { width: 100% }` global force les checkboxes sur toute la largeur → toujours ajouter `width: auto` sur les `input[type="checkbox"]`.

**Why:** Notice DGFiP 2047 mise à jour annuellement ; le bloc IA permet de comparer et patcher les taux sans retouche manuelle du code.
**How to apply:** Futur champ `code_pays` sur la table `plateformes` permettra une jointure avec ce référentiel pour afficher le taux applicable par plateforme.
