Création et modification d'une mission
Ce scénario illustre comment créer une nouvelle mission dans Cegid Expert, puis comment modifier certaines de ses informations.
Processus global
Le processus de création et de modification d'une mission dans Cegid Expert se déroule en plusieurs étapes.
- Vérifier l'existence de la mission
- Créer la mission si elle n'existe pas
A. Vérifier l'existence du client associé
B. Créer le client associé si nécessaire
C. Créer la mission depuis le client - Modifier les informations de la mission si nécessaire
- et suivants. Procéder à d'autres opérations sur la mission (définir les conditions de paiement, ajouter des échéances, marquer une échéance comme facturée, clôturer la mission, etc.)
flowchart LR
A((Mission)):::step --> B[ViewMissionsUsingFilters]
B --> C{Existe}
C -->|Oui| E
C -->|Non| D[CreateBasicMission]
D --> E[/Id/]:::result
E --> F0[UpdateSingleMission] --> Z
E --> F1[DefineMissionPaymentTerms] --> Z
E --> F2[AddMissionDues] --> Z
E --> F3[ClearMissionDues] --> Z
E --> F4[SetMissionSingleDueToBilled] --> Z
E --> F5[CloseMission] --> Z
G((Client)):::step --> H[ViewCustomersUsingFilters]
H --> I{Existe}
I -->|Oui| K
I -->|Non| J[CreateCustomerFromAnnuary]
J --> K[/Customer Id/]:::result
L((Annuaire)):::step --> M[ViewAnnuariesUsingFilters]
M --> N{Existe}
N -->|Oui| P
N -->|Non| O[CreateAnnuary]
O --> P[/Annuary Id/]:::result
K --> D
P --> J
Z((Fin)):::step
classDef default fill:#ffffff,color:#0046ff,stroke:#0046ff
classDef result fill:#0046ff,color:#ffffff,stroke:#0046ff
classDef step fill:#ffffff,color:#FF5C35,stroke:#FF5C35
Toutes les méthodes dont l'objectif est de modifier ou d'effectuer des opérations sur une mission fonctionnent également pour les avenants issus de la mission.
Ces méthodes n'ont pas d'effet sur une mission clôturée ou un avenant clôturé.
Étape 1 : Vérifier l'existence de la mission
La première étape consiste à vérifier si la mission que vous souhaitez créer existe déjà.
Note
Cette étape peut être omise si vous êtes certain que la mission n'existe pas.
Utiliser l'API de consultation des missions.
Il s'agit de la méthode ViewMissionsUsingFilters de l'API MissionConsultationWebService.
Cette méthode permet de rechercher des missions en utilisant des filtres.
La recherche se fait idéalement via l'identifiant du client, les dates de début et de fin de mission et le type de mission.
Ci-dessous, un exemple de corps de requête JSON pour rechercher une mission par son identifiant client, sa date de début, sa date de fin et son type.
{
"page": {
"pageIndex": 1,
"pageSize": 10
},
"filters": [
{
"LogicOperator": 1,
"Property": 1,
"ConstantValue": "JDO001",
"ComparisonOperateur": 1,
"Inversion": false
},
{
"LogicOperator": 1,
"Property": 2,
"ConstantValue": "2025-01-01",
"ComparisonOperateur": 1,
"Inversion": false
},
{
"LogicOperator": 1,
"Property": 3,
"ConstantValue": "2025-12-31",
"ComparisonOperateur": 1,
"Inversion": false
},
{
"LogicOperator": 1,
"Property": 4,
"ConstantValue": "COM",
"ComparisonOperateur": 1,
"Inversion": false
}
]
}
Si la mission existe, l'API retournera, entre autres, son identifiant unique.
Le retour avec la requête effectuée ressemblera à ceci :
{
"page": {
"pageCount": 1
},
"missions": [
{
"id": "ACOM2025000000300",
"description": "Mission Comptable John DOE",
"startDate": "2025-01-01T00:00:00",
"endDate": "2025-12-31T00:00:00",
"state": "ENC",
"customerId": "JDO001",
"totalAmount": 12000.0000
}
]
}
Ici, la mission existe déjà et son identifiant est ACOM2025000000300.
Si aucune mission ne correspond aux filtres de recherche, la liste des missions sera vide :
{
"page": {
"pageCount": 0
},
"missions": []
}
Note
Pour plus de précisions, veuillez consulter la documentation spécifique à cette API.
https://developers.cegid.com/api-details#api=cpa-expert-coresalesadministration&operation=MissionConsultation-post-missionconsultationwebservice-viewmissionsusingfilters
Étape 2 : Rechercher le client lié à la mission
Une mission est toujours associée à un client.
Avant de créer une mission, il est donc nécessaire de s'assurer que le client associé existe.
Note
Cette étape peut être omise si le client existe déjà et si vous connaissez son identifiant.
Vous pouvez vous référer au scénario "Création et modification d'un client" pour vérifier l'existence du client, le créer et le modifier au besoin, et au final, obtenir son identifiant.
Étape 3 : Créer la mission
Une fois que vous avez l'identifiant du client, vous pouvez créer la mission associée en utilisant l'API de création de mission.
Note
Cette étape peut être omise si la mission existe déjà.
Il s'agit de la méthode CreateBasicMission de l'API MissionInserionWebService.
Cette méthode nécessite l'identifiant du client ainsi que les informations de base de la mission à créer.
Ci-dessous, le corps de la requête JSON utilisée pour créer la mission comptable de John DOE.
{
"missionCode": "COM",
"description": "Mission Comptable John DOE",
"customerId": "JDO001",
"startDate": "2025-01-01",
"endDate": "2025-12-31",
"missionPeriod": {
"firstYear": 2025,
"month": null,
"secondYear": null
},
"totalAmount": 12000
}
Note
Pour plus de précisions, veuillez consulter la documentation spécifique à cette API.
https://developers.cegid.com/api-details#api=cpa-expert-coresalesadministration&operation=MissionInsertion-post-missioninsertionwebservice-createbasicmission
Important
Dans cet exemple, month et secondYear sont définis à null car le format de l'identifiant de mission est défini sur "Millésime fin [AAAA]".
Veuillez vous référer aux paramètres société de la GI.

Note
Ces informations sont désormais retournées par la méthode consultation des paramètres liés aux missions.
https://developers.cegid.com/api-details#api=cpa-expert-coresalesadministration&operation=MissionConsultation-get-missionconsultationwebservice-viewmissionsettings
{
"identifierFormat": {
"id": "A",
"description": "Millésime fin (AAAA)",
"shortDescription": "AAAA",
"firstFiscalYearRequired": true,
"secondFiscalYearRequired": false,
"monthRequired": false
},
"customCodes": [...],
"invocingProfiles": [...]
}
Si la création de la mission est un succès, l'API retournera l'identifiant unique de la mission créée.
"ACOM2025000000300"
Note
Cet identifiant devra être utilisé pour toute opération ultérieure sur cette mission, comme la modification de ses informations ou la gestion de ses échéances.
Étape 4 : Modifier les informations de la mission
Une fois la mission créée, vous pouvez modifier ses informations si nécessaire en utilisant l'API de mise à jour des missions.
Il s'agit de la méthode UpdateSingleMission de l'API MissionModificationWebService.
Cette méthode n'aura aucun effet sur une mission clôturée.
Important
Veuillez vous référer aux principes de mise à jour des données afin d'éviter de faire des erreurs lors de l'appel à cette méthode.
Le JSON ci-dessous va modifier les données de facturation de la mission
{
"id": "ACOM2025000000300",
"invoicingInformation": {
"invoicingFrequency": {
"forecastType": 1,
"frequency": 2,
"frequencyInterval": 1
},
"invoicingDates": {
"startDate": "2025-01-01T00:00:00",
"endDate": "2025-12-31T00:00:00",
"liquidationDate": "2099-12-31T00:00:00"
},
"invoicingLump": {
"percentage": 0,
"accountantFamily": "",
"isExclusiveOfTax": false,
"lumpSum": 1000
},
"invoicingDuesGeneration": {
"generationType": 8,
"invoiceProfile": "DEF",
"activityPicking": 14
}
}
}
Note
Pour plus de précisions, veuillez consulter la documentation spécifique à cette API.
https://developers.cegid.com/api-details#api=cpa-expert-coresalesadministration&operation=MissionModification-post-missionmodificationwebservice-updatesinglemission
Si la modification de la mission est un succès, l'API retournera la valeur true.
Si la mission est clôturée, la modification échouera et l'API retournera la valeur false.
Étape 5 : Définir les conditions de paiement de la mission
Cette étape permet de définir les conditions de paiement d'une mission non clôturée.
Il s'agit de la méthode DefineMissionPaymentTerms de l'API MissionModificationWebService.
Note
Cette méthode n'est généralement appelée qu'une seule fois, juste après la création de la mission.
Vous pouvez vérifier si les conditions de paiement sont déjà définies en consultant les informations de la mission via l'API de consultation des missions.
Le JSON ci-dessous recherche les conditions de paiement de la mission créée précédemment.
{
"page": {
"pageIndex": 1,
"pageSize": 1
},
"filters": [
{
"LogicOperator": 1,
"Property": 10,
"ConstantValue": "ACOM2025000000300",
"ComparisonOperateur": 1,
"Inversion": false
}
],
"Selection" : [2]
}
Note
La sélection 2 permet de récupérer les informations relatives aux conditions de paiement.
Si elle est omise, seules les données de base de la mission sont retournées.
Si les conditions de paiement ne sont pas définies, l'objet paymentTerms sera absent ou à null dans la réponse de l'API :
{
"page": {
"pageCount": 1
},
"missions": [
{
"id": "ACOM2025000000300",
"description": "Mission Comptable John DOE",
"startDate": "2025-01-01T00:00:00",
"endDate": "2025-12-31T00:00:00",
"state": "ENC",
"customerId": "JDO001",
"totalAmount": 12000.0000
}
]
}
Le JSON ci-dessous définit les conditions de paiement de la mission créée précédemment.
{
"id": "ACOM2025000000300",
"customerInformation": {
"billedCustomerId": "JDO001",
"payingCustomerId": "JDO001"
},
"paymentTermsInformation": {
"paymentMode": "CHQ",
"vatChargeability": 2,
"taxRegime": "NOR"
}
}
Dès lors que les conditions de paiement sont définies, elles sont visibles si la valeur 2 (conditions de paiement) est demandée dans la sélection.
{
"page": {
"pageCount": 1
},
"missions": [
{
"id": "ACOM2025000000300",
"description": "Mission Comptable John DOE",
"startDate": "2025-01-01T00:00:00",
"endDate": "2025-12-31T00:00:00",
"state": "ENC",
"customerId": "JDO001",
"totalAmount": 12000.0000,
"paymentTerms": {
"billedCustomerId": "JDO001",
"payingCustomerId": "JDO001",
"paymentMode": "CHQ",
"vatChargeabilityId": 2,
"vatChargeabilityCode": "TE ",
"vatChargeabilityDescription": "TVA sur les encaissements",
"taxRegime": "NOR",
"bankingIdentityReference": ""
}
}
]
}
Si la définition des conditions de paiement est un succès, l'API retournera la valeur true.
Si la mission est clôturée, le traitement échouera et l'API retournera la valeur false.
Note
Pour plus de précisions, veuillez consulter la documentation spécifique à cette API. https://developers.cegid.com/api-details#api=cpa-expert-coresalesadministration&operation=MissionModification-post-missionmodificationwebservice-definemissionpaymentterms
Étape 6 : Ajouter des échéances à la mission
Cette étape permet d'ajouter des échéances de facturation à une mission non clôturée.
Il s'agit de la méthode AddMissionDues de l'API MissionModificationWebService.
Note
Cette méthode doit être appelée après avoir défini les données de facturation de la mission.
Le JSON ci-dessous permet d'ajouter des échéances mensuelles à la mission créée précédemment.
L'exemple a été volontairement tronqué pour ne pas surcharger cette documentation.
{
"id": "ACOM2025000000300",
"dues": [
{
"date": "2025-01-01T00:00:00",
"description": "Facture janvier 2025",
"amount": 1000,
"percentage": 0
},
{
"date": "2025-02-01T00:00:00",
"description": "Facture février 2025",
"amount": 1000,
"percentage": 0
}
]
}
Si l'ajout des échéances est un succès, l'API retournera la valeur true.
Si la mission est clôturée, l'ajout d'échéances échouera et l'API retournera la valeur false.
Note
Pour plus de précisions, veuillez consulter la documentation spécifique à cette API.
https://developers.cegid.com/api-details#api=cpa-expert-coresalesadministration&operation=MissionModification-post-missionmodificationwebservice-addmissiondues
Étape 7 : Supprimer les échéances de la mission
Cette étape permet de supprimer toutes les échéances de facturation d'une mission non clôturée.
Il s'agit de la méthode ClearMissionDues de l'API MissionModificationWebService.
Cette méthode n'a pas de corps de requête.
Toutefois, l'identifiant de la mission doit être passé via un paramètre id dans l'URL.
Note
Cette étape peut être omise dans la majorité des cas.
En effet, cette méthode est utilisée pour réinitialiser les échéances avant d'en ajouter de nouvelles.
Si la suppression des échéances est un succès, l'API retournera la valeur true.
Si la mission est clôturée, la suppression des échéances échouera et l'API retournera la valeur false.
Note
Pour plus de précisions, veuillez consulter la documentation spécifique à cette API. https://developers.cegid.com/api-details#api=cpa-expert-coresalesadministration&operation=MissionModification-delete-missionmodificationwebservice-clearmissiondues-id-id
Étape 8 : Marquer une échéance comme facturée
Cette étape permet de marquer une échéance spécifique comme facturée pour une mission non clôturée.
Il s'agit de la méthode SetMissionSingleDueToBilled de l'API MissionModificationWebService.
Elle nécessite l'identifiant de la mission ainsi que le numéro de l'échéance à marquer comme facturée.
Pour obtenir le numéro d'une échéance, vous devez appeler l'API de consultation des missions avec le numéro de sélection 10.
Le JSON ci-dessous demande les informations de facturation
{
"page": {
"pageIndex": 1,
"pageSize": 10
},
"filters": [
{
"LogicOperator": 1,
"Property": 10,
"ConstantValue": "ACOM2025000000300",
"ComparisonOperateur": 1,
"Inversion": false
}
],
"Selection" : [10]
}
Les échéances sont retournées dans la collection dues au sein de l'objet invoicingInformation.
Si la mission n'a pas d'échéance, la collection sera vide.
{
"page": {
"pageCount": 1
},
"missions": [
{
"id": "ACOM2025000000300",
"description": "Mission Comptable John DOE",
"startDate": "2025-01-01T00:00:00",
"endDate": "2025-12-31T00:00:00",
"state": "ENC",
"customerId": "JDO001",
"totalAmount": 12000.0000,
"invoicingInformation": {
"forecastTypeId": 1,
"forecastTypeCode": "GEN",
"forecastTypeDescription": "Sur la période de génération",
"frequencyId": 2,
"frequencyCode": "M",
"frequencyDescription": "Mensuelle",
"frequencyInterval": 1,
"startDate": "2025-01-01T00:00:00",
"endDate": "2025-12-31T00:00:00",
"liquidationDate": "2099-12-31T00:00:00",
"accountantFamily": "",
"isExclusiveOfTax": false,
"lumpSum": 1000.0000,
"percentage": 0.0000,
"generationTypeId": 8,
"generationTypeCode": "MAN",
"generationTypeDescription": "Manuelle",
"invoiceProfile": "DEF",
"activityPickingId": 14,
"activityPickingCode": "NON",
"activityPickingDescription": "Activité non reprise",
"dues": [
{
"dueNumber": 1,
"date": "2025-01-01T00:00:00",
"amount": 1000.0000,
"percentage": 0.0000,
"description": "Facture janvier 2025",
"isBilled": false,
"generationTypeId": 8,
"generationTypeCode": "MAN",
"generationTypeDescription": "Manuelle",
"invoiceProfile": "DEF",
"activityPickingId": 14,
"activityPickingCode": "NON",
"activityPickingDescription": "Activité non reprise"
},
{
"dueNumber": 2,
"date": "2025-02-01T00:00:00",
"amount": 1000.0000,
"percentage": 0.0000,
"description": "Facture février 2025",
"isBilled": false,
"generationTypeId": 8,
"generationTypeCode": "MAN",
"generationTypeDescription": "Manuelle",
"invoiceProfile": "DEF",
"activityPickingId": 14,
"activityPickingCode": "NON",
"activityPickingDescription": "Activité non reprise"
}
]
}
}
]
}
Ici, le retour montre que la mission a deux échéances, numérotées 1 et 2, toutes deux non facturées ("isBilled" : false).
Le JSON ci-dessous permet de marquer la première échéance (celle de janvier 2025, numérotée 1) comme facturée.
{
"id": "ACOM2025000000300",
"dueNumber": 1
}
Si le marquage de l'échéance comme facturée est un succès, l'API retournera la valeur true.
Si la mission est clôturée, le traitement échouera et l'API retournera la valeur false.
Étape 9 : Créer un avenant de mission
Cette étape permet de créer un avenant à une mission existante.
Il s'agit de la méthode CreateMissionAmendment de l'API MissionInserionWebService.
Le JSON ci-dessous permet de créer un avenant à la mission à l'étape 3.
{
"id": "ACOM2025000000300"
}
Note
Cette méthode recherche le dernier avenant non clôturé de la mission (s'il y en a un) et crée un nouvel avenant à partir des informations trouvées soit dans cet avenant non clôturé, soit dans la mission si elle n'est pas clôturée.
Important
Cet avenant est une copie de l'avenant ou de la mission dont il est issu, à l'exception de son identifiant.
Il faudra repasser par les étapes précédentes pour en modifier les informations si nécessaire.
Étape 10 : Clôturer la mission
Cette étape permet de clôturer une mission.
Il s'agit de la méthode CloseMission de l'API MissionModificationWebService.
La clôture d'une mission n'entraîne pas sa suppression.
Important
Une fois une mission clôturée, elle ne peut plus être modifiée via les API Cegid Expert.
Le JSON ci-dessous permet de clôturer une mission. La date de clôture sera fixée à la date du jour.
{
"id": "ACOM2025000000300"
}
Le JSON ci-dessous permet de clôturer la mission créée précédemment en spécifiant une date de clôture.
{
"id": "ACOM2025000000300",
"closingDate": "2025-12-31T00:00:00"
}