OdooWiki OCA HUB

Romania - VAT on Payment

l10n_ro_vat_on_payment folder_open OCA/l10n-romania open_in_new
Localization License: AGPL-3

Acest modul implementează suportul pentru TVA la Încasare (regim special de TVA conform legislației române), permițând verificarea automată a partenerilor înregistrați în sistemul ANAF ca plătitori de TVA la Încasare.

Funcționalități principale:

  • Verificare ANAF: Descarcă și procesează fișierul de istoric ANAF (istoric.txt) cu toți contribuabilii înregistrați în regimul TVA la Încasare, stocând istoricul perioadelor de aplicare.
  • Câmp TVA la Încasare pe partener: Adaugă câmpul Romania - VAT on Payment pe fișa contabilă a partenerului, indicând dacă partenerul aplică în prezent regimul TVA la Încasare.
  • Verificare automată: La crearea sau modificarea unui partener român (cu TVA românesc), statusul TVA la Încasare este verificat și actualizat automat din datele ANAF.
  • Setare automată poziție fiscală pe facturi: La selectarea partenerului pe o factură, modulul verifică dacă firma proprie sau furnizorul aplică TVA la Încasare și setează automat poziția fiscală „Regim TVA la Încasare" (l10n_ro_property_vat_on_payment_position_id).
  • Joburi cron zilnice: Două joburi automate — unul pentru descărcarea datelor ANAF, altul pentru actualizarea statusului TVA la Încasare al partenerilor români — asigură că informațiile sunt mereu la zi.
  • Istoric ANAF: Pe fișa partenerului este disponibil istoricul complet al perioadelor în care acesta a fost înregistrat în regimul TVA la Încasare.

---

De ce este nevoie de acest modul față de comportamentul standard Odoo?

Odoo standard poate seta o poziție fiscală pe o factură pe baza regulilor de mapare configurate manual (țară, grup de taxe etc.) sau dacă pe partener este setată explicit o poziție fiscală. Însă Odoo standard nu știe dacă un furnizor este înregistrat în regimul TVA la Încasare — nu există nicio integrare cu ANAF și nicio verificare automată.

Fără acest modul, ar fi necesară verificarea manuală a fiecărui furnizor pe site-ul ANAF și setarea manuală a poziției fiscale pe fiecare partener — un proces imposibil de menținut în practică pentru un număr mare de furnizori.

Modulul aduce trei avantaje esențiale față de configurarea manuală:

  • Sursa oficială de adevăr — datele ANAF: Statusul TVA la Încasare provine direct din fișierul oficial ANAF (istoric.txt), nu dintr-o configurare manuală care poate fi uitată sau greșită. Toți contribuabilii înregistrați în regim sunt acoperiți automat.
  • Verificare temporală bazată pe data facturii: Modulul verifică dacă furnizorul era în regim TVA la Încasare la data facturii, nu doar în prezent. Aceasta este o cerință legală importantă: un furnizor poate fi intrat sau ieșit din regim între timp, iar factura trebuie tratată conform statusului din ziua emiterii.
  • Verificare pe firma proprie (emitent): Pe lângă verificarea furnizorului, modulul verifică și dacă firma ta aplică TVA la Încasare. Dacă da, toate facturile de vânzare emise de firma ta trebuie să folosească automat poziția fiscală corespunzătoare — indiferent de clientul selectat.

auto_awesome What this module does

AI-generated from the code · Odoo 20.0

Adds a Romanian 'VAT on Payment' status to partners, checked automatically against ANAF data, and applies the VAT-on-payment fiscal position on invoices so tax is collected only when the invoice is paid.

This module handles the Romanian special VAT scheme where VAT is collected when the invoice is paid, not when it is issued.

On a partner's form (for Romanian companies with a VAT number) you get a 'Romania - VAT on Payment' checkbox, the date it was last checked, and an 'Update VAT on Payment' button. A new tab shows the ANAF history of registrations, removals and suspensions for that VAT number.

  • When a Romanian partner is created or its VAT number is changed, the status is checked automatically.
  • Two daily scheduled jobs download the ANAF register file and refresh the status of Romanian companies, in batches.
  • On invoices, the fiscal position configured on the company for VAT on payment is set automatically when the company (or, for supplier bills, the supplier) is registered in the scheme. For supplier bills, taxes are remapped through that fiscal position when you change the taxes.
  • For Romanian companies, taxes with 'on payment' exigibility post to their cash-basis transition account.

A filter 'VAT on Payment' is added to the partner search, and the status is visible in the partner list. The module touches res.partner, account.move, account.move.line, account.tax.repartition.line and a new ANAF history model.

Depends on

Models and fields (5)
  • res.partner · extends an existing modell10n_ro_anaf_history (Romania - ANAF History), l10n_ro_vat_on_payment (Romania - VAT on Payment), l10n_ro_vat_payment_check_date (Romania - VAT on Payment Check Date)
  • account.move · new model
  • account.move.line · new model
  • l10n.ro.res.partner.anaf · new modelvat, anaf_id, end_date, start_date, publish_date, operation_date, operation_type
  • account.tax.repartition.line · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 20.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 20.0

Confirmed on 2026-11-03 in branch 20.0 of OCA/l10n-romania.

terminal Installation and usage

OCA documentation · Odoo 20.0

To install this module, you need to:

  • clone the repository
  • add the path to this repository in your configuration (addons-path)
  • update the module list
  • search for "Romania - VAT on Payment" in your addons
  • install the module

On the partner accounting page you will have a new field called "VAT on Payment" and a new button, called "Update VAT on Payment", available only on companies (is_company field set to True). Pushing the button will search in the ANAF datas for records assigned to the partner's VAT number and linked them to it.

For invoices, you will need to create manually the VAT on payment taxes, a new fiscal position called "Regim TVA la Incasare" and map the normal taxes with the VAT on Payment one's.

On invoices partner select it will check for Vat on payment on company / supplier and change the fiscal position with the "Regim TVA la Incasare" one.

Two daily cron jobs are set up, one for downloading the ANAF datas, one for checking the Romanian partners for VAT on Payment.

No verified information in OCA: Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.