Factures refusées
Une facture peut être refusée de deux façons : par une erreur immédiate, ou après son acceptation, quand la DGI ne la normalise pas.
Refus immédiat
Section intitulée « Refus immédiat »Si l’entreprise n’a aucun point de vente capable de normaliser (aucun actif, pas de jeton, jeton expiré, pas de NIF), l’appel répond 409 aussitôt (NO_ENTITY, ENTITY_INACTIVE, ENTITY_NO_DGI_TOKEN, ENTITY_TOKEN_EXPIRED, BUSINESS_NO_NIF) et n’enregistre rien. Corrigez, puis renvoyez le même appel.
Échec après acceptation
Section intitulée « Échec après acceptation »Définitif. reason_code et reason disent pourquoi, avec des mots que vous pouvez montrer à votre client. Elle ne sera jamais normalisée : renvoyez la vente avec une nouvelle clé et une nouvelle référence.
- Une facture en échec est définitive. Renvoyer sa clé ou sa référence rejoue l’échec. Pour normaliser la vente, renvoyez-la avec une nouvelle clé et une nouvelle
external_reference.
Exemple de facture en échec :
{ "id": "inv_2xJ4kQ9nVbT7mLpR3sZa", "normalisation_status": "failed", "created_at": "2026-11-05T09:30:00Z", "external_reference": "VENTE-2026-000124", "reason_code": "DGI_INVOICE_REJECTED", "reason": "La DGI a refusé cette facture : ...", "type": "FV", "business": { "id": "biz_2xJ4kQ9nVbT7mLpR3sYz", "external_id": "plateforme-cust-001842" }}L’ensemble des reason_code est ouvert (les refus propres de la DGI en font partie). Montrez reason, et gardez reason_code pour le support.
Les motifs
Section intitulée « Les motifs »reason_code |
Sens |
|---|---|
DGI_NORMALISATION_FAILED |
Motif (reason_code) d’une facture en échec : la DGI l’a refusée ou n’a pas abouti. Le champ reason est écrit pour que vous le transmettiez. |
INVOICE_NOT_NORMALISABLE |
Motif (reason_code) d’une facture en échec : elle ne pourra jamais être normalisée en l’état. Le champ reason est écrit pour que vous le transmettiez. |
DGI_NORMALISATION_INTERRUPTED |
Motif (reason_code) d’une facture en échec : interrompue avant la confirmation de la DGI. Le champ reason est écrit pour que vous le transmettiez. |
INVOICE_IN_NORMALISATION |
Motif (reason_code) d’une facture en échec : elle était traitée ailleurs à ce moment-là. Le champ reason est écrit pour que vous le transmettiez. |
INVOICE_NOT_IN_NORMALISATION |
Motif (reason_code) d’une facture en échec : elle était traitée ailleurs à ce moment-là. Le champ reason est écrit pour que vous le transmettiez. |
REQUEST_NOT_PROCESSED |
Ce code, en reason_code d’une facture ou comme code d’une erreur, dit que nous n’avons pas pu lui donner de code plus précis : citez meta.request_id. |
ORIGINAL_NOT_NORMALISED |
L’origine n’est pas normalisée et ne le sera pas : aucun avoir ne peut être créé dessus. |
Tout le reste que nous n’avons pas listé et qui porte un reason_code sur une facture en échec vient de la DGI ou de la normalisation elle-même ; reason est écrit pour que vous le transmettiez.
Le détail de chaque code est dans le catalogue des erreurs.