---
title: "Utilisation"
weight: 30
description: "Certifier une facture de vente, suivre le registre et débloquer une pièce dont l'issue est inconnue."
---

# Utilisation

## Le principe : rien ne part sans vous

Le module ne certifie jamais de sa propre initiative. Valider une facture dans
Dolibarr ne déclenche aucun envoi, et aucune tâche planifiée ne rattrape les
pièces en attente. Chaque certification est une décision prise pièce par pièce,
depuis l'onglet **FNE** de la facture.

Deux raisons à cela. D'abord, la plateforme date la facture à l'instant de
l'appel : le corps de la requête ne porte aucune date, donc c'est le moment de
l'envoi qui fait foi, et c'est à vous de choisir ce moment. Ensuite, une facture
certifiée ne s'annule pas : un automatisme qui se trompe produit une écriture
fiscale que seul un avoir peut corriger.

## Certifier une facture de vente

### 1. Ouvrir l'onglet FNE

Ouvrez la facture client, puis son onglet **FNE**. Le haut de l'écran rappelle
d'abord où irait la requête :

- l'environnement courant, **Test** ou **Production**, dans un bandeau ;
- l'adresse réellement appelée ;
- la clé d'API sous forme masquée.

Si votre configuration ne permet aucun envoi, un message rouge le dit ici, avec
la raison exacte : identité du dossier incomplète, clé absente, adresse refusée.
Corrigez-la dans les [paramètres du module](/capcifne/configuration) avant
d'aller plus loin.

**Seule une facture validée ou classée payée se certifie.** Sur un brouillon ou
sur une facture abandonnée, le module refuse et le dit : les lignes d'un
brouillon changent encore, sa référence n'est pas définitive, et la plateforme
date la facture à l'instant de l'appel. Certifier un brouillon déposerait à la
DGI une pièce qui bouge la minute d'après - et une facture certifiée ne
s'annule pas, elle se corrige par un avoir.

### 2. Lire la simulation

La simulation s'affiche d'office, sans rien envoyer et sans rien écrire. Vous y
voyez la requête telle qu'elle partirait :

- la méthode et l'adresse complète ;
- les en-têtes, **clé d'API masquée** ;
- le corps JSON, champ par champ ;
- l'empreinte SHA-256 de ce corps, qui servira ensuite à repérer une facture
  modifiée après sa certification.

Si un contrôle refuse la pièce, c'est ici que vous l'apprenez, avec le code
d'erreur nommé et, le cas échéant, le numéro de la ligne fautive. Vous n'avez pas
besoin de cliquer pour découvrir qu'une facture est bloquée.

Le bouton **Simuler** rejoue cet affichage à la demande, par exemple après avoir
corrigé une fiche tiers dans un autre onglet.

### 3. Lire les avertissements

Sous la requête, le module signale ce qui mérite votre attention sans bloquer
l'envoi. Par exemple :

- le client n'a pas d'adresse électronique, que la procédure de la DGI déclare
  obligatoire alors que la plateforme a déjà accepté une facture sans ;
- le NCC du client ressemble à une valeur d'exemple, est un caractère répété,
  fait moins de quatre caractères, ou est déjà porté par un autre tiers ;
- une ligne ne porte aucune désignation ;
- les remises de la facture ont été réparties dans les prix unitaires nets
  envoyés ;
- la somme des quantités par les prix unitaires s'écarte de plus d'un centime du
  total hors taxes de la facture ;
- aucun taux de change n'est renseigné alors que la facture est en devise
  étrangère.

Ces avertissements ne disparaissent pas tout seuls : ils décrivent ce qui partira
réellement.

### 4. Confirmer, puis envoyer

Le bouton **Certifier auprès de la DGI** n'envoie rien tant que la case **Je
confirme l'envoi réel de cette facture à la DGI** n'est pas cochée. Sans la case,
le bouton se contente de simuler et vous le dit.

Cette case est volontairement indépendante de toute confirmation générique de
Dolibarr : aucun outil qui parcourt les pages d'un module ne doit pouvoir
certifier une facture par accident.

### 5. Lire l'issue

Quatre issues possibles, et elles ne se ressemblent pas.

| Message | Ce qui s'est passé | Ce qu'il faut faire |
|---|---|---|
| **Facture certifiée sous la référence ...** | La plateforme a accepté et renvoyé une référence lisible. | Rien. La référence FNE est désormais votre référence fiscale. |
| **La plateforme a refusé la facture.** | Refus net : rien n'a été créé chez la DGI. | Corriger ce que le code d'erreur indique, puis renvoyer. La pièce repart. |
| **Issue inconnue : la DGI détient peut-être cette facture.** | Erreur serveur, absence de réponse dans le délai, ou réponse dont aucune référence n'est lisible. | **Ne renvoyez pas.** Consultez le portail de la DGI, puis inscrivez votre constat sur la fiche de la certification. Voir plus bas. |
| **Envoi refusé avant tout départ.** | Un contrôle du module ou le registre a refusé : rien n'est parti. | Corriger ce que le code d'erreur indique. |

> [!CAUTION]
> Une issue inconnue n'est **pas** un échec. La plateforme d'essai de la DGI a
> déjà été observée en train de certifier des factures tout en répondant une
> erreur serveur, et son portail ne les publiait pas immédiatement. Traiter cette
> situation comme un échec et renvoyer, c'est exactement ce qui a déjà produit
> une facture déposée deux fois.

## Les six états d'une pièce

| État | Ce qu'il veut dire | La pièce peut-elle repartir ? |
|---|---|---|
| **Connue, pas encore contrôlée** | Le registre connaît la pièce, rien n'est parti. | oui |
| **Contrôlée, prête à partir** | Les contrôles sont passés, le corps est calculé. | oui |
| **Envoyée, issue inconnue** | Une requête est partie et nous ne savons pas ce qu'elle est devenue. | **non** |
| **Constatée au portail, sans référence publiée** | Un opérateur a vu la pièce au portail, mais aucun numéro exploitable n'y figure. | **non** |
| **Certifiée** | La plateforme l'a certifiée, la référence est enregistrée. | non, c'est terminé |
| **Refusée** | Refus net de la plateforme, ou blocage par nos contrôles. Rien n'existe chez la DGI. | oui, une fois corrigée |

Les deux états bloquants, **Envoyée** et **Constatée sans référence publiée**, ne
se quittent jamais tout seuls. Aucun code de retour ne les débloque : seul un
opérateur qui a regardé le portail de la DGI le fait, et le module le lui dit
partout où ces états s'affichent.

## Ce que Dolibarr n'autorise plus sur une pièce partie à la DGI

Dès qu'une pièce est **Certifiée**, **Envoyée** ou **Constatée au portail**, la
DGI en détient une version que rien ne peut reprendre. Le module interpose donc
un garde-fou sur la facture Dolibarr, de vente comme d'achat :

| Opération Dolibarr | Ce que fait le module | Pourquoi |
|---|---|---|
| **Dévalider** (repasser en brouillon) | **Refusé**, l'opération est annulée | Un brouillon peut voir sa référence réattribuée et ses lignes modifiées, alors que la DGI détient la version certifiée |
| **Supprimer** | **Refusé**, l'opération est annulée | La pièce reste certifiée chez la DGI et la ligne du registre pointerait dans le vide |
| **Modifier** (note, échéance, projet...) | **Autorisé**, inscrit au journal, avertissement à l'écran | Refuser bloquerait le travail courant pour un risque que l'empreinte détecte déjà au prochain envoi |

Un avertissement s'affiche après chaque modification : à partir de là, **un avoir
est le seul moyen de corriger** ce que la DGI détient. Le journal du registre
garde qui a modifié la pièce et quand.

Une pièce qui n'est jamais partie (**Connue**, **Prête** ou **Refusée**) n'est
pas concernée : rien n'existe chez la DGI, Dolibarr reprend la main entière.

## La page d'accueil du module

Le menu du haut donne accès à l'accueil du module. Il présente, dans cet ordre :

1. **Les pièces bloquées**, en premier et en capitales quand il y en a. Ce sont
   celles dont l'issue est inconnue : la DGI les détient peut-être.
2. **Le stock de stickers**, tel que la dernière réponse de la plateforme l'a
   renvoyé, avec la date de ce relevé et l'alerte si le seuil est atteint.
3. **Les derniers refus**, avec leur code d'erreur.
4. **Les compteurs par état**, chacun cliquable vers la liste filtrée.

Le bandeau d'environnement y figure aussi : un module resté en Production par
inadvertance certifie pour de vrai.

> [!NOTE]
> Si le registre ne peut pas être lu, cette page s'arrête sur un message d'erreur
> au lieu d'afficher des compteurs à zéro. C'est délibéré : zéro se lirait "rien
> n'a jamais été certifié", donc "tout peut repartir".

## Le registre des certifications

Le second lien du menu ouvre la liste de toutes les certifications : ventes,
bordereaux d'achat et avoirs y figurent ensemble, distingués par une colonne
**Sens**. Deux listes séparées éviteraient la confusion, mais aussi la vue
d'ensemble.

Colonnes : sens, pièce Dolibarr, référence FNE, état, environnement, nombre de
requêtes parties, date d'ouverture, date d'envoi.

Filtres disponibles : sens, référence FNE, état, environnement, et une période
sur la date d'ouverture.

> [!NOTE]
> Les deux bornes de période se saisissent au format **AAAA-MM-JJ**. Une saisie
> d'un autre format n'est pas appliquée, et le module vous le dit en toutes
> lettres plutôt que de vous laisser croire que vous voyez tout le registre.

## La fiche d'une certification

Le bouton **Ouvrir** de la liste mène à la fiche d'une certification. Elle
rassemble tout ce que le registre détient :

- la pièce Dolibarr d'origine, avec un lien vers son onglet FNE ;
- le sens, l'état, l'environnement ;
- la référence FNE, l'identifiant DGI de la facture, le code de vérification ;
- l'empreinte du corps envoyé ;
- le nombre de requêtes parties et le dernier code HTTP ;
- le stock de stickers relevé et l'éventuelle alerte de la plateforme ;
- le dernier refus, le cas échéant ;
- l'origine de ce qui est affirmé : réponse de la plateforme, déclaration d'un
  opérateur, ou origine inconnue ;
- **la réponse brute de la plateforme**, conservée telle quelle, y compris en
  échec.

> [!IMPORTANT]
> La réponse brute n'est pas un détail technique. C'est elle qui porte les
> identifiants d'articles attribués par la DGI, et **sans eux aucun avoir n'est
> possible**. Ne la supprimez pas, ne purgez pas le registre.

Quand plus d'une requête est partie pour la même pièce, la fiche l'écrit en
capitales : la DGI en détient peut-être plusieurs exemplaires, et aucune interface
de programmation ne permet de le vérifier.

### Le journal

Le journal est **en ajout seul** : le module n'offre aucun moyen de modifier ni
de supprimer une ligne. Corriger une entrée se fait en ajoutant une autre qui le
dit.

Chaque ligne porte en plus une empreinte calculée sur son contenu et sur
l'empreinte de la ligne précédente. Une modification faite directement en base
de données - changer un motif, une date, un code HTTP, supprimer une ligne -
casse cette chaîne, et l'onglet Diagnostic le signale. Ce n'est pas une
signature : l'algorithme est public et sans secret, donc une main déterminée
peut tout recalculer. Cela rend visibles la modification négligente et la
corruption silencieuse, qui sont ce qu'un contrôle rencontre en pratique.

En dessous, le journal en ajout seul : une ligne par requête partie, par réponse
reçue et par décision d'opérateur. Chaque ligne porte la date des faits, la date
de la saisie, l'événement, son genre (constaté ou reconstitué), son origine, le
code HTTP, le changement d'état, le motif écrit et son auteur.

Les lignes sont classées par **date des faits**, pas par date de saisie. Une
entrée reconstituée prend donc sa place dans la chronologie tout en restant
marquée comme reconstituée.

Rien ne s'y modifie et rien ne s'y supprime : c'est précisément la reconstruction
d'une trace à neuf qui a produit, ailleurs, un doublon réel.

## Débloquer une pièce dont l'issue est inconnue

C'est la manoeuvre centrale du module, et la seule qui puisse créer un doublon.
Elle demande la permission de déblocage, distincte de celle d'envoyer.

> [!IMPORTANT]
> **Aucune de ces décisions n'appelle la plateforme FNE.** L'API ne propose
> aucune lecture. Ce que vous inscrivez ici est **votre constat**, fait en
> regardant le portail de la DGI, et le journal le conserve comme tel.

Allez au portail de la DGI, cherchez la pièce, puis revenez sur sa fiche et
inscrivez ce que vous avez vu. Trois constats, exclusifs l'un de l'autre.

### Présente au portail sous ce numéro

Vous avez vu la pièce et relevé sa référence. C'est une preuve positive :
**aucun délai n'est demandé**. La référence est exigée, elle ne se déduit jamais
d'un champ laissé vide. Vous pouvez aussi relever l'identifiant DGI de la
facture, le code de vérification et le NCC.

La pièce passe à l'état **Certifiée**.

> [!CAUTION]
> Ne recopiez que ce que le portail affiche. Une référence inventée désigne chez
> la DGI une facture qui n'existe pas, et elle figurera ensuite sur vos documents
> et dans votre comptabilité.

### Présente au portail, sans numéro publié

Vous avez vu la pièce, mais aucun numéro exploitable n'y figure. Ce cas existe
réellement, et il s'exige : sans lui, une faute de frappe dans le champ référence
passerait pour lui. Un motif écrit est obligatoire.

La pièce passe à l'état **Constatée au portail, sans référence publiée**. Elle
reste bloquée et ne repart pas. Si le numéro est publié plus tard, revenez
inscrire le premier constat.

### Absente du portail

Vous n'avez pas trouvé la pièce. C'est la seule décision capable de créer un
doublon, et le module la protège doublement :

- **le délai configuré depuis l'envoi doit être écoulé** (15 minutes par défaut),
  le temps que le portail publie ;
- **un motif écrit est obligatoire**.

La pièce repasse à l'état **Refusée** et peut donc repartir. Dans six mois, le
motif que vous avez écrit sera la seule chose qui restera de cette décision :
écrivez-y ce que vous avez vérifié, pas "renvoi".

## Réconcilier une certification dont la trace manque

Si une pièce est certifiée chez la DGI mais que le registre n'en porte pas la
trace, utilisez **Réconcilier une certification dont la trace manque** sur sa
fiche. Là encore, rien n'est demandé à la plateforme : la référence vient de
vous, un motif écrit est obligatoire, et le journal écrit en toutes lettres que
ce n'est pas un aller-retour automatique.

## Reconstituer un événement antérieur

Quand des faits se sont produits avant que le registre ne les suive, vous pouvez
les inscrire au journal. Choisissez l'événement, **la date des faits** (et non
celle de la saisie), l'origine de ce que vous affirmez, et écrivez le motif, qui
est obligatoire.

Deux garde-fous :

- une entrée reconstituée est **marquée comme telle pour toujours** et n'a pas la
  même valeur qu'un fait constaté ;
- elle **ne déplace jamais l'état de la pièce**. Un journal inventé vaut moins
  qu'un journal vide, parce qu'on le croit.

L'origine par défaut est **inconnue**, jamais "la DGI l'a dit". La date des faits
ne peut pas être dans le futur.

## Le QR code et le document de certification

Dès qu'une pièce est certifiée et qu'un code de vérification a été conservé, sa
fiche et son onglet FNE affichent le **QR code de vérification**, accompagné de
l'adresse qu'il encode.

Sur une facture de vente certifiée, l'onglet FNE propose en plus de **produire le
document de certification** et de le télécharger. Ce document reprend la
référence FNE et le QR code tels que la plateforme les a renvoyés. Rien n'y est
inventé : le fichier est produit dans les documents joints de la facture, sous un
nom construit à partir de sa référence.

> [!WARNING]
> Ce document **ne vaut pas facture normalisée conforme** et ne doit pas être
> présenté comme telle. La DGI n'a publié ni le visuel FNE, ni la maquette de la
> facture normalisée, ni la liste des mentions obligatoires, ni le format imposé
> de la numérotation. Le module écrit cet avertissement à l'écran et sur le
> document lui-même. Voir la [FAQ](/capcifne/faq).

Quelques refus possibles, chacun explicite :

- la facture n'est pas certifiée : aucun document n'est produit, parce qu'un
  document mis en page comme une certification serait lu comme telle ;
- la facture est certifiée mais aucune référence n'a été publiée : aucun document
  n'est produit, une référence ne s'invente pas ;
- aucun code de vérification n'a été conservé, ou le code conservé n'est pas une
  adresse de vérification : aucun QR code n'est fabriqué autour de lui, parce
  qu'un QR code qui ne mène nulle part ne vérifie rien.

En environnement de Test, le document porte la mention "ENVIRONNEMENT DE TEST -
cette pièce n'est pas certifiée fiscalement".

## Où retrouver la référence FNE

La référence FNE est votre référence fiscale. Le module l'affiche :

- sur la **fiche de la facture client**, à côté de la référence Dolibarr ;
- dans une **colonne dédiée de la liste des factures clients** ;
- sur l'onglet FNE, sur la fiche de la certification et dans le registre.

## Le stock de stickers

Le modèle est prépayé. Le solde n'apparaît que dans la réponse d'une
certification : aucune interface de programmation ne permet de le consulter ni de
le recharger. Le module affiche donc le dernier solde reçu, avec la date de ce
relevé, et vous alerte dès qu'il passe sous le seuil que vous avez réglé.

Quand l'alerte apparaît, commandez auprès de la DGI sans attendre : le module ne
peut rien faire d'autre que vous prévenir.
