Romanian accounting localization for Odoo
Declarations, payroll and fixed assets working together in Odoo: what Odoo already covers, and what our package adds.
What Odoo covers Compare Declarations Payroll Fixed assets CBAM Questions
21
ANAF declarations generated from Odoo
12
stable
9
in beta
161
modules in the suite
Counted from the module manifests, 15 October 2026.
Standard editions
What Odoo already covers
The standard editions, as they come from Odoo.
Odoo Community
The Romanian chart of accounts, taxes and fiscal positions, e-Factura and e-Transport.
Odoo Enterprise
Adds the SAF-T D406 file, the D300 VAT return, Intrastat, Romanian reports and payroll.
What is missing
The other ANAF declarations, such as D394, D390, D101 and D112, are not part of either edition. This is where our package starts.
Compare
From an accounting program to an ERP
An accounting program keeps the books. Odoo keeps the whole company in one database, and the books follow from it.
| Area | Accounting-only program | Odoo standard | Odoo + Terrabit localization |
|---|---|---|---|
| Sales, stock, manufacturing, online shop | In other applications, or in basic stock modules | In the same database as the accounts | In the same database as the accounts |
| Accounting entries | Entered or imported by the accountant | Created by the invoices, payments and stock moves | Created by the operations, on the Romanian rules |
| Cost of goods sold | Entered from the delivery notes | Posted with the customer invoice | Posted at delivery, from account rules, in beta |
| e-Factura and e-Transport | Usually included | Included | Included, with rules per buyer, protection against duplicates and consumer invoices |
| SAF-T D406 and D300 | Usually included | In Odoo Enterprise | In Odoo Enterprise, extended |
| Other ANAF declarations | Usually included | Not included | Generated from Odoo, see the list below |
| Filing the declarations in SPV | Depends on the program | Outside Odoo | The filed file, the ANAF request and the receipt are kept in Odoo |
| Payroll | Often a separate module or program | Odoo Enterprise payroll, without D112 | Payslips, D112, entries and bank payment, in beta |
| Users and companies | Depends on the edition | Many users and companies in one database | Many users and companies in one database |
Tested, not just written
Every functional module in the package ships with automated tests. They run every night on each supported Odoo version, and on Odoo 19 they cover over 80% of the code.
Code coverage measured by Codecov, October 2026.
Two ways to start
Keep your accountant's program
Sales, stock and invoicing run in Odoo, and the accountant receives an export for the program they already use, such as SAGA or WinMentor.
Keep the accounts in Odoo
The localization package adds the declarations, payroll and fixed assets, generated from the same data as the operations.
The whole suite
161 modules in 13 areas
The declarations below are only one area. The suite covers the whole Romanian accounting, from VAT and stock to payroll and internal control.
ANAF declarations
D300, D394, D390, D112 and 17 more declarations, SAF-T D406 checks, filing and SPV messages.
VAT
VAT journals, VAT on payment, reverse charge (art. 331), VAT group, pro-rata and refund requests.
e-Factura, e-Transport and SPV
Protection against duplicates, B2C invoices with CNP, product matching on import, e-Transport UIT and e-seals.
General accounting and closing
Correspondent account, journal register, currency revaluation, provisions, period closing and the notes to the financial statements.
Stock and warehouses
Stock sheet (14-3-8), accounting stock locations, monthly average cost and K coefficient, inventory register and inventory items.
Treasury and partners
Cash and bank registers, cheques and promissory notes, balance confirmations and customer-supplier offsetting.
Direct taxes and capital
Profit tax and micro-enterprise tax, dividends, fixed assets, grants and leasing.
Special taxes and environment
Excise duty, packaging (AFM), the SGR deposit system and CBAM.
Payroll
Payslips, allowances and advances, garnishments, bank payment files, certificates and payroll statements.
Attendance, HR and travel
Monthly attendance, REGES, employment documents and travel orders with per diem.
POS and cash registers
Fiscal receipts and the Z report, and returns from the point of sale.
Audit and internal control
Immutable audit trail, AML register, beneficial owners, sanctions screening and segregation of duties.
Packages and setup
Setup of the whole suite from one page, and stock packages for average cost or FIFO.
Not every module is published in Odoo Apps. For the others, ask us.
Declarations
ANAF declarations
Odoo generates the declaration file. Validation, signing and filing through SPV, and the accountant's review, stay with the taxpayer. Each declaration is a module of its own, and its state is shown on the card.
VAT
D300
VAT return, from the journals of the period
D394
Deliveries, services and acquisitions on the national territory
D390
Recapitulative statement on intra-community transactions
D398
Special VAT return for the One Stop Shop (OSS)
D301
Special VAT return
D307
Amounts resulting from VAT adjustment
D311
VAT collected, cancelled VAT code
D318
Refund request for VAT from other EU states
D094
Turnover of quarterly VAT payers
D392
Annual informative statement 392A/392B, below the threshold
Taxes and contributions
D101
Annual profit tax
D112
Social contributions, income tax, nominal record of insured persons
D100
Payment obligations to the state budget
D205
Tax withheld at source, annual informative statement
D207
Tax withheld at source on non-residents' income
D107
Sponsorships and private scholarships
D177
Redirecting profit or micro-enterprise tax
D700
Categories of obligations in the fiscal vector
D710
Rectification of payment obligations
Excise
D103
Monthly excise return
D120
Annual excise return
e-Factura and SAF-T, extended
Rules for the e-Factura XML per buyer, protection against duplicate invoices, consumer invoices and product matching on import. For SAF-T D406: checks before export and import of the pre-filled e-VAT return.
Payroll
Romanian payroll in one install
Payslip, accounting entry, payroll statement and D112, from the same data. This package is in beta.
Payslips and allowances
Allowances, advances, garnishments and certificates, with the legal parameters kept by date.
Accounting and payment
The accounting entry of the payroll, the payroll statement and bank payment files for the main banks.
Attendance and special cases
Monthly attendance, day labourers and copyright contracts, all feeding the payslip.
D112 from the payslips
The nominal record is taken straight from the payslips, so declaration and payroll cannot disagree.
Assets
Fixed assets and inventory
Stable modules, built on the Romanian rules.
Fixed assets
Inventory number and the fields SAF-T requires, in-service date, accounting and fiscal depreciation, revaluation, accounting entries and the disposal record.
Inventory register
The inventory register, drawn up from the inventory count, and the inventory items, including those given to employees.
Stock accounting
Stock entries when the goods move, not when the invoice is posted
The accounts come from one table of rules, by transaction, product class and warehouse, instead of the accounts set on every product category.
Cost of goods sold at delivery
The cost is posted when the goods leave the warehouse, for example Dr 607 / Cr 371, or Dr 711 / Cr 345 for finished products. The customer invoice carries only the revenue and the VAT.
One rule, five criteria
The transaction, the valuation class of the product, the warehouse, an optional account modifier and the company select the stock account and its counter-account. The same table covers receipts, deliveries, returns, inventory counts, production, drop shipments and landed costs.
Returns in red
With storno accounting turned on, a return linked to the original transfer is posted in red, on the accounts of the original entry.
Accounts and journal per warehouse
Each valuation area, a warehouse or a location, can have its own stock accounts and its own stock journal.
Consumption and items given into use
With the Romanian localization, the expense account follows the class of the product (602, 607 or 603), not a fixed account on the consumption location.
Period-end accruals, price and exchange differences and consignment stay with the accountant.
CBAM
CBAM in Odoo, from the import bill to the declaration
For importers of iron and steel, aluminium, cement, fertilisers, hydrogen and electricity from outside the EU. Since 1 January 2026 the definitive regime applies: an annual declaration and CBAM certificates.
The module is built on the ESG app of Odoo Enterprise, so the CBAM emissions also show in the ESG carbon report, in Scope 3.
CBAM profile on the product
The CN code from Intrastat sets the CBAM category. The emission factor comes from the EU default values, or from the verified value of the installation, with the country of origin and the carbon price paid there.
Captured from the vendor bill
When a bill from a supplier outside the EU is posted, the CBAM lines are created with the quantity in tonnes and the embedded emissions. Credit notes offset them.
Quarterly or annual declaration
The lines of the period are added up: embedded emissions, the deduction for the carbon price paid in the country of origin and, in the definitive regime, the certificates you need.
XML for the CBAM Registry and a PDF statement
The declaration is exported as an XML file for the CBAM Registry and printed as a PDF CBAM statement for review.
Frequently asked questions
Does the package work on Odoo Community?
No. The localization package is built for Odoo Enterprise: the declarations and the reports use the accounting reports of the Enterprise edition.
Does Odoo handle e-Factura?
Yes, e-Factura and e-Transport are part of Odoo Community. Our modules add rules per buyer, protection against duplicates and consumer invoices.
Can our accountant keep using their current program?
Yes. Odoo can run sales, stock and invoicing and export the accounting data for SAGA or WinMentor. When you are ready, the accounts can move into Odoo with the localization package.
Which declarations does standard Odoo not generate?
D394, D390, D398, D101, D100, D205 and D112, among others. Our package produces the declaration files for them.
Is the package finished?
Of the 21 declarations, 12 are stable modules and 9 are in beta (D094, D177, D301, D307, D311, D318, D392, D700 and D710). The fixed assets are stable, the payroll package is in beta, and the whole localization is still under development.
Let's look at your obligations together
Tell us what your company files today, and we will tell you what Odoo can generate.