Romania

The Romanian localization combines the standard Romania - Accounting package, the standard E-Factura and E-Transport integrations of Odoo, and a set of eYssen modules. Together they cover invoicing according to the Fiscal Code, the exchange rates of the National Bank of Romania (BNR), bank statement and cash documents, E-Factura for businesses and individuals, the declarations to the ANAF (D300, D390, D394, D101, SAF-T D406), the annual financial statements, the mandatory accounting registers, fixed assets and stock accounting.

The Romanian features only apply to the companies whose fiscal country is Romania, so the localization can be installed in a database that also contains Hungarian or Spanish companies (see Romanian and Hungarian companies).

Configuration

Install the following modules to get all the features of the Romanian localization. Only the first ones are required for invoicing; install the others according to the needs of the company. Some modules are installed automatically with the module they extend, as mentioned in their description.

Standard modules

Name

Technical name

Description

Romania - Accounting

l10n_ro

Default fiscal localization package: chart of accounts, taxes and the NRC (trade register number) field on contacts.

Romania - E-invoicing

l10n_ro_edi

Sends customer invoices in the CIUS-RO (UBL) format to the ANAF SPV platform (E-Factura). Installed automatically for Romanian companies.

Romania - Synchronize E-Factura

l10n_ro_efactura_synchronize

Imports the vendor bills received in the SPV into a purchase journal.

Romania - E-Transport

l10n_ro_edi_stock

Declares transports of goods to the ANAF e-Transport system from delivery orders and receipts (UIT code).

Romania - CPV Code

l10n_ro_cpv_code

Adds the CPV (Common Procurement Vocabulary) code to products, required on some E-Factura lines.

Invoicing, taxes and exchange rates

Name

Technical name

Description

Romania - Localization Base

l10n_ro_base

Foundation of the eYssen modules: company settings, CNP, lookup of the contacts in the ANAF register, duplicate checks, legal holidays and working days, access to the Romanian menus.

Romania - Invoice Mentions

l10n_ro_invoice_report

Invoice layout: CUI, trade register number, share capital, series and number, TVA la încasare, taxare inversă, BNR rate and amounts in RON. Installed automatically with l10n_ro_base.

Romania - Non-deductible VAT

l10n_ro_nondeductible_vat

Purchase taxes with a limited or no VAT deduction (article 298) and the fiscal position that applies them.

Romania - BNR exchange rates

l10n_ro_currency_rate_bnr

BNR rates for the automatic update, loading of the historical rates, and the rate date rule of article 290.

Romania - E-Factura Extensions

l10n_ro_edi_extra

B2C invoices, Law 88/2026, submission deadline, storno invoices, SPV messages and ANAF check.

PoS Invoice - Romania

l10n_ro_pos_invoice

Data required to invoice a customer from the Point of Sale. Installed automatically with eyssen_pos_invoice and l10n_ro_base.

Bank and cash

Name

Technical name

Description

Romania - Bank statement import (MT940, CAMT.053, CSV)

l10n_ro_account_statement_import

Import of the statements of the Romanian banks (MT940 for BCR, BRD, ING, BT, Raiffeisen and UniCredit, CAMT.053, CSV) and recognition of the partners by IBAN or CUI.

Romania - Cash Documents (eYssen)

l10n_ro_cash

Receipts, cash orders, cash register book and the cash limits of Law 70/2015, on the eYssen cash register.

ANAF declarations

Name

Technical name

Description

Romania - ANAF Declarations Base

l10n_ro_declaration

Common framework of the declarations: periods, versions, XML and XSD, validation with the ANAF DUKIntegrator, tax code catalogue.

Romania - D300 VAT Return (Decont de TVA)

l10n_ro_d300

VAT return, with the reconciliation with RO e-TVA.

Romania - D390 Recapitulative Statement (VIES)

l10n_ro_d390

Recapitulative statement of the intra-Community operations.

Romania - D394 Informative Statement (Domestic Supplies and Acquisitions)

l10n_ro_d394

Informative statement of the domestic supplies and acquisitions.

Romania - D101 Profit Tax Return and Micro-enterprise Tax

l10n_ro_d101

Annual profit tax return and micro-enterprise tax.

Romania - SAF-T D406 (Fișierul Standard de Control Fiscal)

l10n_ro_d406

SAF-T declaration D406, monthly or quarterly.

Romania - SAF-T D406 Assets

l10n_ro_d406_asset

Annual D406 declaration of the fixed assets. Installed automatically with l10n_ro_d406 and l10n_ro_asset.

Romania - SAF-T D406 Inventory

l10n_ro_d406_stock

D406 inventory declaration, on request. Installed automatically with l10n_ro_d406 and the stock valuation.

Financial statements, registers, assets and stock

Name

Technical name

Description

Romania - Financial Statements (Situații financiare, ANAF)

l10n_ro_financial_statements

Annual financial statements (S1002 to S1005 and the half-year report S1027).

Romania - Accounting Registers (Dynamic Reports)

l10n_ro_dynamic_reports

Mandatory accounting registers.

Romania - Fixed Assets (eYssen)

l10n_ro_asset

Fixed assets: catalog of HG 2139/2004, linear, degressive and accelerated depreciation.

Romania - Stock Accounting

l10n_ro_stock_account

Romanian perpetual inventory postings.

Romania - Stock Reports

l10n_ro_stock_report

Stock documents and reports: NIR, delivery note (aviz), consumption voucher, stock card (fișa de magazie), inventory list.

Note

The Romanian SAF-T export (D.406 declaration) is available with the Romania - SAF-T D406 (Fișierul Standard de Control Fiscal) module (l10n_ro_d406): see SAF-T D406 (Romania).

Company

In Settings ‣ General Settings ‣ Companies ‣ Update Info, fill in the company’s Tax ID (CUI, with the RO prefix for VAT-registered companies) and, in the company’s contact form, the NRC (Număr de ordine în Registrul Comerțului).

The Romanian features of the eYssen modules are only active when the Fiscal Country of the company, in the Taxes section of Accounting ‣ Configuration ‣ Settings, is Romania. The other options of the company, such as the VAT on collection system and the share capital, are in the Romanian Localization settings.

E-Factura

The standard integration described in this section sends the invoices to the ANAF SPV and receives the vendor bills. The rules that Romanian companies add to it (invoices to individuals and Law 88/2026, submission deadline, storno invoices, SPV messages) are provided by the eYssen Romania - E-Factura Extensions module.

Connection to the SPV

Odoo sends the invoices to the ANAF Spațiul Privat Virtual (SPV) with the company’s own OAuth credentials. In Accounting ‣ Configuration ‣ Settings ‣ Romanian E-Factura:

  1. Register an application on the ANAF developer portal with the Callback URL shown in the settings block, and copy the resulting Client ID and Client Secret into the corresponding fields.

  2. Keep Use Test Environment enabled while testing; disable it for production.

  3. Insert the digital signature USB token, click Generate Token and log in to ANAF. The Access Token and Refresh Token and their expiry dates are then filled in automatically; the token is refreshed by a scheduled action before it expires.

screenshot: finance-fl-romania-efactura-settings
menu
Accounting ‣ Configuration ‣ Settings ‣ Romanian E-Factura
shows
The "Romanian E-Factura" settings block with the Callback URL, "Client ID", "Client Secret", the "Generate Token" button, the access/refresh token expiry dates and the "Use Test Environment" checkbox.
highlight
The "Generate Token" button.
data
Demo company "YourCompany RO", Romanian localization installed; test environment, throw-away credentials.
module
l10n_ro_edi
notes
English UI, light theme, 1440px width; use a throw-away secret.

Sending invoices

Once an invoice is posted, open Send & Print and keep the Send E-Factura to SPV option enabled: the CIUS-RO XML is generated, attached to the invoice and uploaded to the SPV. The E-Factura Status field of the invoice then shows Sent; click Fetch status on the line of the E-Factura tab to retrieve the ANAF answer, which sets the status to Validated (a failed document is listed as Error in the tab). The validated document can be downloaded with Download in the E-Factura tab of the invoice, and errors are logged in the chatter.

With the Romania - E-Factura Extensions module, the invoices to individuals are reported as well, the invoices that are late are followed with reminders, and the messages of the SPV are stored: see E-Factura rules, deadlines and messages.

screenshot: finance-fl-romania-efactura-invoice
menu
Accounting ‣ Customers ‣ Invoices ‣ (a sent invoice) ‣ E-Factura tab
shows
A posted customer invoice with the "E-Factura Status" field showing "Validated", the "Fetch status" button and the E-Factura tab listing the sent document with its index and the "Download" button.
highlight
The "E-Factura Status" field.
data
Demo company "YourCompany RO", invoice INV/2025/00003 validated in the test SPV.
module
l10n_ro_edi
notes
English UI, light theme, 1440px width.

Receiving vendor bills

With the Romania - Synchronize E-Factura module, select the purchase journal in Import Vendor Bills in in the same settings block. The scheduled action E-Factura: Synchronize with ANAF then downloads the invoices addressed to the company in the SPV and creates draft vendor bills from them in that journal.

E-Transport

The Romania - E-Transport module declares the transport of goods to the ANAF e-Transport system directly from the transfer. On a delivery order or receipt, the eTransport tab holds the required data: operation type and scope, Vehicle Number (and trailers), the start and end location types, border crossing point or customs office where applicable, and the carrier’s partner set on the delivery method. Click Send eTransport to obtain the UIT code (listed in the eTransport Documents tab), Fetch Status to update the eTransport Status, and Amend eTransport to send a correction. The UIT is printed on the delivery slip.

screenshot: finance-fl-romania-etransport-picking
menu
Inventory ‣ Operations ‣ Deliveries ‣ (a delivery order) ‣ eTransport tab
shows
A validated delivery order with the "Send eTransport" and "Fetch Status" buttons in the header and the eTransport tab: operation type, vehicle number, start/end location types and the returned "UIT" code with the "eTransport Status" = Validated.
highlight
The "UIT" field.
data
Demo company "YourCompany RO", delivery WH/OUT/00012, vehicle B123ABC.
module
l10n_ro_edi_stock
notes
English UI, light theme, 1440px width.

CPV codes

The Romania - CPV Code module adds a CPV Code field to the product form (Invoicing tab). Set it on the products sold to public institutions, so that the code is included in the E-Factura lines when required.