Pour les entreprises françaises, le Peppol Directory ajoute un marqueur FR_ASSUJETTI_* dans le champ additionalInfo de la fiche. Ce marqueur reflète l'état de publication de l'entreprise dans l'annuaire PPF de la DGFiP. Voici comment l'interpréter.
Pourquoi ces statuts existent
La réforme française de la facturation électronique B2B repose sur le Portail Public de Facturation (PPF), opéré par l'AIFE pour le compte de la DGFiP. Toute entreprise française assujettie à la TVA doit être publiée dans l'annuaire PPF avec une plateforme agréée (PA) — la plateforme par laquelle elle reçoit ses factures électroniques.
Lorsqu'un participant est interrogé via le réseau Peppol et qu'il s'agit d'une entreprise française, l'autorité Peppol française (AIFE) renvoie son statut de publication via le Peppol Directory, dans le champ additionalInfo. Trois valeurs sont documentées.
FR_ASSUJETTI_ACTIVE
Assujetti actif
Publié dans l'annuaire PPF avec une plateforme agréée active. La facture sera routée et le rapport fiscal Flux 1 transmis à l'administration.
→ Émettre normalement
FR_ASSUJETTI_INACTIVE
Assujetti inactif
Inscription périmée ou plus aucune plateforme agréée rattachée. La facture risque de ne pas atteindre le destinataire.
→ Vérifier avant d'émettre
FR_ASSUJETTI_UNKNOWN
Statut inconnu
L'annuaire PPF renvoie une 404 pour cet identifiant. La facture peut partir mais aucun rapport Flux 1 ne sera généré.
→ Confirmer le SIREN
Que faire pour chaque statut ?
FR_ASSUJETTI_ACTIVE — Continuez
Le destinataire est correctement publié et possède une plateforme agréée active. Vous pouvez émettre la facture électronique sans précaution particulière. Le rapport fiscal Flux 1 sera généré et transmis à la DGFiP par la plateforme du destinataire.
FR_ASSUJETTI_INACTIVE — Vérifiez avant d'émettre
L'entreprise est connue de l'annuaire PPF mais son inscription n'est pas opérationnelle aujourd'hui. Causes habituelles :
changement récent de plateforme agréée, la nouvelle inscription n'est pas encore propagée ;
plateforme agréée précédente résiliée et nouvelle non encore choisie ;
l'entreprise a cessé son activité ou a été radiée du SIREN.
Avant d'émettre, contactez le destinataire pour confirmer son canal de réception courant. Si la facture est envoyée malgré tout, le Flux 1 risque d'échouer ; prévoyez un suivi de la fiche dans les jours qui suivent.
FR_ASSUJETTI_UNKNOWN — Confirmez l'identifiant
Le PPF n'a aucune réponse pour cet identifiant — l'annuaire renvoie une 404. Il s'agit le plus souvent d'un SIREN saisi avec une faute, d'un identifiant trop récent (l'entreprise vient d'être créée ou de migrer) ou d'un participant non encore publié dans l'annuaire DGFiP.
La facture peut techniquement être routée via Peppol, mais aucun rapport fiscal Flux 1 ne sera transmis à l'administration. Vérifiez le SIREN dans l'Annuaire des Entreprises (DINUM) et, si besoin, demandez au destinataire quelle plateforme agréée il a déclaré au PPF.
Champ additionalInfo du Peppol Directory
Le Peppol Directory expose un champ additionalInfo sur chaque entity publiée. Ce champ est libre — selon le pays et l'autorité Peppol concernée, on peut y trouver du texte descriptif, une URL de plateforme, ou un statut codifié. La France a choisi d'y publier un statut codifié pour permettre une lecture machine immédiate.
Code
Sévérité API
isAssujetti
FR_ASSUJETTI_ACTIVE
ok
true
FR_ASSUJETTI_INACTIVE
warn
false
FR_ASSUJETTI_UNKNOWN
info
null
PeppolCheck.fr parse ce champ et expose un objet frStatus structuré dans son API et dans l'interface. Toutes les fiches non-françaises ainsi que les anciennes valeurs libres (par exemple Via eConnect (https://econnect.eu)) restent disponibles dans le champ additionalInfo d'origine, qui n'est jamais réécrit.
Utiliser le statut via l'API
L'API publique de PeppolCheck.fr ajoute le champ directory.frStatus à la réponse de GET /api/v1/participant/{id} et à chaque résultat de GET /api/v1/search. Pour les participants non-français, le champ vaut null.
$ curl -s https://peppolcheck.fr/api/v1/participant/0225:894865880 \
| jq '.directory.frStatus'
{
"raw": "FR_ASSUJETTI_ACTIVE",
"code": "FR_ASSUJETTI_ACTIVE",
"label": "Assujetti actif",
"description": "Publié dans l'annuaire PPF de la DGFiP avec une plateforme agréée active. …",
"severity": "ok",
"isAssujetti": true
}
Le contrat complet est documenté dans le schéma FrDgfipStatus de l'OpenAPI. Le même objet est renvoyé par le serveur MCP via les outils peppol_lookup et peppol_search.
Bon réflexe d'intégration. Si vous construisez un système d'émission de factures B2B vers la France, traitez frStatus.severity === "ok" comme la seule condition « feu vert » pour démarrer le flux. Pour "warn" et "info", mettez la facture en quarantaine et déclenchez une vérification humaine ou une nouvelle interrogation différée.
Foire aux questions
Le statut FR_ASSUJETTI_ACTIVE signifie-t-il que mon destinataire est conforme ?
Cela signifie qu'au moment de l'interrogation du Peppol Directory, le PPF avait une plateforme agréée active rattachée à cette entreprise. C'est l'indicateur le plus fort dont vous disposiez côté émetteur. Il ne couvre pas la conformité du destinataire sur d'autres axes (TVA en règle, certificats à jour, etc.).
Pourquoi je vois FR_ASSUJETTI_UNKNOWN sur une entreprise que je sais publiée ?
L'annuaire PPF peut renvoyer une 404 transitoire pendant les fenêtres de mise à jour quotidienne. Si le statut persiste plusieurs jours, l'identifiant utilisé n'est probablement pas celui que l'entreprise a déclaré à la DGFiP — par exemple, vous interrogez un SIRET alors qu'elle est publiée au niveau SIREN, ou inversement.
Le statut est-il mis à jour en temps réel ?
Le Peppol Directory se synchronise quotidiennement avec l'annuaire PPF de la DGFiP. PeppolCheck.fr interroge le Peppol Directory en direct à chaque consultation. Un changement de plateforme agréée déclaré aujourd'hui sera donc visible sur PeppolCheck.fr dès la prochaine synchronisation, soit dans les 24 heures.
D'autres autorités Peppol publient-elles le même type de marqueur ?
Non, c'est une spécificité française liée au modèle PPF + plateformes agréées. Les autres autorités Peppol laissent additionalInfo vide ou y mettent du texte libre. Les statuts FR_ASSUJETTI_* n'apparaissent jamais sur des participants non-français.