Intégrez FNE Bridge à votre logiciel
Retrouvez les endpoints de certification, les paramètres attendus, des exemples de requêtes et les formats de réponse. Cette documentation est consultable librement ; une clé API Bridge est nécessaire pour les opérations protégées.
https://fne-bridge.comAuthentification
La clé API Bridge identifie l’entreprise et autorise l’utilisation de l’API de liaison FNE DGI.
Authorization: Bearer fnb_live_VOTRE_CLE_BRIDGECertifier une facture de vente
Permet de soumettre une facture de vente à la certification FNE DGI depuis un logiciel, un ERP ou une application web.
En-têtes et paramètres
AuthorizationheaderrequisAcceptheaderrequisContent-TypeheaderrequisX-Source-ReferenceheaderoptionnelinvoiceTypestringrequispaymentMethodstringrequistemplatestringrequisisRnebooleanrequisrnestringoptionnelclientNccstringoptionnelclientCompanyNamestringrequisclientPhonestring|numberrequisclientEmailstringrequisclientSellerNamestringoptionnelpointOfSalestringrequisestablishmentstringrequiscommercialMessagestringoptionnelfooterstringoptionnelforeignCurrencystringoptionnelforeignCurrencyRatenumberoptionnelitemsarrayrequiscustomTaxesarrayoptionneldiscountnumberoptionnelitems[].taxesarrayrequisitems[].customTaxesarrayoptionnelitems[].referencestringoptionnelitems[].descriptionstringrequisitems[].quantitynumberrequisitems[].amountnumberrequisitems[].discountnumberoptionnelitems[].measurementUnitstringoptionnelExemple de corps JSON
{
"invoiceType": "sale",
"paymentMethod": "mobile-money",
"template": "B2B",
"isRne": false,
"rne": null,
"clientNcc": "9502363NN",
"clientCompanyName": "ENTREPRISE ABC",
"clientPhone": "0709080765",
"clientEmail": "contact@abc.ci",
"clientSellerName": "Ali Hassan",
"pointOfSale": "23",
"establishment": "Agence principale",
"commercialMessage": "Soyez les bienvenus",
"footer": "Merci pour votre confiance",
"foreignCurrency": "",
"foreignCurrencyRate": 0,
"items": [
{
"taxes": ["TVA"],
"customTaxes": [{"name": "GRA", "amount": 5}],
"reference": "ref009",
"description": "Article exemple",
"quantity": 30,
"amount": 20000,
"discount": 10,
"measurementUnit": "pcs"
}
],
"customTaxes": [{"name": "DTD", "amount": 5}],
"discount": 10
}Champs de réponse
nccstringreferencestringtokenstringwarningbooleanbalance_fundsintegerinvoiceobjectRéponses et erreurs
200/201 Succès
La certification a été traitée avec succès. La réponse contient notamment la référence FNE DGI et les informations du document certifié.
{
"ncc": "9606123E",
"reference": "9606123E25000000019",
"token": "http://54.247.95.108/fr/verification/019465c1-3f61-766c-9652-706e32dfb436",
"warning": false,
"balance_funds": 999980,
"invoice": {
"id": "e2b2d8da-a532-4c08-9182-f5b428ca468d",
"parentId": null,
"parentReference": null,
"token": "019465c1-3f61-766c-9652-706e32dfb436",
"reference": "9606123E25000000019",
"type": "invoice",
"subtype": "normal",
"date": "2025-01-14T16:59:11.016Z",
"paymentMethod": "mobile-money",
"amount": 852660,
"vatAmount": 172260,
"fiscalStamp": 0,
"discount": 10,
"clientNcc": "9502363NN",
"clientCompanyName": "ENTREPRISE CLIENT",
"status": "paid",
"source": "api",
"items": []
}
}400 Requête invalide
La plateforme FNE de la DGI a refusé la requête en raison d’un paramètre métier invalide.
{
"message": "Point of sale is not valid",
"error": "bad_request",
"statusCode": 400
}401 Plateforme FNE de la DGI
La plateforme FNE de la DGI a refusé l’opération pour des raisons d’accès.
{
"message": "Unauthorized",
"error": "unauthorized_exception",
"statusCode": 401
}401 Authentification Bridge
La clé API Bridge est absente, invalide, expirée ou rattachée à une entreprise inactive.
{
"message": "Invalid Bridge API key",
"error": "bridge_unauthorized",
"statusCode": 401
}422 Validation
La requête ne respecte pas le contrat attendu par l’API de liaison FNE DGI.
{
"message": "The invoice type field is required.",
"errors": {
"invoiceType": [
"The invoice type field is required."
]
}
}500 Erreur plateforme FNE DGI
Le Bridge retourne une erreur neutre fne_processing_error et conserve le détail brut de la FNE dans upstream. La cause métier exacte n’est pas déduite et aucune répétition automatique n’est recommandée.
{
"success": false,
"error": "fne_processing_error",
"message": "La plateforme FNE n'a pas pu finaliser l'opération.",
"statusCode": 500,
"retryable": false,
"upstream": {
"error": "invoice_signing_error",
"message": "Error signing invoice",
"statusCode": 500,
"errors": [],
"extraParams": []
}
}503 Service indisponible
Le service requis pour traiter l’opération est temporairement indisponible ou la configuration de l’entreprise doit être vérifiée.
{
"message": "Service temporairement indisponible pour cette entreprise.",
"error": "bridge_service_unavailable",
"statusCode": 503
}À retenir
- Pour B2B, clientNcc est obligatoire et doit être une chaîne de caractères.
- Le champ taxes est envoyé sous forme de tableau, par exemple ["TVA"].
- Conservez invoice.id et les identifiants invoice.items[].id si votre logiciel doit ensuite créer un avoir.
Certifier un bordereau d’achat
Permet de soumettre un bordereau d’achat de produits agricoles à la certification FNE DGI. Pour cette opération, invoiceType doit valoir purchase.
En-têtes et paramètres
AuthorizationheaderrequisAcceptheaderrequisContent-TypeheaderrequisX-Source-ReferenceheaderoptionnelinvoiceTypestringrequispaymentMethodstringrequistemplatestringrequisisRnebooleanrequisrnestringoptionnelclientNccstringoptionnelclientCompanyNamestringrequisclientPhonestring|numberrequisclientEmailstringrequisclientSellerNamestringoptionnelpointOfSalestringrequisestablishmentstringrequiscommercialMessagestringoptionnelfooterstringoptionnelitemsarrayrequisdiscountnumberoptionnelitems[].referencestringoptionnelitems[].descriptionstringrequisitems[].quantitynumberrequisitems[].amountnumberrequisitems[].discountnumberoptionnelitems[].measurementUnitstringoptionnelExemple de corps JSON
{
"invoiceType": "purchase",
"paymentMethod": "mobile-money",
"template": "B2B",
"isRne": false,
"rne": null,
"clientNcc": "9502363NN",
"clientCompanyName": "COOPERATIVE DU GRAND OUEST",
"clientPhone": "0709080765",
"clientEmail": "info@example.ci",
"clientSellerName": "Ali Hassan",
"pointOfSale": "FACTURECHAP",
"establishment": "FASTMIND",
"commercialMessage": "Soyez les bienvenus",
"footer": "Merci",
"foreignCurrency": "",
"foreignCurrencyRate": 0,
"items": [
{
"reference": "ref001",
"description": "Cacao brut premier choix",
"quantity": 2000,
"amount": 2200,
"discount": 10,
"measurementUnit": "kg"
}
],
"discount": 10
}Champs de réponse
nccstringreferencestringtokenstringwarningbooleanbalance_fundsintegerinvoiceobjectRéponses et erreurs
200/201 Succès
Le bordereau d’achat a été certifié. La réponse peut notamment contenir invoice.subtype=purchase_slip, la référence FNE et balance_funds.
{
"ncc": "2600244J",
"token": "http://54.247.95.108/fr/verification/01a1126b-e52d-7cc8-8f4e-3d17ce9ae00e",
"invoice": {
"id": "83e03dc2-cff2-41d8-a9bb-6fe3cebb772d",
"type": "invoice",
"subtype": "purchase_slip",
"template": "B2B",
"clientNcc": "9502363NN",
"clientCompanyName": "COOPERATIVE DU GRAND OUEST",
"reference": "B2600244J26000000001",
"status": "paid"
},
"warning": false,
"reference": "B2600244J26000000001",
"balance_funds": 999920
}400 Requête invalide
La plateforme FNE de la DGI a refusé la requête en raison d’un paramètre métier invalide.
{
"message": "Point of sale is not valid",
"error": "bad_request",
"statusCode": 400
}401 Plateforme FNE de la DGI
La plateforme FNE de la DGI a refusé l’opération pour des raisons d’accès.
{
"message": "Unauthorized",
"error": "unauthorized_exception",
"statusCode": 401
}401 Authentification Bridge
La clé API Bridge est absente, invalide, expirée ou rattachée à une entreprise inactive.
{
"message": "Invalid Bridge API key",
"error": "bridge_unauthorized",
"statusCode": 401
}422 Validation
La requête ne respecte pas le contrat attendu par l’API de liaison FNE DGI.
{
"message": "The invoice type field is required.",
"errors": {
"invoiceType": [
"The invoice type field is required."
]
}
}500 Erreur plateforme FNE DGI
Le Bridge retourne une erreur neutre fne_processing_error et conserve le détail brut de la FNE dans upstream. La cause métier exacte n’est pas déduite et aucune répétition automatique n’est recommandée.
{
"success": false,
"error": "fne_processing_error",
"message": "La plateforme FNE n'a pas pu finaliser l'opération.",
"statusCode": 500,
"retryable": false,
"upstream": {
"error": "invoice_signing_error",
"message": "Error signing invoice",
"statusCode": 500,
"errors": [],
"extraParams": []
}
}503 Service indisponible
Le service requis pour traiter l’opération est temporairement indisponible ou la configuration de l’entreprise doit être vérifiée.
{
"message": "Service temporairement indisponible pour cette entreprise.",
"error": "bridge_service_unavailable",
"statusCode": 503
}À retenir
- invoiceType doit valoir purchase.
- Pour un bordereau d’achat B2B, clientNcc est obligatoire et doit être envoyé comme chaîne, par exemple "9502363NN".
- Les champs taxes et customTaxes ne sont pas requis pour les articles du bordereau d’achat dans le contrat actuel.
- La réponse de l’opération suit le format présenté dans la section « Retours serveur et erreurs ».
Certifier une facture d’avoir
Permet de certifier un avoir à partir d’une facture déjà certifiée. Utilisez l’identifiant de la facture d’origine et les identifiants des articles concernés.
En-têtes et paramètres
AuthorizationheaderrequisAcceptheaderrequisContent-TypeheaderrequisX-Source-ReferenceheaderoptionnelinvoiceIdstringrequisitemsarrayrequisitems[].idstringrequisitems[].quantitynumberrequisExemple de corps JSON
{
"items": [
{
"id": "bf9cc241-9b5f-4d26-a570-aa8e682a759e",
"quantity": 20
},
{
"id": "50b5c9d9-e22d-4dce-ba3c-5d2519c3418f",
"quantity": 10
}
]
}Champs de réponse
nccstringreferencestringtokenstringwarningbooleanbalance_fundsintegerRéponses et erreurs
201 Succès
L’avoir a été certifié avec succès.
{
"ncc": "9606123E",
"reference": "A9606123E2500000006",
"token": "http://54.247.95.108/fr/verification/019465ca-c27c-700e-ba3f-09d0759b9170",
"warning": false,
"balance_funds": 999960
}401 Plateforme FNE de la DGI
La plateforme FNE de la DGI a refusé l’opération pour des raisons d’accès.
{
"message": "Unauthorized",
"error": "unauthorized_exception",
"statusCode": 401
}401 Authentification Bridge
La clé API Bridge est absente, invalide, expirée ou rattachée à une entreprise inactive.
{
"message": "Invalid Bridge API key",
"error": "bridge_unauthorized",
"statusCode": 401
}422 Validation
Le corps de la requête ne respecte pas le contrat attendu pour la certification de l’avoir.
{
"message": "The items field is required.",
"errors": {
"items": ["The items field is required."]
}
}500 Erreur plateforme FNE DGI
Le Bridge retourne une erreur neutre fne_processing_error et conserve le détail brut de la FNE dans upstream. La cause métier exacte n’est pas déduite et aucune répétition automatique n’est recommandée.
{
"success": false,
"error": "fne_processing_error",
"message": "La plateforme FNE n'a pas pu finaliser l'opération.",
"statusCode": 500,
"retryable": false,
"upstream": {
"error": "invoice_signing_error",
"message": "Error signing invoice",
"statusCode": 500,
"errors": [],
"extraParams": []
}
}503 Service indisponible
Le service requis pour traiter l’opération est temporairement indisponible ou la configuration de l’entreprise doit être vérifiée.
{
"message": "Service temporairement indisponible pour cette entreprise.",
"error": "bridge_service_unavailable",
"statusCode": 503
}À retenir
- invoiceId est l’identifiant FNE de la facture d’origine, pas sa référence lisible.
- items[].id correspond à l’identifiant FNE retourné pour la ligne d’origine.
- items[].quantity doit être un nombre JSON strictement supérieur à zéro. Le Bridge normalise les chaînes numériques valides avant l’appel FNE.
- Le succès de la certification d’un avoir est retourné avec le code HTTP 201.
État du service
Vérifie la disponibilité de l’API de liaison FNE DGI. Cet endpoint ne nécessite pas de clé API Bridge.
{
"status": "ok",
"service": "API de liaison FNE DGI",
"time": "2026-09-17T20:00:00+00:00"
}Codes et choix acceptés
Moyens de paiement
cashEspècescardCarte bancairecheckChèquemobile-moneyMobile MoneytransferVirement bancairedeferredÀ termeModèles de facture
B2BEntreprise / professionnel possédant un NCCB2FClient à l’internationalB2GInstitution gouvernementaleB2CParticulierCodes de taxe
TVATVA normale 18 %TVABTVA réduite 9 %TVACTVA exonérée conventionnelle 0 %TVADTVA exonérée légale 0 % pour TEE et RMEDevises
XOFUSDEURJPYCADGBPAUDCNHCHFHKDNZD