Your cookie preferences

Procura uses cookies that are essential for the site to work, plus, with your consent, analytics cookies to understand what's useful to you. No third-party trackers, no sharing with advertisers. Learn more

Resources / How-to guide
Benin compliance

MECeF Benin: end-to-end DGI standardized invoicing

How Procura checks your suppliers' MECeF standardized invoices, and how a supplier can certify from the portal: setup, API flow, multi-country support, and the path to production.

Procura team · May 2026 · 9 min read
01 · What is MECeF and why it matters02 · The five fields you must configu03 · The submit-and-confirm flow04 · Multi-country: MECeF + FNE in pa05 · Go-live checklist for your finan
Real time
DGI transmission
13 caractères
IFU format
24 caractères
MECeF DGI code
10 years
Mandatory retention
Back to resources
01

What is MECeF and why it matters

MECeF (Machine Électronique Certifiée de Facturation) is the standardized electronic invoicing system enforced by Benin's Tax Office (DGI). Every VAT-liable company in Benin must transmit each B2B invoice in real time to the DGI through MECeF and carry an official identifier + QR code on the printed copy. Without that identifier, the invoice can no longer support a VAT deduction for the buyer.

The framework went live in stages from 2020 onward and has now reached full mandatory coverage. The DGI position is unambiguous: a non-MECeF invoice is a non-deductible expense and a non-creditable VAT charge. For the seller, that means lost revenue. For the buyer, it means an effective 18% surcharge on every transaction outside the system.

Beyond pure tax mechanics, MECeF is also a fraud-prevention tool. The unique identifier and the central counter make it nearly impossible to issue parallel ghost invoices, cancel invoices after the fact, or alter posted amounts. The DGI has access to a real-time stream of every invoice, which has dramatically narrowed the gap between declared and actual VAT.

Who does what matters. The SELLER has its invoice certified by the DGI through e-MECeF and prints the security elements (NIM, code MECeF/DGI, QR code). The BUYER checks them: without a genuine normalized invoice, issued to its IFU and for the right amount, the VAT is not deductible. On the purchasing side, Procura does that check on every invoice from a Beninese supplier.

02

The five fields you must configure

An MECeF integration in Procura is configured around five core fields. The IFU (Identifiant Fiscal Unique) is your 13-character tax ID, the same number that already appears on every invoice you issue. The API token is a Bearer secret the DGI delivers when your company is registered on the developer portal. The NIM (Numéro d'Identification Machine) ties your taxpayer account to a specific certified billing machine, Procura acts as that machine.

Two more fields complete the setup: the environment (Sandbox, Production or the Procura demo) and the active toggle. The environment also tells Procura where to check your suppliers' invoices: against the DGI's public verification form in Production, on printed data only on the test platform, which offers no public verification.

The Procura demo simulates the DGI with the field rules of the e-MCF API (13-digit IFUs, integer prices tax included, tax groups A to F, the official payment types, the original's code on a credit note) and answers in its shape. It is a rehearsal, not a certification: nothing it certifies has legal value.

The settings UI ships with a dedicated bilingual onboarding card describing the five steps from registration to production: register on impots.bj/mecef, submit specimens, receive Sandbox token, get NIM + production token, switch to Production. Each step has a direct link to the relevant DGI page.

03

The submit-and-confirm flow

e-MECeF certifies in two steps. The seller POSTs the invoice (IFU, type FV/FA/EV/EA, lines with prices tax included, payments, customer) to /api/invoice and receives a uid with the computed totals; the invoice is not certified yet.

It then PUTs /api/invoice/{uid}/confirm and receives the security elements: the code MECeF/DGI, the NIM, the counters, the date and the QR data in the form F;NIM;CODE;IFU;date. A pending invoice can still be cancelled; a confirmed one is only undone by a credit note (FA).

On the buyer side, Procura reads that QR code (from the PDF or photo of the invoice, or typed) and asks the DGI's public verification form what it knows: issued by this supplier (IFU), to your company (IFU), for this amount, as an invoice and not a credit note, and not already recorded on another invoice. The organization chooses whether a failed check only flags the invoice or blocks its approval, with an exemption that must state its reason.

For a Beninese supplier without invoicing software, the Procura supplier portal can certify the invoice it sends with the supplier's own e-MECeF account: submit, then confirm, and the invoice reaches its customer already checked. The supplier's API key is encrypted, and each invoice number can only be certified once.

04

Multi-country: MECeF + FNE in parallel

An organization that operates in both Benin and Côte d'Ivoire, for example a group with offices in Cotonou and Abidjan, needs both MECeF and FNE active at the same time. Procura supports this natively: MECeF and FNE are two distinct module slugs in the activeModules array, and both can be enabled on the same tenant.

The Settings → Finance sidebar shows MECeF (Bénin) and FNE (Côte d'Ivoire) as two separate sections. Each holds its own credentials (IFU + token for MECeF, NCC + token + production URL for FNE), its own environment switch, and its own audit trail. Invoices issued under one regime are never confused with those issued under the other.

Provisioning a multi-country organization from the Procura platform-admin console is a single form: pick a primary country, then tick whichever module slugs apply (mecef, fne, or both). The country gate accepts ISO codes and full names in both languages, so a Bénin org saved as 'BJ' or 'Benin' or 'Bénin' all unlock the MECeF section the same way.

Behind the scenes the gating logic is countryHit OR moduleHit: a section appears whenever the org's country matches the section's accepted variants OR any of its module slugs appear in activeModules. That second branch is what lets a multi-country organization with country='Bénin' but activeModules=['mecef','fne'] see both regimes side by side.

05

Go-live checklist for your finance team

Start with the supplier check, which needs no DGI account. Fill in your company's IFU and each Beninese supplier's IFU, leave the rule on Flag for a few weeks, and see which suppliers send invoices that fail. That list is the conversation to have with them before switching the rule to Block approval.

If you want Procura to check against production, enter your IFU and production token and pick Production. With Sandbox, your suppliers' test invoices can only be checked on their printed data.

Suppliers who use the portal to certify set up their own e-MECeF account in it (IFU, token, environment). They rehearse with the Procura demo or the DGI test platform first; their test invoices never count as legal invoices for you.

Once they switch to production, their invoices reach you certified and already checked, and the audit log keeps every check and every certification.

Ready to enable MECeF in Procura?

Test the full flow with the Procura mock today, then swap in real DGI credentials the moment they arrive, same form, no migration.