---
title: "Contrats — Documentation Fonctionnelle"
module: crm
type: functional
status: active
updated: 2026-06-16
---

# Contrats — Documentation Fonctionnelle

> Création, suivi, renouvellement et liaison de tickets sur les contrats fournisseurs.

---

## Vue d'ensemble

Le module Contrats centralise les engagements contractuels d'une entité avec ses fournisseurs : maintenance, services, prestations IT, télécom, etc. Chaque contrat porte des informations clés (statut, montants, dates d'engagement, échéances) et peut être rattaché à des tickets de support pour tracer les interventions liées.

---

## Accès

- **Menu :** Achats > Contrats
- **Module requis :** Contrats (14140101)
- **Droits :** Création (C), Lecture (R), Modification (U), Suppression (D), Administration (A) gérés séparément par profil.
- **Droit « Accès aux contrats » (par profil/entité, `blcontract`) :** en plus des droits ci-dessus, chaque profil porte un droit spécifique d'accès au module Contrats sur l'entité courante :
  - `Modification` → accès complet (voir + créer/éditer).
  - `Lecture seule` → accès en lecture ; le bouton **Nouveau contrat** et la création sont masqués/refusés.
  - `Aucun accès` → la page Contrats est inaccessible (403).
  - Les administrateurs ont toujours accès. *(Les valeurs non configurées sont tolérées en accès lecture.)*

---

## Fonctionnalités principales

### Création d'un contrat

Depuis la liste des contrats, le bouton **Nouveau contrat** ouvre un formulaire structuré en trois sections :

- **Informations** — libellé, statut, fournisseur, description
- **Dates & Montants** — signature, début, fin, engagement, alerte, durée, montant annuel et total
- **Accès & Fin** — type de fin, motif, gestion de fin (action à entreprendre) et confidentialité

Après validation, l'utilisateur est automatiquement redirigé vers la fiche de mise à jour du contrat créé pour compléter les pièces jointes ou les liaisons.

### Création assistée par IA (« Ajouter avec IA »)

À côté de **Nouveau contrat**, le bouton **Ajouter avec IA** (visible si le module IA est disponible, mêmes droits de création) permet de créer un contrat à partir de ses documents PDF :

1. Sélectionner l'entité, puis cliquer sur **Ajouter avec IA**.
2. Déposer un ou plusieurs **PDF** du contrat (le texte en est extrait automatiquement).
3. L'IA analyse les documents et propose les **champs pré-remplis** (libellé, statut, dates, montants, durée d'engagement, type de fin, gestion…) ainsi qu'une **synthèse juridique structurée** placée dans la description (résumé exécutif, analyse, tableau de synthèse, fiche mémoire).
4. Un écran de **révision** présente chaque valeur détectée (confiance + citation source) : l'utilisateur **accepte, modifie ou rejette** champ par champ.
5. En cliquant sur **Créer le contrat**, les valeurs validées sont appliquées, le **fournisseur** est rapproché automatiquement du catalogue (si reconnu), et l'utilisateur est redirigé vers la fiche pour finaliser.

Points clés :

- L'IA ne remplit **que les champs vides** et n'invente jamais de valeur : une information absente du document est laissée vide.
- Le **fournisseur** est rapproché par son nom ; s'il n'est pas reconnu, il reste à sélectionner manuellement.
- Tant que la création n'est pas finalisée, **aucun contrat n'apparaît** dans la liste (un parcours abandonné ne laisse pas de contrat fantôme).
- La description produite est une **synthèse factuelle** (pas un conseil juridique), réutilisable comme base de connaissance.

### Liste fournisseurs

La liste des fournisseurs proposée combine :

- les **fournisseurs propres au compte** (`_id` du tenant)
- les **fournisseurs partagés globalement** disponibles pour tous les comptes

Les fournisseurs supprimés (soft delete) sont exclus.

### Onglet « Fournisseur » sur la fiche contrat

Lorsqu'un contrat est **rattaché à un fournisseur** (champ fournisseur renseigné), la fiche d'édition du contrat (`/mod/14140101/update/{id}`, y compris ouverte en modale depuis la liste) affiche deux onglets :

- **Fiche contrat** — le formulaire habituel (informations, dates, montants, documents…).
- **Fournisseur** — une vue **en lecture seule** des informations du fournisseur lié :
  - identité (logo, nom, type de partage Interne/Partagé) ;
  - coordonnées (SIRET, site web, description) ;
  - activités / délégations du fournisseur (badges) ;
  - un bouton **Ouvrir la fiche fournisseur** vers la fiche complète du fournisseur (édition si l'utilisateur en a le droit, sinon fiche synthétique).

Si le contrat n'a **aucun fournisseur**, aucun onglet n'est affiché : la fiche reste un formulaire simple.

### Onglet « Mes contrats » sur la fiche fournisseur

Symétriquement, la fiche fournisseur (`/mod/13800101/update/{idsup}`) propose des onglets (Onyx) : **Fiche fournisseur**, **Mes délégations** et **Mes contrats** (ces deux derniers réservés aux administrateurs).

L'onglet **Mes contrats** liste, sous forme de cartes, les contrats **de votre entité** (`_id`) rattachés à ce fournisseur (sont exclus : les contrats archivés, et ceux dont le client `idc` est archivé ou n'existe plus dans `customer`). Chaque carte affiche le libellé, le statut, le client, les dates de début/fin, les montants total et annuel TTC, et un bouton **Ouvrir le contrat**. Un badge indique le nombre de contrats liés.

### Filtre « Contrat » sur la liste des fournisseurs

La liste des fournisseurs (`/suppliers`) propose un filtre **Contrat** : *Tous*, *Avec contrat*, *Sans contrat*. Il restreint l'affichage aux fournisseurs ayant (ou non) au moins un contrat **non archivé**, rattaché à votre entité (`_id`) **et à un client (`idc`) existant et non archivé**.

### Statuts et gestion de fin

| Statut (`tpstatut`) | Signification |
|---------------------|---------------|
| `pro` | En proposition / projet |
| `run` | En cours d'exécution |
| `end` | Terminé |
| `no` | Non concerné |

| Type de fin (`tpend`) | Signification |
|-----------------------|---------------|
| `no` | Pas de reconduction |
| `12` | Reconduction tacite à l'année |

| Gestion (`tptodo`) | Action à entreprendre |
|---------------------|----------------------|
| `arenew` | À renouveler |
| `tacite` | Tacite reconduction |
| `resil` | Résilier |
| `dono` | Ne pas reconduire |
| `reneg` | Renégocier |

### Liaison tickets ↔ contrats

Sur la fiche d'un contrat, un bouton **Tickets liés** en sidebar ouvre une modale permettant de :

- **Rechercher** un ticket dans la liste des tickets disponibles du compte
- **Lier** un ou plusieurs tickets au contrat en une seule action
- **Délier** un ticket précédemment rattaché
- **Visualiser** le statut de chaque ticket via un badge coloré (Onyx)

Le **badge compteur** dans la sidebar reflète en temps réel le nombre de tickets actuellement liés au contrat.

**Cas d'usage typiques :**

- Tracer les interventions de maintenance réalisées dans le cadre d'un contrat de prestation
- Mesurer la consommation d'un forfait de tickets attaché à un contrat de support
- Justifier une renégociation ou résiliation par un historique de tickets

### Renouvellement et alertes

Une vue **Contrats à renouveler** liste automatiquement les contrats :

- en statut `run` (en cours)
- dont la date d'alerte est atteinte ou dépassée
- ou dont la date d'engagement arrive à moins de 3 mois

Les profils non-administrateurs ne voient pas les contrats marqués confidentiels (`blsecret`).

---

## Validation des données

À la création comme à la mise à jour :

- Le **fournisseur** doit appartenir au compte courant ou au pool partagé
- Les **valeurs de statut, type de fin et gestion** sont contraintes aux listes officielles (voir tableaux ci-dessus)
- La **date de fin** doit être postérieure ou égale à la date de début
- La **date d'engagement** doit être postérieure ou égale à la date de début
- La **date d'alerte** doit être antérieure ou égale à la date d'engagement
- Les **montants** doivent être positifs

---

## Notes de version

- **2026-05-13** — Ajout du formulaire de création, de la liaison tickets ↔ contrats et correction d'un bug de troncation silencieuse sur les valeurs `arenew` et `tacite` du champ Gestion.
