Localization base¶
The Romania - Localization Base (l10n_ro_base) module is the foundation of the
eYssen Romanian modules. It provides the data and the tools that the other modules share:
the Romanian Localization settings of the company;
the CNP (Cod Numeric Personal) of the individuals;
the calendar of the Romanian legal holidays and the working-day calculations;
the Romanian Localization User group, which shows the Romanian menus to the users who work on a Romanian company.
It is installed automatically with the other Romanian modules. Its features only apply to companies whose fiscal country is Romania; set the Fiscal Country of the company in the Taxes section of . The other companies of the database are not changed (see Romanian and Hungarian companies).
Company settings¶
In , the Romanian Localization section (displayed for Romanian companies) groups the following settings.
Setting |
Purpose |
|---|---|
VAT on Payment |
The company applies the VAT on collection system (TVA la încasare, article 282 of the Fiscal Code). The invoices carry the mention TVA la încasare (see VAT on collection (TVA la încasare)). Optionally fill in VAT on Payment From and VAT on Payment Until if the system applies only for a period; leave a date empty for no limit. |
Share Capital |
The subscribed and paid-up share capital (capital social), printed on the invoices. |
ANAF Partner Data |
Autocomplete Partners from ANAF (enabled by default) fills new contacts from their fiscal code. ANAF Refresh Interval (days) (7 by default) is the age after which the scheduled action refreshes the ANAF statuses of a contact; set it to 0 to disable the scheduled refresh. See Contacts and the ANAF register. |
Duplicate Partners |
The Duplicate CUI / Trade Register No. policy: No check, Warning only (default) or Block duplicates. See Duplicate contacts. |
CNP of individuals¶
On the form of a contact that is not a company, the CNP field is displayed next to the NRC, for the contacts of Romanian companies. The CNP (Cod Numeric Personal) of the buyer is printed on the invoices and identifies the buyer of the individual invoices sent to RO e-Factura.
Odoo validates the CNP when you save the contact, if the country of the contact is Romania or is
not set: it has 13 digits and does not start with 0; its birth date is valid and not in the
future; the county code (digits 8 and 9) is valid; the sequence number (digits 10 to 12) is not
000; and the control digit is correct. Spaces are removed when you type. A foreign contact is
not checked.
Important
The CNP is personal data. The field is only visible to the users with the invoicing or the Contact Creation access rights.
Contacts and the ANAF register¶
Odoo queries the public web service of ANAF for the taxpayers (PlatitorTvaRest, version 9). No credentials are needed; the requests are limited to one per second.
Autocomplete of new contacts¶
When you create a contact and type a valid Romanian fiscal code (CUI) as its name (or as its
Tax ID, while the name is still empty), with or without the RO prefix, Odoo fills the
contact with the official data: the
name, the trade register number (NRC), the address with the county, the phone number
(if there is none), and the Tax ID, which gets the RO prefix only if the company is a VAT payer.
The contact is created as a company in Romania. If the code is not found, a warning is displayed.
Disable the feature with Autocomplete Partners from ANAF in the settings.
ANAF statuses¶
The Romania - ANAF group of the Invoicing tab of the contact shows the statuses of the ANAF register:
Field |
Meaning |
|---|---|
VAT Payer (RO) |
Registered for VAT in Romania. |
VAT on Payment (RO) |
Registered in the register of the taxpayers who apply the VAT on collection system. |
RO e-Factura Register |
Registered in the RO e-Factura register. |
Inactive Taxpayer (RO) |
Declared inactive by ANAF. The VAT of the purchases from an inactive taxpayer is not deductible. |
Split VAT (RO) |
Applies the split VAT payment system (plata defalcată a TVA), displayed with E-Factura rules, deadlines and messages. |
Last ANAF Check |
Date of the last successful lookup. |
Click Update from ANAF (displayed when the contact has a Tax ID) to refresh the identity data (name, address, Tax ID, NRC) and the statuses of the contact; a notification tells you if the fiscal code was not found. The statuses are stored on the company of the contact and shared with its child contacts. The filters RO Inactive Taxpayers and RO VAT on Payment of the contact search find the contacts by status.
A scheduled action, Romania: refresh partner statuses from ANAF, runs every day for the Romanian companies. It refreshes the statuses only (the name and the address are not overwritten) of the contacts used on the invoices, credit notes and vendor bills of the last 90 days, whose last check is at least ANAF Refresh Interval (days) old. If ANAF does not answer, the action stops and tries again the next day.
Duplicate contacts¶
The Duplicate CUI / Trade Register No. setting controls what happens when you create a Romanian contact with a Tax ID or a trade register number that another contact already has:
No check: nothing happens;
Warning only (default): a banner on the contact form tells you that a contact with the same trade register number already exists;
Block duplicates: the contact cannot be saved, and an error message names the contact that already uses the fiscal code or the trade register number.
Only contacts without a parent, whose country is Romania (or empty), in a Romanian company, are checked, and they are compared with the contacts of the same company and with the shared contacts. The Hungarian and Spanish contacts are never blocked.
Legal holidays and working days¶
Deadlines such as the E-Factura submission deadline are counted in working days: the days that are neither a weekend day nor a legal holiday. The legal holidays follow article 139 of the Labor Code:
1 and 2 January;
6 and 7 January (since 2024);
24 January;
Orthodox Good Friday, Easter Sunday and Easter Monday;
1 May and 1 June;
Orthodox Pentecost (Rusalii) Sunday and Monday;
15 August;
30 November and 1 December;
25 and 26 December.
The moving holidays are calculated from the date of the Orthodox Easter. To add days off decided
by the Government, enable the developer mode and create the system
parameter l10n_ro_base.extra_holidays in . Its value is a list of dates in the YYYY-MM-DD format, separated by commas, for
example 2026-12-24,2026-12-28.