# Cn285 Daemons

Il existe plusieurs Daemons dans Cn285 en fonction de vos modules installés.

* Cn Contract Change Process Daemon
* Cn Contract Item Renewal Daemon
* Cn Billing Daemon
* Cn Invoice Email Sender Daemon
* Cn Usage Triggered Invoicing Schedule Generator Daemon
* Cn285 RevRec Summary Journal Daemon

### Cn Contract Change Process Daemon

Ce Daemon permet de gérer toutes les demandes de modification relatives à un contrat (changement de quantité, de tarif, d'item, demande de résiliation,...)

### Cn Contract Item Renewal Daemon

Ce Daemon est dédié aux actions liées au renouvellement des contrats qui impliquent notamment la génération des nouveaux Invoicing Schedules,, entre autres.

### Cn Billing Daemon

Le Billing Daemon gère toutes les opérations autour de la facture

### Cn Invoice Email Sender Daemon

Le Invoice Email Sender Daemon gère l'envoi des factures aux clients ou aux utilisateurs Cn285

### Cn Usage Triggered Invoicing Schedule Generator Daemon

Ce Deamon génère une facture dès que des données d'usage sont imputées à un item de type Usage Triggered Invoicing (UTI)

### Cn285 RevRec Summary Journal Daemon

<figure><img src="/files/57Rujf7i1udpgmC5M47Q" alt=""><figcaption><p>Exemple de configuration pour mars 2022</p></figcaption></figure>

Ce Daemon est présent si le module RevRec est installé sur votre instance. Il permet de générer les écritures de synthèse des [Summary Journals](/cn285-documentation/menu-accounting/summary-entities/summary-journals.md). Afin de générer les écritures, il est nécessaire de renseigner dans les parenthèses de la ligne 'model.summary\_journal\_daemon' (onglet "Code Python"), l'année et le mois de la période voulue.

## Lancement des Daemons <a href="#lancement-manuel-des-automatisations-manual-deamons" id="lancement-manuel-des-automatisations-manual-deamons"></a>

La procédure est la même dans tous les cas, seul change le Daemon que l'on active.&#x20;

{% hint style="warning" %}
Nous vous recommandons de ne pas modifier la configuration des Daemons. Ceux-ci ont été paramétrés afin de garantir des performances optimales.
{% endhint %}

### Mode Manuel

Le lancement en mode manuel d'un Daemon est à réaliser sur une base de test ou de staging et surtout pas sur une base de production. En production, les Daemons seront automatisés.

Les Daemons peuvent être lancés en mode manuel pour, par exemple, tester un ContractItem de type UTI, sans avoir à attendre le passage du moteur de traitement.

Sous **Cn / QS / Workers**, choisir le daemon souhaité

![Daemon de génération des IS pour des ContractItems de type UTI.](/files/71G8mfzIeafeQ90tfPVw)

Cliquer sur le bouton 'Modifier' puis renseigner une date dans le champ **Cn Process Now.** Ce champ permet de simuler la date à laquelle le daemon se lance.&#x20;

{% hint style="warning" %}
La valeur du champ **Cn Process Now** doit être postérieure aux dates des Usages Datas renseignées.
{% endhint %}

Sauvegarder ensuite ce Daemon puis cliquer sur le bouton ![](/files/I0Euq9UGts9MG4QdAWy9)

Il est possible de visualiser l'avancement des Daemons avec le menu **QS / Message.**

Une fois que le Daemon des UTI est terminé, retourner sur la fenêtre du contrat concerné :

* Cliquer sur les Usages Datas. Ils sont passés du statut “Pending” à “Collected”.
* Cliquer sur les Invoicing Schedules. Une ou des lignes d'IS sont apparues au statut “Calculated”.
* Vérifier que le calcul des données variables est correct en ouvrant la fenêtre de l'IS.

L'Invoicing Schedule pourra être facturé par le Daemon de facturation (Billing Daemon).

### Mode automatique <a href="#en-automatique" id="en-automatique"></a>

Dans notre exemple ci-dessus, le lancement des données variables de type UTI s'exécute en automatique toutes les 4h.

* **Exécuter tous les :** L'intervalle d'exécution des actions planifiées.&#x20;
* **Actif :** Lorsque cette case est décochée l'action planifiée ne fonctionnera plus qu'en manuel.
* **Prochaine date d'exécution**: Indique la prochaine date à laquelle le Daemon va s'exécuter.
* **Nombre d'appels** : La valeur -1 permet de définir une répétition sans fin des tâches planifiées.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cn285.app/cn285-documentation/menu-configuration/cn285-daemons.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
