Skip to content
PokutsoftPokutsoft
GlobalAccounting/Accounting
e-Invoice Core Engine icon

e-Invoice Core Engine

Shared foundation for country e-invoicing connectors: UBL 2.1 + canonical JSON builders, XML/JWS signing (BYOK), QR, validation, BYOK REST transport

Odoo 20.0Odoo 19.0Odoo 18.0

e-Invoice Core Engine

The shared foundation for country e-invoicing connectors

A jurisdiction-agnostic toolkit that powers UBL 2.1 and canonical JSON generation, cryptographic sealing, QR codes, validation and secure transport. Install it once; your country connector modules plug straight in. Compatible with Odoo 18, Odoo 19 and Odoo 20.

What is inside

UBL 2.1 Builder

Invoice and credit note documents with supplier/customer party blocks, invoice lines with allowances and charges, tax subtotal aggregation, monetary totals, payment means and terms, and base64 attachment embedding.

Canonical JSON Builder

Ordered-key serialization with configurable per-field decimal precision and a whitespace-free canonical string ready for signing in JSON-regime jurisdictions.

Signing (BYOK)

Enveloped XML-DSig with SHA-256 digests and exclusive C14N, plus a detached JWS variant for JSON regimes. Your certificate and key stay in your database and never leave it.

QR Engine

TLV+base64, plain-URL and JSON QR payloads with PNG rendering for invoice reports.

Validation Framework

A declarative rule engine with a generic EN 16931-style core rule set: required seller and buyer data, line math, tax total coherence, currency checks and date formats. Returns a structured error report.

BYOK REST Transport

A resilient request layer with exponential retry/backoff, bearer, api-key, basic and client-certificate authentication, sandbox and production switching, timeouts and full request/response logging. A trust anchor can be pinned per request, so a gateway served under a national CA that no operating system carries stops failing with a TLS error that looks like a network fault.

Certificate Bundle Import (.p12 / .pfx)

Certification authorities hand out one password-protected PKCS#12 bundle, not two PEM files. Upload it on the company form and the key and certificate are unpacked into the BYOK fields, with no openssl command line and nothing that has to run on a server shell — which is the only way this works on Odoo Online.

Certificate Expiry Warning

The stored certificate's expiry date is read and shown, and a warning appears in its last 30 days of validity. Submissions stop the moment a signing certificate lapses, and reissuing one is an appointment with your CA rather than an afternoon's work.

Built to extend

Country connectors register a profile and a generator hook against this engine. The core carries no country-specific logic, so a single foundation serves every jurisdiction — and its validation rules, canonical JSON serializer, XML signer, transport retry loop and document model are covered by the automated test suite that ships inside the module and runs on every Odoo installation with tests enabled.

Data disclosure

This module sends data only to the endpoints you configure in your country connector. No invoice data is transmitted anywhere else, and your certificate and private key never leave your database.

Screenshots

E-Invoice Profiles

Jurisdiction profile registry: every country connector registers its own profile, document format and in-code generator hook.

E-Invoice Document

E-invoice document envelope: state machine, authority reference and the generated UBL 2.1 payload.

E-Invoice Documents

Documents from several jurisdictions side by side, each with its own profile, submission count and status.

Transport Logs

BYOK REST transport log: endpoint, HTTP status, latency and retries for every outbound call.

Documentation

Configuration guide included in the package (docs/Configuration_Guide_EN.pdf) — installation and dependencies, menus and access groups, the profile registry and the generator hook a country connector registers, BYOK certificate and transport settings (REST authentication, mutual TLS, sandbox and production), signing, the QR engine, the validation rule set, the transport log, and an end-to-end test walkthrough. The Markdown source ships beside it as docs/Configuration_Guide_EN.md.

Update date: 2026-09-08

User guides (PDF)

Related modules