Skip to Content
Icône de E-invoicing Foundation — mandates, EDI files, validation, transmission log

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

Free Odoo 20 Module Quality check: Verified 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.

What this app does not do

The publisher has not yet published the list of what the app does not do. This is a store rule: ask support for it before you commit.

Store apps required

Odoo Community modules used

account

SeriesVersionStatusPublished on
20.020.0.1.0.0 Available 29/09/2026

Listing generated from the publisher's code (private repository, branch 20.0): the source code is not published.

Automatic store check (separate from the publisher's), applied to all apps. Conforme.

CheckResultEffect if 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

Reviews from signed-in customers. One rated review per customer; the publisher can reply. Sign in to leave a review.

Publisher
Omnifloo (DYONYSOS)
Email
contact@omnifloo.com
Omnifloo customers
Support included with your plan: help centre.