Ressources / Guide pratique
Conformité Bénin

MECeF Bénin : facturation normalisée DGI de bout en bout

Comment Procura intègre nativement le dispositif MECeF de la DGI Bénin : configuration, flux d'API, multi-pays et passage en production.

Équipe Procura · Mai 2026 · 9 min de lecture
01 · Qu'est-ce que le MECeF et pourqu02 · Les cinq champs à configurer03 · Le flux soumission + confirmatio04 · Multi-pays : MECeF + FNE en para05 · Checklist de mise en production
Temps réel
Transmission DGI
13 caractères
Format IFU
24 caractères
Code MECeF DGI
10 ans
Conservation obligatoire
Retour aux ressources
01

Qu'est-ce que le MECeF et pourquoi c'est important

Le MECeF (Machine Électronique Certifiée de Facturation) est le système de facturation électronique normalisée imposé par la Direction Générale des Impôts (DGI) du Bénin. Chaque entreprise béninoise assujettie à la TVA doit transmettre en temps réel ses factures B2B au MECeF et faire figurer un identifiant officiel + un QR code sur la copie imprimée. Sans cet identifiant, la facture ne peut plus servir à déduire la TVA pour l'acheteur.

Le dispositif a été déployé par paliers depuis 2020 et couvre désormais l'ensemble des assujettis. La position de la DGI est sans ambiguïté : une facture hors MECeF est une charge non déductible et une TVA non récupérable. Pour le vendeur, c'est un manque à gagner. Pour l'acheteur, c'est un surcoût effectif de 18 % sur chaque transaction hors système.

Au-delà du seul mécanisme fiscal, le MECeF est aussi un outil de prévention de la fraude. L'identifiant unique et le compteur central rendent quasiment impossible l'émission de factures fantômes en parallèle, l'annulation après coup, ou l'altération des montants déjà comptabilisés. La DGI dispose ainsi d'un flux temps réel de chaque facture, ce qui a fortement réduit l'écart entre TVA déclarée et TVA réelle.

Procura a été conçu pour s'intégrer nativement au MECeF : dès qu'une organisation Procura a son pays configuré sur Bénin, la section facturation électronique apparaît dans ses paramètres avec exactement les champs attendus par la DGI (IFU, token API, NIM, environnement), et chaque facture approuvée peut être normalisée en un clic sur l'endpoint officiel.

02

Les cinq champs à configurer

Une intégration MECeF dans Procura repose sur cinq champs principaux. L'IFU (Identifiant Fiscal Unique) est votre identifiant fiscal à 13 caractères, le même qui figure déjà sur chaque facture émise. Le token API est un secret Bearer remis par la DGI lorsque votre entreprise est enregistrée sur le portail développeur. Le NIM (Numéro d'Identification Machine) lie votre compte contribuable à une machine de facturation certifiée — Procura joue le rôle de cette machine.

Deux champs complètent la configuration : l'environnement (Sandbox vs Production) et la bascule d'activation. Le Sandbox vous permet de soumettre des factures spécimen à la plateforme de test DGI sans aucune incidence fiscale — c'est toujours le bon point de départ. La Production envoie les soumissions réelles et compte chaque facture dans le registre officiel ; la bascule d'activation permet d'enregistrer vos identifiants sans encore les rendre actifs.

Procura expose aussi un troisième environnement, Mock Procura, qui simule le MECeF localement pour valider la chaîne complète avant même de contacter la DGI. Le mock renvoie la même structure de réponse (uid, codeMECeFDGI, qrCode, NIM, dateTime) que l'API de production, ce qui garantit qu'une intégration fonctionnant sur le mock fonctionnera aussi en réel.

L'écran de paramètres embarque une carte d'onboarding bilingue détaillant les cinq étapes pour passer de l'inscription à la production : s'inscrire sur impots.bj/mecef, soumettre les spécimens, recevoir le token Sandbox, obtenir le NIM + token de production, basculer en Production. Chaque étape comporte un lien direct vers la page DGI concernée.

03

Le flux soumission + confirmation

Le MECeF utilise une machine à états en deux temps pour chaque facture. La première étape est la soumission : Procura envoie la structure de facture (IFU, type FV/FA/EV/EA, lignes, modes de paiement, client) en POST sur /api/invoice et reçoit un uid. À ce stade, la DGI a enregistré la facture en attente mais l'identifiant officiel n'est pas encore émis.

La deuxième étape est la confirmation : Procura appelle /api/invoice/{uid}/confirm en PUT et reçoit le codeMECeFDGI officiel (code signé de 24 caractères), le QR code en base64, le NIM ayant signé la facture, et la dateTime exacte de normalisation. À partir de ce moment, la facture est définitive, publique sur le registre DGI, et autorise la déduction de la TVA.

Procura encapsule les deux étapes dans une mutation unique trpc.mecef.normalizeInvoice idempotente au niveau de la facture : une facture portant déjà un mecefCode ne peut pas être re-normalisée. En cas d'échec, la facture passe en mecefStatus = error et la réponse brute de la DGI est stockée dans mecefRawResponse pour le diagnostic. Des entrées d'audit log sont créées sur succès et sur échec pour que l'équipe conformité puisse rejouer chaque incident.

Le chemin d'annulation est également pris en charge : tant qu'une facture est encore à l'état submitted (uid reçu mais pas confirmé), Procura peut appeler /cancel pour la retirer du registre DGI sans consommer de sticker. Une fois confirmée, la facture est permanente — toute correction passe par un avoir (FA), qui constitue lui-même une transaction MECeF.

04

Multi-pays : MECeF + FNE en parallèle

Une organisation qui opère à la fois au Bénin et en Côte d'Ivoire — par exemple un groupe avec des bureaux à Cotonou et Abidjan — a besoin du MECeF et du FNE actifs en même temps. Procura le supporte nativement : MECeF et FNE sont deux slugs de module distincts dans le tableau activeModules, et les deux peuvent être activés sur le même tenant.

La barre latérale Paramètres → Finance affiche MECeF (Bénin) et FNE (Côte d'Ivoire) comme deux sections séparées. Chacune a ses propres identifiants (IFU + token pour le MECeF, NCC + token + URL de production pour le FNE), son propre sélecteur d'environnement, et sa propre piste d'audit. Les factures émises sous un régime ne sont jamais confondues avec celles émises sous l'autre.

Le provisionnement d'une organisation multi-pays depuis la console super-admin Procura tient en un seul formulaire : choisir un pays principal, puis cocher les slugs de modules applicables (mecef, fne, ou les deux). Le contrôle de pays accepte aussi bien les codes ISO que les noms complets dans les deux langues, donc une organisation Bénin enregistrée en 'BJ', 'Benin' ou 'Bénin' déverrouille la section MECeF de la même façon.

Côté logique de visibilité, la règle est countryHit OR moduleHit : une section apparaît dès que le pays de l'organisation correspond aux variantes acceptées OU qu'un de ses slugs de module figure dans activeModules. C'est cette deuxième branche qui permet à une organisation multi-pays avec country='Bénin' mais activeModules=['mecef','fne'] de voir les deux régimes côte à côte.

05

Checklist de mise en production

Avant de basculer le MECeF en production, déroulez une checklist en cinq points. D'abord, validez l'intégration de bout en bout sur le mock Procura — chaque facture approuvée doit recevoir un identifiant factice, le QR placeholder doit s'afficher sur le PDF, et la piste d'audit doit consigner à la fois la soumission et la confirmation. Ensuite, inscrivez-vous sur impots.bj/mecef et obtenez le token API Sandbox dans l'espace développeur DGI.

Troisièmement, configurez le Sandbox dans Procura avec votre IFU réel et le token Sandbox, puis relancez le test sur des factures spécimen réelles. La DGI valide la structure, les groupes de taxes (A à F), les codes de mode de paiement et les champs obligatoires. Toute incohérence remonte sous forme de message d'erreur explicite que la page de paramètres Procura affiche tel quel.

Quatrièmement, demandez le NIM et le token de production. La DGI attribue le NIM après validation des spécimens ; le token de production est livré dans la même session. Renseignez les deux dans Procura, basculez l'environnement sur Production, laissez la bascule d'activation désactivée jusqu'à être prêt, et faites un dernier dry-run sur une facture interne pour vérifier toute la chaîne.

Cinquièmement, activez la bascule et commencez à normaliser les vraies factures. À partir de là, chaque facture approuvée devrait être normalisée en quelques minutes, le codeMECeFDGI doit apparaître sur la facture imprimée et sur le portail fournisseur, et le récapitulatif TVA mensuel exporté par Procura doit se réconcilier au centime près avec le registre DGI. En cas de dérive, la piste d'audit rejoue requête et réponse de chaque transaction.

Prêt à activer le MECeF dans Procura ?

Testez le flux complet avec le mock Procura aujourd'hui, puis basculez sur les vrais identifiants DGI dès qu'ils arrivent — même formulaire, aucune migration.