Cycle de vie d'une facture
Le mandat français impose un suivi normalisé en 10 statuts, échangé entre PDPs et remonté au PPF concentrateur. Cette traçabilité homogène est ce qui transforme une facture en objet vivant et auditable.
Pourquoi 10 statuts ?
Sans suivi normalisé, le client se demande où en est sa facture, le fournisseur ne sait pas si elle est lue ni payée, et la DGFiP ne sait pas quand la TVA devient exigible. Les statuts répondent à ces trois besoins simultanément :
- Visibilité métier — le fournisseur voit instantanément si sa facture a été déposée, validée, approuvée, payée. Réduit les relances et accélère le recouvrement.
- Coordination inter-PDP — chaque PDP doit notifier les autres des événements qu'elle observe (réception, validation, refus). Le standard garantit l'interopérabilité entre 80+ PDPs concurrentes.
- Pilotage fiscal — la DGFiP suit en temps quasi-réel l'encaissement, qui déclenche la TVA pour les régimes encaissement (prestations de services article 269-2 du CGI).
Table des 10 statuts
| # | Statut | Émetteur | Quand | Contenu minimal |
|---|---|---|---|---|
| 1 | DEPOSEE | PDP émetteur | Dès la réception de la facture depuis l'ERP émetteur, avant validation PPF | id_facture_pdp, horodatage, SIRET émetteur/destinataire |
| 2 | REJETEE_PPF_PDP | PPF ou PDP destinataire | Validation EN 16931 + 24 mentions FR a échoué, ou destinataire inconnu de l'annuaire | code_erreur, message_erreur, document_erroné_id |
| 3 | REFUSEE | Acheteur (via sa PDP) | L'acheteur conteste la facture (prix, livraison, conditions). Délai légal : 90 jours. | motif (libellé libre), id_litige éventuel |
| 4 | ENCAISSEE | PDP émetteur ou acheteur | Paiement reçu, total ou partiel. Déclenche la TVA pour les régimes encaissement. | date_encaissement, montant_encaisse, reference_paiement |
| 5 | APPROUVEE | Acheteur | L'acheteur valide la facture (workflow interne OK), engagement de paiement à échéance. | id_validateur, date_approbation |
| 6 | SUSPENDUE | Acheteur | Workflow interne en attente : escalade hiérarchique, vérification d'éléments, demande de pièce justificative. | motif (libellé), date_suspension_max (typique 30 jours) |
| 7 | LITIGEE | Acheteur ou émetteur | Désaccord formalisé : un cas dérive de REFUSEE qui n'a pas été résolu sous 30 jours. | id_litige, type_litige (PRIX, QUANTITE, QUALITE, LIVRAISON, AUTRE) |
| 8 | PAYEE_PARTIELLEMENT | PDP émetteur | Paiement reçu mais inférieur au montant total dû. | montant_paye, montant_restant_du, date_paiement |
| 9 | PAYEE_TOTALEMENT | PDP émetteur | Solde réglé. Coexiste avec ENCAISSEE pour les régimes encaissement. | date_solde, mode_paiement, reference_paiement |
| 10 | ARCHIVEE | PDP (émetteur ou destinataire) | Facture clôturée et placée en archive 10 ans. Statut terminal. | date_archivage, identifiant_archivage_legal, hash_facture_finale |
Machine à états et transitions
Les transitions entre statuts sont strictement encadrées : toute transition non
autorisée est rejetée par la PDP réceptrice avec le code d'erreur
INVALID_STATUS_TRANSITION. Le diagramme ci-dessous montre les
transitions autorisées.
┌────────────┐
│ DÉPOSÉE │ (PDP émetteur)
└────┬───────┘
│
┌───────────────┼──────────────────┐
▼ ▼ ▼
┌──────────────────┐ ┌───────────┐ ┌────────────────┐
│ REJETÉE PPF/PDP │ │ APPROUVÉE │ │ REFUSÉE │
│ (PPF ou PDP-dest)│ │ (acheteur)│ │ (acheteur) │
└──────────────────┘ └─────┬─────┘ └───────┬────────┘
▲ │ │
│ ├──>┌──────────┐ │
│ │ │ LITIGÉE │<┤
│ │ └──────────┘ │
│ │ ▼
│ │ ┌────────────────┐
│ │ │ SUSPENDUE │
│ │ │ (escalade) │
│ │ └────────────────┘
│ ▼
│ ┌──────────────────┐
│ │ PAYÉE PARTIELLE │ ──> ┌──────────────────┐
│ └──────────────────┘ │ PAYÉE TOTALEMENT │
│ │ + ENCAISSÉE │
│ └────────┬─────────┘
│ ▼
│ ┌────────────────┐
└──── (échec validation) ─────────────> │ ARCHIVÉE 10 ans│
└────────────────┘ Quelques règles métier issues des Spécifications Externes AIFE chapitre 6 :
- Une facture REJETEE_PPF_PDP ne peut plus changer d'état (terminale avant ARCHIVEE).
- Une facture REFUSEE peut être ré-émise en nouveau cycle (nouvelle DEPOSEE) après correction, dans un délai de 90 jours.
- Une facture APPROUVEE ne peut pas devenir REFUSEE ; en cas de contestation tardive, l'acheteur doit demander un avoir.
- Une facture peut être à la fois APPROUVEE et SUSPENDUE pour blocage technique (par exemple : RIB du fournisseur en cours de vérification).
- PAYEE_PARTIELLEMENT peut être émis plusieurs fois (chaque paiement partiel) jusqu'à PAYEE_TOTALEMENT.
Format de transmission entre PDPs
Les événements de cycle de vie sont transmis en JSON signé via l'API REST PPF
endpoint POST /api/v1/lifecycle/events, ou directement entre PDPs en
AS4 PEPPOL pour les flux interop sans passer par le PPF.
{
"version": "AIFE-LIFECYCLE-1.2",
"id_facture_pdp": "INV-2026-04127-FR",
"id_correlation_ppf": "PPF-2026-1052-9C1185",
"evenement": {
"code_statut": "PAYEE_TOTALEMENT",
"horodatage": "2026-10-14T10:23:45Z",
"emetteur_event": "PDP-DOCAPOSTE",
"siret_emetteur_event": "37956002600014",
"motif": null,
"donnees_complementaires": {
"mode_paiement": "VIREMENT_SEPA",
"reference_paiement": "VIR-20261014-789456",
"montant_paye": 2880.00
}
},
"signature_ds": "<ds:Signature xmlns:ds=...>"
}
Le champ signature_ds est un XML Digital Signature
encapsulé dans le JSON, calculé sur le bloc evenement. La PDP
réceptrice vérifie la signature contre le certificat de la PDP émettrice publié
dans l'annuaire AIFE.
Impact comptable
- DEPOSEE — pas d'impact comptable côté acheteur. Côté émetteur : enregistrement en pré-facturation.
- APPROUVEE — engagement de paiement côté acheteur (compte 401 Fournisseurs). Côté émetteur : compte 411 Clients.
- ENCAISSEE / PAYEE_TOTALEMENT — solde des comptes 411/401, mouvement bancaire (compte 512). Pour les prestations de services, déclenche l'exigibilité de la TVA (art. 269-2 du CGI).
- REJETEE_PPF_PDP / REFUSEE — annulation de l'écriture comptable si déjà passée, ou attente avant comptabilisation.
- ARCHIVEE — pas d'impact, mais l'archive est opposable à l'administration fiscale en cas de contrôle.
Cas particuliers
- Avoir. Un avoir suit son propre cycle de vie en 10 statuts.
L'événement
AVOIR_EMIS(statut optionnel) lie l'avoir à la facture originelle viaid_facture_liee. - Acompte. Un acompte est une facture à part entière avec son propre cycle. Le solde final référence les acomptes via une mention textuelle EN 16931 (BT-22 NoteContent).
- Compensation. En cas de compensation entre dettes et créances
réciproques (art. 1347 du Code civil), chaque facture porte un statut
PAYEE_TOTALEMENT avec
mode_paiement: COMPENSATIONet la référence croisée. - Affacturage. Si la facture est cédée à un factor, l'événement
ENCAISSEE est émis lors du règlement par le factor au
fournisseur. Le solde par l'acheteur va vers le factor (changement de
beneficiaire_paiement).