FlowKit

Analyser les clauses contractuelles à risque avec l'IA dans n8n

Publié le 16 août 2026 · 5 min de lecture

Un contrat fournisseur, un accord de confidentialité, un avenant : la plupart des PME les signent après une relecture rapide, faute de temps ou de budget juridique dédié à chaque document. Le problème n'est pas l'absence de vigilance, c'est le volume — une clause de renouvellement automatique à 60 jours ou une limitation de responsabilité déséquilibrée peuvent se glisser dans un document de 15 pages sans qu'on les remarque. Ce guide détaille un workflow n8n qui lit un contrat entrant, en extrait les clauses sensibles, leur attribue un niveau de risque et journalise le tout — un premier filtre automatisé avant la relecture humaine, pas un substitut à elle.

Pourquoi ce filtre a du sens avant la relecture humaine

Les contrats standards concentrent un nombre restreint de catégories de clauses réellement sensibles : durée et renouvellement, résiliation, responsabilité et pénalités, propriété intellectuelle, confidentialité, et — de plus en plus — sous-traitance de données personnelles. C'est précisément la structure qu'a formalisée le dataset CUAD (Hendrycks et al., NeurIPS 2021), qui annote plus de 13 000 clauses réparties en 41 catégories sur 500 contrats réels : les auteurs montrent que des modèles de langage entraînés pour repérer ces catégories obtiennent des résultats exploitables, tout en soulignant qu'une marge de progression reste nécessaire avant de s'y fier sans supervision. C'est exactement la logique à appliquer dans n8n : automatiser le repérage, pas la décision.

Une étude LawGeex de 2018, menée avec des conseillers de Stanford, Duke et de l'USC, a comparé une IA spécialisée à 20 avocats d'affaires expérimentés sur la détection de risques dans des NDA : l'IA a atteint 94 % de précision contre 85 % en moyenne pour les avocats, en 26 secondes contre 92 minutes. L'écart de vitesse est l'argument le plus solide pour ce type de workflow : il ne s'agit pas de remplacer l'expertise juridique, mais de la concentrer sur les 10 % de clauses qui le méritent vraiment.

Architecture du workflow

Le pipeline tient en quatre étapes : réception du contrat, extraction du texte, analyse structurée par IA, puis journalisation et alerte.

1. Déclencheur et extraction du texte

Le contrat arrive par email (déclencheur IMAP, comme dans le tri d'emails par IA), par upload via un Form Trigger, ou déposé dans un dossier Google Drive surveillé. Le fichier binaire passe ensuite dans un node Extract From File pour les PDF texte natif ; pour un contrat scanné (photocopie, signature manuscrite numérisée), il faut d'abord un passage OCR — voir notre guide sur l'extraction de données de factures PDF par IA, la logique est transposable telle quelle aux contrats.

2. Schéma de sortie structuré

C'est le cœur du workflow : un node AI Agent ou Information Extractor, couplé à un Structured Output Parser, avec un schéma JSON qui force le modèle à répondre dans un format exploitable plutôt qu'en prose libre. Voir notre guide sur le Structured Output Parser pour la syntaxe exacte. Un schéma minimal pour ce cas :

{
  "clauses": [
    {
      "type": "renouvellement_automatique | resiliation | responsabilite | propriete_intellectuelle | confidentialite | sous_traitance_donnees | penalites | autre",
      "extrait": "citation exacte du contrat",
      "risque": "faible | moyen | eleve",
      "justification": "raison du niveau de risque en une phrase"
    }
  ],
  "score_global": "faible | moyen | eleve",
  "duree_preavis_jours": 0
}

Le prompt système doit préciser des critères concrets plutôt que de laisser le modèle juger dans l'absolu : par exemple, un préavis de résiliation inférieur à 30 jours ou une clause de responsabilité illimitée du client sont explicitement marqués « risque élevé ». Sans ces règles écrites, deux exécutions du même contrat peuvent produire des scores différents.

3. Journalisation et piste d'audit

Chaque analyse est insérée dans une table Supabase (contrats_analyses) avec l'ID du document, la date, le score global et le détail JSON des clauses — exactement la logique décrite dans notre guide sur la piste d'audit RGPD avec Supabase. Cette traçabilité horodatée est précieuse en cas de litige : elle prouve qu'une vérification a bien eu lieu avant signature, avec quel résultat.

4. Alerte et validation humaine

Quand score_global vaut « élevé », un node Slack ou une étape d'approbation Wait notifie l'équipe juridique ou le responsable achats, avec un lien vers le contrat et le résumé des clauses signalées. Rien n'est bloqué automatiquement : le workflow accélère la détection, la décision de signer reste humaine.

Aller plus loin : comparer aux clauses types de l'entreprise

Une fois ce socle en place, l'étape suivante consiste à comparer chaque clause extraite à un « playbook » interne (vos clauses standards acceptées) via une recherche vectorielle : les clauses types sont indexées dans Supabase avec pgvector, comme décrit dans notre guide RAG avec Supabase, et chaque clause du contrat entrant est comparée par similarité sémantique pour détecter automatiquement les écarts par rapport à votre position de négociation habituelle. C'est exactement l'architecture que couvre le Pack Assistant RAG (119 €) : ingestion de documents, embeddings, stockage pgvector et chat de restitution avec citations.

Limites et bonnes pratiques

Trois points de vigilance avant de mettre ce type de workflow en production :

  • Hallucinations sur les citations : demandez systématiquement au modèle de citer l'extrait exact du contrat pour chaque clause repérée, et vérifiez dans le prompt qu'il ne doit jamais inventer de texte. Un extrait qui ne se retrouve pas mot pour mot dans le document original est un signal d'alerte.
  • Gestion des erreurs : un contrat mal extrait (PDF corrompu, OCR défaillant) ne doit jamais remonter un score « faible risque » par défaut — configurez un Error Workflow qui route ces cas vers une relecture manuelle plutôt que de les laisser passer silencieusement.
  • Sous-traitance de données personnelles : si le contrat implique un transfert de données vers un sous-traitant, croisez cette détection avec votre registre des traitements RGPD pour vérifier qu'un DPA (Data Processing Agreement) est bien en place.

Ce type de garde-fou documentaire, combiné à des relances automatiques sur les dossiers incomplets, correspond exactement à ce que couvre le Pack Conformité & Audit (149 €) : questionnaires conversationnels, piste d'audit horodatée et rapport de synthèse généré par IA. Pour une équipe qui gère aussi bien la conformité que le tri documentaire et un assistant RAG interne, le Bundle FlowKit Complet (269 € au lieu de 347 € en achat séparé) regroupe les trois packs.

En résumé

Automatiser la première lecture d'un contrat avec n8n ne remplace pas un juriste — cela concentre son temps sur les clauses qui comptent vraiment. Extraction structurée, scoring de risque explicite, journalisation horodatée et validation humaine sur les cas sensibles : ces quatre briques suffisent à transformer une pile de PDF non lus en un vrai processus de revue, sans faire exploser le budget juridique.

FAQ

Questions fréquentes

Un LLM peut-il remplacer un avocat pour la revue de contrats ?

Non. Un workflow n8n de ce type est un premier filtre qui priorise l'attention humaine sur les clauses inhabituelles ou à risque élevé — il ne rend aucun avis juridique. Une étude LawGeex de 2018 a montré qu'une IA spécialisée pouvait égaler voire dépasser des avocats expérimentés sur la détection de risques dans des NDA standards, mais dans un cadre de test contrôlé et sur un type de contrat précis. En production, toute clause jugée à risque élevé doit rester validée par un humain avant signature.

Quel modèle IA utiliser pour ce type d'extraction ?

Un modèle avec une bonne fenêtre de contexte et de bonnes capacités de sortie structurée : GPT-4o ou GPT-4.1 côté OpenAI, Claude Sonnet côté Anthropic. Pour des contrats scannés (PDF image), il faut d'abord passer par un OCR — Mistral OCR ou un node dédié — avant l'extraction, sinon le modèle ne reçoit que du texte vide ou tronqué.

Comment gérer les contrats dans des langues différentes ?

Le prompt d'extraction peut rester en français tout en précisant explicitement au modèle de raisonner sur le contenu du contrat quelle que soit sa langue d'origine, et de restituer les libellés de clauses dans une nomenclature fixe (les mêmes clés JSON) plutôt que de traduire littéralement — cela évite d'avoir un schéma de sortie différent par langue et facilite l'agrégation dans Supabase.

Bundle FlowKit Complet

269 €