Concepts — Fiscal invoicing¶
This section explains the vocabulary and inner workings of the module.
Key notions¶
- FNE (Facture Normalisée Électronique): the electronic invoice certification system of the DGI of Côte d'Ivoire.
- DGI: Direction Générale des Impôts of Côte d'Ivoire, the authority governing the FNE.
- FNE API key: the access identifier linking your organization to the FNE platform. It is obtained during the regulatory activation (in French).
- Import: a file of invoices or credit notes uploaded into the module. An import gathers and tracks every document of a single file.
- Submission: sending an invoice or a credit note to the FNE for certification. Every submission gets a status (accepted, rejected, cancelled, failed).
- FNE reference: the identifier the FNE returns for a certified document, attesting its normalization.
- Credit note: a document that cancels or reduces a certified invoice. See the glossary.
- Sticker: the certification unit consumed by every document submitted to the FNE. The dashboard shows the remaining balance, as an amount.
- External backup: an automatic copy of the certified PDFs to third-party storage (SFTP, Google Drive, Azure Blob), depending on your plan.
- Automatic collection: the reverse trip of the backup — the module fetches your files from SFTP or Azure Blob storage and imports them without any intervention.
The model¶
A model bundles two things that always go together:
- an import mapping, which decides the columns of the file you upload and how to read them;
- a document template, which decides the layout of the certified PDF.
Every model carries:
- a code, permanent, and a name;
- a nature, permanent as well, which decides the destination of the import (sale, credit note, purchase slip);
- two flows: the invoice flow and the credit note flow, each with its own mapping and its own template. A credit note flow names the invoice flow it corrects.
Standard or custom¶
A model is either standard — it belongs to the platform, every organization can read it and none can change it — or custom — it belongs to your organization.
You rarely start from a blank page: you clone a standard model, and the clone becomes a custom model, free of any restriction.
System fields and model fields¶
The columns of a mapping come from two sources:
- the system fields, provided by the platform and listed under Paramètres › Champs système (Settings › System fields). You can neither create nor delete them, but every model may rename them, make them required, change their order and give them its own formulas.
- the model fields, which you define yourself inside the model. They exist there and nowhere else.
Some system fields are structural: the module cannot read a file without them, so they stay required and unchangeable.
Every field has a scope, shown as a badge: Facture (Invoice) for what describes the whole invoice, Ligne (Line) for what describes one of its lines.
Formulas¶
A field may carry two formulas, specific to the model:
- a validation rule, which rejects a non-compliant value at import time;
- a calculation formula, which fills the field from the others instead of asking for it in the file.
Both formulas are written using the other fields of the model as variables; the variable picker lists them.
The document template¶
The template describes the printed page. It is built by drag and drop on a sheet mirroring the real layout: a header, a body, a footer, and blocks aligned side by side in rows of at most four columns.
Four block types are dropped freely: Texte (Text — rich text, with values inserted between curly braces), Image (the company logo), Champs (Fields — label/value pairs) and Tableau de lignes (Line table).
Some blocks are locked: fiscal notice, FNE QR code, totals, tax summary, amount in words, page numbers. Regulation imposes them; they cannot be removed.
Languages¶
A template declares its languages. French is always there; English is added with a checkbox. Every text block and every field label is then written in both languages, and the module flags the blocks left without an English version, which would print in French.
Versions¶
A template is versioned. When an invoice is certified, the version of the template that produced it is pinned on it: reprinting the invoice months later returns exactly the document the FNE certified, even if the template changed in the meantime. Credit notes follow the same rule.
File formats and model marker¶
The module reads four formats: Excel, CSV, XML and JSON.
An Excel workbook may carry several documents. CSV, XML and JSON files carry one document each.
The module recognizes a file by the model marker it contains — an identifier written in the file itself: a legend sheet for Excel, a first #model: line for CSV, an attribute on the root for XML and JSON. It is that marker, not the file name, that tells which model to apply. So there is no naming convention to respect.
Manual import: Excel only
The Nouvel import (New import) screen only accepts Excel workbooks (.xlsx, .xls). The CSV, XML and JSON formats serve the automatic collection and the exchanges with your own systems.
Sources¶
Invoices and credit notes enter the module in four ways:
- Manuel (Manual): an Excel workbook imported through the interface.
- SFTP: automatic collection of the files dropped on an SFTP server.
- Azure Blob Storage: automatic collection of the files dropped in a container.
- Minlessika: documents coming from the other modules of the platform.
See also the platform glossary.
Changelog¶
- 2.0 (August 1, 2026): models, fields, versioned templates and the model marker added.
- 1.0 (July 11, 2026): document created.