> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qwoty.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer un champ personnalisé de contrat

> Ajoutez un champ personnalisé à un modèle de contrat — utilisé comme variable de contrat et synchronisé avec votre CRM.

Un champ personnalisé de contrat capture des informations propres à vos modèles juridiques — par exemple, une variante de clause, une juridiction, une date d'entrée en vigueur ou un minimum garanti. Le champ apparaît sur les enregistrements de contrat, peut être référencé comme variable dans le texte du contrat et se synchronise optionnellement avec votre CRM.

Ce guide parcourt le cycle de vie complet en trois étapes.

<Note>
  Vous devez disposer du rôle **Admin** avec l'autorisation **Données → Lecture et écriture**. Le mapping CRM nécessite également l'accès **Développeurs**.
</Note>

## Ce que vous allez créer

Dans cet exemple, vous allez ajouter un champ **Juridiction** sur le modèle de contrat — un champ Texte qui pilote une variante de clause dans vos modèles de contrat. Les commerciaux le sélectionneront lors de la création du devis, et il apparaîtra dans le contrat via une variable `{{contract.jurisdiction}}`.

| Champ           | Type  | Objectif                                     |
| --------------- | ----- | -------------------------------------------- |
| **Juridiction** | Texte | Pays ou état sous lequel le contrat est régi |

Le champ sera **obligatoire**, **modifiable par les commerciaux** et **non affiché au client** (c'est un marqueur interne pour les opérations juridiques — le client voit le texte de clause résolu dans le contrat, pas le nom de la variable).

## Étape 1 : Créer le champ dans le modèle de données

<Steps>
  <Step title="Ouvrir le modèle de données">
    Accédez à **Paramètres → Données → Modèle de données** et cliquez sur l'objet **Modèle de contrat**.
  </Step>

  <Step title="Cliquer sur + Nouveau">
    En haut à droite de la liste des champs, cliquez sur **+ Nouveau** pour ouvrir le formulaire de création de champ.
  </Step>

  <Step title="Renseigner les informations générales">
    * **Nom** : `Juridiction`
    * **Nom API** : Qwoty génère automatiquement `juridiction`. Modifiez-le si vous avez besoin d'un identifiant spécifique (par exemple, `juridiction_applicable`).
    * **Type de données** : sélectionnez `Texte`
  </Step>

  <Step title="Enregistrer">
    Cliquez sur **Enregistrer** en haut à droite. Le nouveau champ apparaît dans la liste des champs de l'objet Modèle de contrat avec le badge **Personnalisé**.
  </Step>
</Steps>

<Check>
  Le champ existe dans le modèle de données. Configurez ensuite son comportement sur chaque enregistrement de modèle de contrat.
</Check>

## Étape 2 : Configurer le champ sur le modèle de contrat

Le champ existe, mais il n'apparaît encore sur aucun contrat. Activez-le sur les modèles de contrat concernés et configurez les trois propriétés.

<Steps>
  <Step title="Ouvrir le modèle de contrat">
    Accédez à **Documents → Modèle de contrat** et ouvrez le modèle de contrat que vous souhaitez configurer (par exemple, `Contrat de vente standard`).
  </Step>

  <Step title="Trouver la section Champs personnalisés">
    Faites défiler jusqu'à la section **Champs personnalisés**. Le champ `Juridiction` que vous venez de créer apparaît, avec un bouton bascule et trois cases à cocher.
  </Step>

  <Step title="Activer le bouton bascule">
    Cliquez sur le bouton bascule pour activer le champ. Le bouton s'assombrit — le champ fait désormais partie de chaque contrat généré depuis ce modèle.
  </Step>

  <Step title="Configurer les propriétés">
    Cochez les cases correspondant à vos besoins :

    * **Obligatoire** ✓ — le contrat ne peut pas être généré sans juridiction
    * **Modifiable par le commercial** ✓ — les commerciaux sélectionnent la valeur lors de la création du devis
    * **Afficher au client** — laissez décoché (la juridiction est interne — c'est le texte de clause résolu que le client voit)
  </Step>

  <Step title="Définir une valeur par défaut (optionnel)">
    Si la plupart de vos contrats partagent la même juridiction, définissez une valeur par défaut (par exemple, `France`). Les commerciaux peuvent la remplacer par affaire.
  </Step>

  <Step title="Enregistrer le modèle de contrat">
    Cliquez sur **Enregistrer**.
  </Step>
</Steps>

### Utiliser le champ dans le texte du contrat

Maintenant que le champ est actif, vous pouvez le référencer comme variable dans le corps du modèle de contrat :

```
Le présent Accord est régi par les lois de {{contract.jurisdiction}}.
Tout litige sera réglé devant les tribunaux de {{contract.jurisdiction}}.
```

Lorsque le contrat est généré, la variable est résolue avec la valeur saisie par le commercial. Combinez-la avec des blocs conditionnels (si votre éditeur de contrat les prend en charge) pour substituer des clauses entières en fonction de la valeur :

```
{{#if contract.jurisdiction == "France"}}
  ... clause d'arbitrage spécifique à la France ...
{{else if contract.jurisdiction == "Germany"}}
  ... clause d'arbitrage spécifique à l'Allemagne ...
{{/if}}
```

<Tip>
  Associez les champs personnalisés aux blocs de contenu ([Documents → Blocs de contenu](/user-guide/documents/reference/content-blocks)) pour des sections de contrat réutilisables qui dépendent de la valeur du champ.
</Tip>

## Étape 3 : Synchroniser avec votre CRM (optionnel)

Si votre CRM suit les métadonnées de contrat (ce qui est souvent le cas dans les secteurs réglementés), mappez le champ Juridiction vers un champ CRM correspondant.

<Steps>
  <Step title="Ouvrir votre intégration CRM">
    Accédez à **Paramètres → Développeurs → Intégration** et cliquez sur votre CRM connecté.
  </Step>

  <Step title="Trouver la section de mapping des champs personnalisés">
    Faites défiler jusqu'au mapping des champs personnalisés. Le champ Modèle de contrat apparaît sous la forme `Personnalisé : Juridiction`.
  </Step>

  <Step title="Choisir une direction de synchronisation">
    Ouvrez le menu déroulant de direction et choisissez :

    * **Bidirectionnel** — si votre équipe juridique met également à jour la juridiction dans le CRM
    * **Qwoty → CRM** — typique : la valeur est définie lors de la création du devis et transmise à l'enregistrement CRM
    * **CRM → Qwoty** — si la juridiction est déterminée en amont par vos workflows CRM
  </Step>

  <Step title="Sélectionner le champ CRM correspondant">
    Sélectionnez le champ CRM qui contient la valeur de juridiction. Types compatibles : Texte, Liste de sélection, Menu déroulant.
  </Step>

  <Step title="Enregistrer les modifications">
    Cliquez sur **Enregistrer les modifications** en bas de la page.
  </Step>
</Steps>

<Check>
  La juridiction de votre contrat circule désormais entre Qwoty et votre CRM, et est également résolue comme variable dans les contrats générés.
</Check>

## Champs personnalisés de contrat courants

Au-delà de la Juridiction, voici des cas d'usage fréquents :

| Champ                                      | Type                       | Pourquoi                                                               |
| ------------------------------------------ | -------------------------- | ---------------------------------------------------------------------- |
| **Date d'entrée en vigueur**               | Date                       | Quand le contrat prend effet (diffère souvent de la date de signature) |
| **Indicateur de reconduction automatique** | Texte (ou booléen à venir) | Déclenche une clause de renouvellement différente                      |
| **Délai de préavis (mois)**                | Nombre                     | Utilisé dans les clauses de résiliation                                |
| **Plafond de responsabilité**              | Nombre                     | Plafond d'indemnisation négocié                                        |
| **Droit applicable**                       | Texte                      | Combiné avec la Juridiction pour les contrats transfrontaliers         |
| **Référence juridique externe**            | Texte                      | Numéro de ticket ou de dossier du conseil interne                      |

## Résolution des problèmes

<AccordionGroup>
  <Accordion title="La variable {{contract.jurisdiction}} est vide dans le contrat généré">
    Soit le champ est vide sur l'enregistrement du contrat, soit le nom de la variable ne correspond pas au nom API. Ouvrez le contrat et vérifiez que le champ est renseigné. Assurez-vous que la variable utilise exactement le nom API du champ (sensible à la casse).
  </Accordion>

  <Accordion title="Le champ est sur le modèle de contrat mais n'apparaît pas sur les contrats">
    Vérifiez que le bouton bascule est **activé** dans la section Champs personnalisés du modèle de contrat. Les boutons bascule désactivés masquent le champ dans les formulaires.
  </Accordion>

  <Accordion title="Les commerciaux voient le champ mais leur saisie n'est pas enregistrée">
    La case **Modifiable par le commercial** est décochée. Activez-la sur le modèle de contrat.
  </Accordion>

  <Accordion title="Mon CRM n'affiche pas de champ compatible">
    Ajoutez d'abord un champ personnalisé côté CRM (Texte ou Liste de sélection pour la Juridiction), puis actualisez la section de mapping de l'intégration.
  </Accordion>
</AccordionGroup>

## Voir aussi

<CardGroup cols={2}>
  <Card title="Propriétés des champs" icon="sliders" href="/user-guide/data-model/reference/field-properties">
    Obligatoire, Modifiable, Afficher — les trois contrôles qui définissent le comportement.
  </Card>

  <Card title="Modèles de contrat" icon="file-signature" href="/user-guide/documents/reference/contract-model-and-variables">
    Comment les variables, les blocs de contenu et les modèles de contrat s'articulent.
  </Card>

  <Card title="Créer un champ personnalisé de devis" icon="file-invoice-dollar" href="/user-guide/data-model/how-tos/create-quote-custom-field">
    Le même processus, appliqué aux devis.
  </Card>

  <Card title="Mapping CRM" icon="arrows-rotate" href="/user-guide/data-model/reference/crm-mapping">
    Directions de synchronisation et compatibilité des champs CRM.
  </Card>
</CardGroup>
