Se rendre au contenu
Icône de E-invoicing Foundation — mandates, EDI files, validation, transmission log

E-invoicing Foundation — mandates, EDI files, validation, transmission log

par Omnifloo
Gratuit Odoo 20 Module Contrôle qualité : Vérifiée LGPL-3

Free e-invoicing foundation for Odoo Community 20: versioned registry of national e-invoicing and tax reporting mandates with their sources, format-independent invoice model, pluggable validators, one EDI file per invoice and format with SHA-256 fingerprint, and an append-only transmission log that

E-invoicing foundation

Mandates, EDI files, validation and transmission log, with three results that are never merged into one.

Not tested against a real operator. This foundation is covered by automated tests on a fresh database. It has never exchanged a file with a real operator, and every invoice screen says so until a real transmission is recorded.

The problem

A valid XML file, a file accepted by the operator and a file acknowledged by the recipient are three different results. A single green tick hides the two that matter most: the tick turns green because the file parsed, and nobody sees that the operator rejected it two days later.

National obligations move, too. A date is postponed, a population is split, a threshold is revised. A date written in code is wrong the day the law changes, silently.

What the foundation does

  • Versioned mandate registry. Country, scheme, direction, population, threshold, effective date, source link and date of verification. A regulatory change creates a new version and keeps the old one. The version in force on a date is read from the records, never from the code.
  • "Not found" is a status. Where the research found no general mandate, the record says so, with the research sentence kept as it was written.
  • Formats linked to the standard generators. Peppol BIS Billing 3, Factur-X, ZUGFeRD, XRechnung and others are produced by the generator that ships with the accounting application. The foundation rewrites none of them.
  • One file per invoice, format and content. Stored with its SHA-256 fingerprint. Generating the same content twice returns the existing file.
  • Pluggable validators. Well-formed XML, and minimal checks on a format-independent view of the invoice: seller VAT number, buyer identity, dates, untaxed amount plus tax equal to the total at the currency rounding, at least one line.
  • Append-only transmission log. A closed entry can be neither changed nor deleted. The operator and recipient statuses are derived from it.

Three statuses, side by side

File Operator Recipient
not checked, valid, invalid not sent, sent, accepted, rejected, error no response, received, acknowledged, refused

What it does not do

It talks to no operator and no tax administration: transport belongs to country modules built on top of it. It embeds no official schematron, because the licence of those artefacts has not been checked. It records what happened; it does not declare an invoice compliant.

Mandate data come from a research note dated 28 September 2026, with the source of each line. Check the source before relying on a date.

Ce que l'application ne fait pas

L'éditeur n'a pas encore publié la liste de ce que l'application ne fait pas. C'est une règle du magasin : demandez-la au support avant de vous engager.

Applications du magasin nécessaires

Modules Odoo Community utilisés

account

SérieVersionÉtatPubliée le
20.020.0.1.0.0 Disponible 29/09/2026

Fiche générée depuis le code de l'éditeur (dépôt privé, branche 20.0) : le code source n'est pas publié.

Contrôle automatique du magasin (distinct de l'éditeur), appliqué à toutes les applications. Conforme.

ContrôleRésultatEffet si absent
Manifeste lisible sans exécution conforme bloquant
Licence reconnue (LGPL-3) conforme bloquant
Aucune dépendance vers Odoo Enterprise conforme bloquant
Aucun import de code Enterprise conforme bloquant
Aucun en-tête de licence Enterprise conforme bloquant
Icône static/description/icon.png conforme déclasse
Description (static/description/index.html ou README) conforme déclasse
Tests automatisés (tests/test_*.py) conforme déclasse
Traduction française (i18n/fr.po) conforme info
Section « Ce que le module ne fait pas » absent info
Titre de 70 caractères au plus (74 actuellement) absent info
Résumé en français absent info

Avis des clients connectés. Un avis noté par client ; l'éditeur peut y répondre. Connectez-vous pour laisser un avis.

Éditeur
Omnifloo (DYONYSOS)
E-mail
contact@omnifloo.com
Clients Omnifloo
Support inclus selon votre formule : centre d'aide.