> For the complete documentation index, see [llms.txt](https://developers.mobilic.beta.gouv.fr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.mobilic.beta.gouv.fr/guides/authentification/jetons-lies-a-un-rattachement/liaison-de-votre-logiciel-a-une-societe.md).

# Liaison de votre logiciel à une société

## Cas d'une société déjà existante dans Mobilic

Vous pouvez communiquer votre `client_id` à un gestionnaire de cette société. Il pourra alors le rentrer dans sa console gestionnaire dans Mobilic :&#x20;

<figure><img src="https://3593079205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8AUQ9jeuOIPCJADeIOGX%2Fuploads%2FqGAMMPqn5RKMoTQHEf7e%2Fimage.png?alt=media&amp;token=b2500e6f-b32c-42b7-904c-d681cbac2796" alt=""><figcaption></figcaption></figure>

## Cas d'une société non existante dans Mobilic

Vous pouvez créer une société dans Mobilic et y être automatiquement lié, en faisant un appel API au endpoint [/protected](/guides/authentification/jetons-lies-a-un-rattachement.md#endpoint-protected) :

```graphql
mutation {
    company{
    softwareRegistration(
        clientId: 156432124,
        usualName: "Nom de la société",
        siren: "110068012",
        siret: "12234567005",
        nbWorkers: 10
      ){
        id
        name
    }
  }
}
```

Le paramètre `nbWorkers` est obligatoire et correspond au nombre de salariés de l'entreprise. Cette information est nécessaire pour permettre le calcul du certificat Mobilic. La valeur doit être un entier strictement supérieur à 0.

## Contraintes métier importantes

#### Restriction SIREN/SIRET

**⚠️ Contrainte métier** : Une entreprise ne peut pas être enregistrée à la fois de façon **globale** (représentant tous ses établissements) ET par **établissements spécifiques** (avec des SIRETs distincts).

**Explication**

Dans Mobilic, une entreprise peut être enregistrée selon deux modes :

1. **Mode global** : L'entreprise représente l'ensemble de ses établissements (aucun SIRET spécifique)
2. **Mode établissements** : L'entreprise est enregistrée pour des établissements spécifiques (avec SIRETs)

Ces deux modes sont **mutuellement exclusifs** pour un même SIREN.

**Cas d'erreur :**&#x20;

La mutation `softwareRegistration` échouera si :

* Une entreprise existe déjà en **mode global** pour le SIREN donné
* ET vous tentez de créer un établissement **spécifique** avec un SIRET

**Exemple complet**

**1. Création initiale en mode global (réussit)** :

```graphql
mutation {
    company {
        softwareRegistration(
            clientId: 156432124,
            usualName: "Société Globale",
            siren: "110068012",
            nbWorkers: 10
            # ← Pas de SIRET = mode global
        ) {
            id
            name
        }
    }
}
```

2. Tentative de création d'établissement spécifique (échoue) : <br>

```graphql
mutation {
      company {
          softwareRegistration(
              clientId: 156432124,
              usualName: "Établissement spécifique",
              siren: "110068012",
              siret: "11006801200123",  # ← SIRET spécifique
              nbWorkers: 10
          ) {
              id
              name
          }
      }
  }
```

Réponse d'erreur :&#x20;

```json
{
    "errors": [{
      "message": "Company already registered globally for this SIREN (representing all establishments). Cannot create 
  SIRET-specific establishments.",
      "locations": [{"line": 4, "column": 15}],
      "path": ["company", "softwareRegistration"],
      "extensions": {
        "code": "SIREN_ALREADY_SIGNED_UP"
      }
    }],
    "data": {
      "company": {
        "softwareRegistration": null
      }
   
```

### Solutions recommandées

Choisir une approche cohérente dès le départ :

Option 1 : **Approche globale**

* Créez l'entreprise sans SIRET pour représenter tous les établissements
* Idéal pour les entreprises avec gestion centralisée

Option 2 : **Approche par établissements**

* Créez directement chaque établissement avec son SIRET spécifique
* Idéal pour les entreprises avec gestion décentralisée par établissement

⚠️ Important : Une fois le mode choisi pour un SIREN, il ne peut plus être modifié. Planifiez votre stratégie d'enregistrement en fonction de vos besoins métier.
