Nigeria — FIRS, MBS et e-invoicing UBL
Le Nigeria a déployé en 2022 un pilote de facturation électronique B2B sous l'égide du FIRS (Federal Inland Revenue Service). Le Merchant-Buyer System (MBS), basé sur UBL 2.1 avec extensions FIRS, est entré en phase obligatoire le 1er février 2025 pour les grands contribuables avec extension progressive jusqu'en 2027.
Timeline réglementaire
- 16 avril 2007 — FIRS Establishment Act. Statut légal autonome du FIRS, indépendant du Ministère des Finances, en charge de la collecte des impôts fédéraux.
- 2 janvier 2020 — Finance Act 2019. Modernisation majeure : introduit la VAT à 7,5 %, pose les bases d'une digitalisation fiscale accrue.
- 1er juillet 2022 — Lancement pilote eInvoice. FIRS lance le programme MBS (Merchant-Buyer System) pour les transactions cross-border, schéma XML aligné UBL.
- 11 janvier 2024 — Finance Act 2023. Donne au FIRS l'autorité légale pour rendre obligatoire la facture électronique B2B et fixer les modalités techniques.
- 1er octobre 2024 — Phase pilote obligatoire grands contribuables. Sélection FIRS de 100 grandes entreprises en pilote obligatoire, sandbox UBL avec aller-retour validation.
- 1er février 2025 — Phase 1 obligatoire. Tous les contribuables avec CA > NGN 5 milliards doivent émettre via MBS pour les transactions B2B. IRN obligatoire sur les factures physiques imprimées.
- 1er juillet 2025 — Phase 2 obligatoire. Extension aux contribuables avec CA > NGN 1 milliard.
- 2026-2027 — Phase 3 généralisation. Extension progressive aux mid-market et progressivement à toutes les entreprises assujetties VAT.
Schéma technique
Le format FIRS est un UBL 2.1 standard avec
customization urn:firs.gov.ng:einvoice:1.0 et extensions
propriétaires :
-
TIN : format
NNNNNNNN-NNNN, 8 chiffres d'identifiant + 4 chiffres de code de branche (siège0001). -
InvoiceTypeCode :
380(Commercial invoice),381(Credit note),383(Debit note),386(Prepayment invoice). - DocumentCurrencyCode : NGN, USD, EUR… ; le taux de change CBN (Central Bank of Nigeria) doit accompagner les factures en devises étrangères.
-
TaxScheme.ID :
VAT(Value Added Tax, 7,5 %),WHT(Withholding Tax, variable selon nature service / bien). -
firs:FIRSIRN : Invoice Reference Number attribué
par le FIRS après validation, format
FIRS-YYYY-IRN-NNNNNNNN. -
firs:QRCode : QR Code embarqué dans le document,
base64, encode
{TIN_seller, TIN_buyer, total, VAT, IRN, hash}.
Exemple minimal d'une facture UBL FIRS :
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:firs="urn:firs:ng:einvoice:extension:1.0">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:CustomizationID>urn:firs.gov.ng:einvoice:1.0</cbc:CustomizationID>
<cbc:ID>NG-2026-00000142</cbc:ID>
<cbc:IssueDate>2026-05-16</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>NGN</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="TIN">12345678-0001</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Ediverse Demo Nigeria Ltd</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Broad Street 25</cbc:StreetName>
<cbc:CityName>Lagos</cbc:CityName>
<cac:Country><cbc:IdentificationCode>NG</cbc:IdentificationCode></cac:Country>
</cac:PostalAddress>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="TIN">87654321-0001</cbc:ID>
</cac:PartyIdentification>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="NGN">3750.00</cbc:TaxAmount>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:PayableAmount currencyID="NGN">53750.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="NGN">50000.00</cbc:LineExtensionAmount>
<cac:Item><cbc:Name>Cloud services May 2026</cbc:Name></cac:Item>
</cac:InvoiceLine>
<firs:FIRSIRN>FIRS-2026-IRN-00000142</firs:FIRSIRN>
<firs:QRCode>...</firs:QRCode>
</Invoice>Flux de soumission
Le vendeur s'authentifie auprès du FIRS (OAuth 2.0 client credentials +
signed JWT) puis soumet sa facture UBL via
POST /v1/invoices sur einvoice.firs.gov.ng. Le
FIRS valide en temps réel (TIN, schéma, calculs, doublons) puis attribue
un IRN et un QR Code, et retourne le document signé.
┌──────────────┐ ┌────────────────────┐ ┌──────────────┐
│ Vendeur NG │───>│ FIRS MBS │───>│ Acheteur NG │
│ (ERP, UBL) │ │ Merchant-Buyer │ │ (réception + │
│ + TIN + auth │ │ System einvoice │ │ consultation│
│ │ │ .firs.gov.ng │ │ IRN/QR) │
└──────────────┘ └─────────┬──────────┘ └──────────────┘
│
▼
┌────────────────────┐
│ FIRS attribue IRN │ ← validation
│ + QR Code + Hash │ temps réel
│ + signature FIRS │ ou rejet
└────────────────────┘L'acheteur reçoit la facture validée par les canaux habituels (e-mail, EDI, portail vendeur). Il peut vérifier l'IRN sur einvoice.firs.gov.ng ou scanner le QR Code embarqué. Les contrôles WHT (Withholding Tax) sont automatisés via l'IRN : le FIRS rapproche les flux pour préremplir les déclarations.
Validation
- FIRS : firs.gov.ng — site officiel, publications, lois fiscales, FAQ eInvoice.
- FIRS eInvoice (production) : einvoice.firs.gov.ng — portail de soumission MBS, vérification IRN, accès contribuable.
- FIRS eInvoice (sandbox UAT) : uat.einvoice.firs.gov.ng — environnement de test, API REST, swagger doc, tests d'intégration.
- Joint Tax Board (JTB) : jtb.gov.ng — coordination entre FIRS (impôts fédéraux) et SIRS (impôts des États fédérés), vérification TIN.
Pièges courants
-
TIN format strict avec code branche. Le TIN nigérian
n'est pas juste 8 chiffres : c'est
NNNNNNNN-NNNNavec le suffixe de branche obligatoire. Le siège utilise-0001, les filiales-0002,-0003… Erreur fréquente : transmettre un TIN sans suffixe → rejet API systématique. -
WHT (Withholding Tax) — composante complexe. Au-delà
de la VAT 7,5 %, beaucoup de transactions B2B sont soumises à un
Withholding Tax (5 % services, 10 % intérêts, 5 % loyers…).
L'UBL FIRS doit porter ces taxes dans
cac:TaxTotalavecTaxScheme.ID = WHT. Omettre = pénalités côté acheteur. - NGN volatile + multi-currency. Le Naira a connu de fortes dévaluations 2023-2024. Les factures en USD/EUR doivent toujours référencer le taux CBN du jour : pas le taux de marché parallèle. Tester la mise à jour quotidienne du taux CBN dans le pipeline.
- Sandbox UAT vs Prod — décalage de schéma. Le FIRS itère vite sur le schéma ; UAT et Prod peuvent diverger temporairement (parfois 2-3 semaines). Toujours valider contre les XSD les plus récents et tester sur UAT 7-10 jours avant chaque release Prod.
- IRN à imprimer sur factures physiques. Pour les contribuables transitionnant vers le full e-invoicing, le FIRS exige que les factures imprimées (encore tolérées en transition) portent l'IRN et le QR Code. Une facture imprimée sans IRN n'est pas opposable fiscalement.
Liens transverses
- UBL 2.1 — standard OASIS sous-jacent.
- EN 16931 — comparaison sémantique européenne.
- Afrique du Sud — autre marché majeur africain.
- Kenya — pays Afrique de l'Est avec eTIMS.
- Ghana — autre pays Afrique de l'Ouest avec GRA e-VAT.
- Sources officielles : firs.gov.ng, einvoice.firs.gov.ng, jtb.gov.ng.