RO e-Factura · SAF-T D406 · Odoo 17/18/19

Romania e-Invoicing for Odoo: e-Factura & SAF-T handled inside your ERP

If your company invoices in Romania, RO e-Factura (ANAF/SPV) and SAF-T (D406) reporting are already mandatory. This module handles both inside Odoo 17, 18 and 19 — no parallel dashboards, no external tools. It builds on the native l10n_ro localization and adds what Odoo leaves out: the full outbound e-Factura lifecycle and the annual and on-demand D406.

e-Factura via ANAF/SPVGenerate and send the mandatory XML from the Odoo invoice itself.
SAF-T (D406)Builds the standard accounting file from your real Odoo data.
No external toolsAll inside Odoo: no parallel SaaS and no double data entry.
Romania e-Factura and SAF-T e-invoicing compliance handled inside Odoo
Romania inside the ERPe-Factura and SAF-T handled from Odoo, without leaving your accounting back office.
€49 · one-time payment Source code included (LGPL-3) Odoo 17, 18 & 19 · Community & Enterprise Direct support from the developer No middleware

Real screenshots from the module

The very screens you get in Odoo.

Romania e-Factura Odoo module screenshot SAF-T D406 reporting in Odoo screenshot

Try the RO e-Factura and SAF-T module inside a real Odoo 19, no sign-up needed. User demo / flexigodemo.

Try the live demo View on the App Store

Romania tax compliance, without ever leaving Odoo

RO e-Factura and SAF-T are not optional: every invoice has to be submitted within 5 working days, and penalties run from 1,000 to 10,000 RON per breach. The real headache is meeting both without duplicating work or babysitting a separate tool that lives outside your accounting.

Mandatory e-invoicing

Romania requires B2B and B2G invoices to be sent electronically through ANAF's RO e-Factura platform. Keying them into the SPV portal by hand simply does not scale.

SAF-T reporting (D406)

SAF-T forces you to submit a standardised accounting file. Rebuilding it by exporting and stitching data back together outside the ERP is slow and error-prone.

Data split across two systems

When invoicing lives in Odoo but compliance lives in another tool, you get mismatches, delays and real penalty risk from incomplete filings.

What the module does inside Odoo

Built for SMEs that have to meet RO e-Factura and SAF-T without standing up a parallel infrastructure. The module installs and runs straight from Odoo accounting itself.

Full e-Factura lifecycle with ANAF states

Generates the XML, submits it to ANAF/SPV from the invoice itself and tracks every state: Queued, Submitted, Accepted (Sealed), Rejected and Retry — all without leaving Odoo.

SAF-T D406 beyond native Odoo

Monthly, quarterly, annual and on-demand declarations with XSD validation before submission — including the annual and on-demand cases native Odoo does not generate.

B2C and credit/debit notes

Classifies and submits B2C invoices within the 5-working-day window, plus credit and debit notes carrying a billing reference back to the original invoice.

Compliance dashboard

One screen with overdue invoices, certificate status, SPV connection, the latest ANAF errors, e-Factura by state and your SAF-T filing status.

Exportable audit trail (CSV/Excel)

Per-invoice ANAF request and response references, a retry counter and one-click export of every submission in a period.

Multi-company and encrypted credentials

Each company keeps its own ANAF configuration and submission queue. Certificate keys, passwords and SPV tokens are encrypted at rest with Fernet.

From install to your first submitted invoice

Four steps. No middleware, no parallel portal — everything happens inside Odoo.

1. Install on your Odoo

Add the module to your Odoo 17, 18 or 19 (Community or Enterprise). It sits on top of the native l10n_ro localization and adds the RO e-Factura and SAF-T screens.

2. Connect ANAF/SPV

Enter your ANAF/SPV credentials and certificate once. They are stored encrypted at rest, per company — and if you'd rather not, we set this up for you.

3. Send & report

Post an invoice and send the e-Factura XML to ANAF straight from it, then track its state. Build and validate the SAF-T D406 for any period in a couple of clicks.

A developer you talk to directly, and a native Odoo module

FlexigoTech (Flexibles y Accesorios Gobe, S.L.) is an independent Odoo developer based in Barcelona. There's no reseller network in between: you buy the module (€49, one-time payment, source code included) and, if you want it, help from the person who actually built it. The module is native to Odoo — no separate paid SaaS on the side. We don't make up success stories or reviews: what you see here is what it does.

17-19native Odoo
0extra SaaS
BCNdirect support

What it does — and what it doesn't

The module covers e-Factura (ANAF/SPV) and SAF-T (D406) preparation inside Odoo. It doesn't replace your tax advisor or decide the accounting treatment for you: it prepares the files and automates submission so compliance is fast and traceable. If you need credential setup or a tax adjustment, we do it for you.

Talk to the developerCustom development

If this search brought you here, these may help too

We connect this page to the rest of the site so you can find the module, get in touch or explore custom development, depending on what you need.

Common questions about RO e-Factura and SAF-T in Odoo

Is e-Factura mandatory in Romania?

Yes. Romania requires B2B and B2G invoices to be sent electronically through ANAF's RO e-Factura platform (the SPV / Virtual Private Space), and B2C invoices are in scope as well. Each invoice has to be submitted within 5 working days. The module generates the XML and sends it from Odoo, so you never have to log into the ANAF portal and re-key anything by hand.

What is SAF-T (D406) and does this Romania e-invoicing Odoo module cover it?

SAF-T is the standardised accounting file that Romanian companies file with ANAF through the D406 form. The module pulls the accounting data out of Odoo and builds the SAF-T for you, validating it against the XSD schema before submission, so you file it without re-keying anything into a separate tool. It covers monthly, quarterly, annual and on-demand declarations.

Doesn't Odoo's native Romanian localization already handle this?

Not entirely. This module doesn't replace the native localization — it extends it. It runs on top of l10n_ro (and l10n_ro_saft when installed) and adds what Odoo leaves manual: the full outbound RO e-Factura submission lifecycle with ANAF status tracking, plus the annual and on-demand SAF-T D406 declarations that native Odoo does not generate.

Does it work with Odoo Community?

Yes. The module works on both Odoo Community and Enterprise, across Odoo 17, 18 and 19. You get the full source code (LGPL-3), so it runs on your own hosting or on Odoo.sh with no vendor lock-in.

Do I need any external software or a separate SaaS subscription?

No. Everything runs inside Odoo. There is no parallel dashboard and no extra FlexigoTech SaaS subscription — e-invoicing and SAF-T reporting are handled from the ERP itself, so your invoicing and your compliance stay in one place.

Do you sell only the license, or the setup too?

Both. The module is a one-time €49 purchase (source code included) on the Odoo App Store or directly from us. On top of that you can hire us to configure the ANAF/SPV credentials, adjust the tax setup and support go-live. You buy directly from the developer in Barcelona — no reseller in between.

If you invoice in Romania, compliance is no longer optional.

The only question is whether you keep wrestling with the ANAF portal and manual exports, or solve e-Factura and SAF-T straight from Odoo — with direct support from the developer.

Try the live demoView on the App Store · +34 639 913 105