Repository
OCA/l10n-romania · module folder · Try on Runboat
Module version
0.9.0
Category
Localization
Folder size
0.11 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/l10n-romania
Last tracking update
2026-08-07 09:06:35
Authors
Odoo Community Association (OCA), Forest and Biomass Romania, NextERP Romania
Maintainers
Odoo Community Association (OCA), Forest and Biomass Romania, NextERP Romania
Committers
Mihai Fekete, Dorin Hongu, Weblate, OCA-git-bot, oca-ci, Sima Elisabeta
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
l10n_ro_fiscal_validation
Description
This module allows you to create the partners (companies) based on their
VAT number. It will complete the name, address of the partner from ANAF
webservice.

ANAF <https://webservicesp.anaf.ro/PlatitorTvaRest/api/v8/ws/tva>




---

## 1. CUI (Codul Unic de Înregistrare)
**CUI-ul** este "CNP-ul" unei firme. Este numărul atribuit de Registrul Comerțului (sau de Ministerul Finanțelor, după caz) în momentul în care o entitate juridică este înființată.

* **Format:** Este alcătuit dintr-un șir de cifre (între 2 și 10 cifre).
* **Cine îl are:** Toate entitățile juridice (SRL, PFA, ONG, etc.).
* **Rol:** Identifică în mod unic firma în fața autorităților și a partenerilor de afaceri.

## 2. CIF (Codul de Identificare Fiscală)
**CIF-ul** este, în esență, denumirea generică pentru codul de identificare al unui plătitor de taxe.

* **Confuzia frecventă:** Pentru o firmă (SRL), **CUI și CIF sunt de cele mai multe ori același număr**. Termenul "CIF" este folosit mai des de ANAF, în timp ce "CUI" este folosit de Registrul Comerțului.
* **Cazuri speciale:** Alte entități care nu sunt firme (de exemplu, asociațiile de proprietari sau instituțiile publice) primesc un CIF pentru a putea plăti taxe și impozite.

## 3. VAT ID (Codul de TVA)
**VAT ID** (sau codul de înregistrare în scopuri de TVA) reprezintă CUI-ul/CIF-ul firmei tale, dar cu prefixul de țară (pentru România, acesta este **RO**) atașat în față.

* **Exemplu:** Dacă CUI-ul firmei tale este `12345678`, VAT ID-ul va fi `RO12345678`.
* **Importanță:** Nu toate firmele au un VAT ID automat. O firmă are un cod de TVA doar dacă:
    1. A depășit plafonul de scutire de TVA (300.000 lei cifră de afaceri).
    2. A ales să devină plătitoare de TVA prin opțiune.
    3. S-a înregistrat pentru operațiuni intracomunitare (achiziții/vânzări de servicii sau bunuri în UE).

---

### Rezumat comparativ

| Termen | Ce înseamnă | Exemplu |
| :--- | :--- | :--- |
| **CUI** | Identificatorul oficial al firmei. | `12345678` |
| **CIF** | Termenul fiscal pentru CUI. | `12345678` |
| **VAT ID** | CUI-ul cu prefixul de țară (doar pentru firmele plătitoare de TVA). | `RO12345678` |

> **Notă:** Dacă o firmă **nu** este plătitoare de TVA, pe facturile emise de ea va apărea doar numărul simplu (CUI), fără prefixul "RO".

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_partner_anaf_status_form res.partner.anaf.status.inherit res.partner form Inherits l10n_ro_config.view_partner_anaf_status_form
view_partner_create_by_vat_einvoice res.partner.create.by.vat.einvoice res.partner Inherits l10n_ro_config.view_partner_create_by_vat
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (6)
  • end_date Date
  • message Char
  • partner_id Many2one → res.partner
    ondelete='cascade' args: 'res.partner'
  • start_date Date
  • vat_number Char
    help='VAT Number without country code.' index=True
  • year_date Date
Public methods (1)
  • write(self, vals)

New fields (9)
  • act Char
    args: 'Act autorizare'
  • active_status Boolean
  • delete_date Date
  • end_date Date
  • partner_id Many2one → res.partner
    ondelete='cascade' args: 'res.partner'
  • publish_date Date
  • start_date Date
  • status Char
    args: 'Partner Status'
  • vat_number Char
    help='VAT Number without country code.' index=True
Public methods (1)
  • write(self, vals)

New fields (3)
  • l10n_ro_active_anaf_line_ids One2many → l10n.ro.res.partner.anaf.status
    copy=False help='will add entries only if differs as statusInactivi from previos or after entries' string='Romania - Partner Active Anaf Status' args: 'l10n.ro.res.partner.anaf.status', 'partner_id'
  • l10n_ro_old_name Char
    default='' help='To be completed manually with previous name of the company in case on change.If the field in completed, when fetching the datas from ANAF website,if the name received is the old name set, than the partner will not be updated.' string='Romania - Old Name'
  • l10n_ro_vat_subjected_anaf_line_ids One2many → l10n.ro.res.partner.anaf.scptva
    copy=False help='will add entries only if differs as scpTVA from previos or after entries' string='Romania - Anaf Company scpTVA Records' args: 'l10n.ro.res.partner.anaf.scptva', 'partner_id'
Public methods (3)
  • get_date_from_anaf(self, date_string)
  • get_result_address(self, result)
  • ro_vat_change(self)
    @api.onchange('vat', 'country_id')

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…