Acest modul facilitează gestionarea mesajelor din Spațiul Privat Virtual (SPV) ANAF, asigurând descărcarea și procesarea automată a facturilor electronice (e-Factura):
- Funcționalități:
- Descărcare automată mesaje SPV: sincronizare periodică (via cron) a listei de mesaje din SPV pentru facturi primite, trimise sau erori.
- Procesare fișiere ZIP: descărcarea automată a arhivelor ZIP de la ANAF și extragerea fișierelor XML semnate.
- Creare automată facturi de furnizor: generează schițe de factură (draft) direct din fișierele XML descărcate, mapând automat furnizorul pe baza codului fiscal (CIF).
- Gestionare PDF-uri e-Factura:
- Generare PDF ANAF: posibilitatea de a genera și descărca vizualizarea PDF oficială a XML-ului folosind serviciile ANAF.
- Extragere PDF încorporat: extrage PDF-urile atașate direct în fișierul XML (dacă există).
- Monitorizare stări: urmărirea stării fiecărui mesaj (Draft, Downloaded, Invoice, Error, Done) și a încercărilor de descărcare.
- Integrare cu fluxul de facturare: legarea automată a mesajelor de facturile existente în sistem pe baza ID-ului de tranzacție sau a referinței.
- Căutare produs după codul furnizorului: la importul UBL/CIUS-RO, produsul este identificat automat după codul furnizorului (SellersItemIdentification sau StandardItemIdentification) folosind product.supplierinfo, cu prioritate maximă față de celelalte criterii de căutare.
- Salvare cod furnizor pe linia de factură: codul furnizorului (l10n_ro_vendor_code) este salvat pe linia de factură la import, chiar dacă produsul nu a fost găsit, pentru a permite asocierea ulterioară la validarea facturii.
- Sincronizarea datelor produselor: permite salvarea automată a codurilor de furnizor pentru produse la validarea facturilor primite.
- Configurare număr de zile pentru descărcarea e-facturilor (l10n_ro_download_einvoices_days): numărul maxim de zile pentru care se descarcă mesajele din SPV (implicit 60 de zile).
- Configurare număr de zile pentru reîmprospătarea mesajelor (l10n_ro_refresh_message_days): numărul maxim de zile pentru care se reîmprospătează mesajele e-Factura (implicit 60 de zile).
---
Diferențe față de modulul standard l10n_ro_edi
Modulul l10n_ro_message_spv extinde modulul standard Odoo l10n_ro_edi (Romania - E-invoicing), adăugând funcționalități suplimentare pentru gestionarea avansată a mesajelor din SPV.
Ce face modulul standard l10n_ro_edi?
- Trimitere facturi de ieșire către SPV ANAF (e-Factura) cu urmărirea stării (Trimis / Validat / Refuzat).
- Sincronizare automată (via cron) a stărilor facturilor trimise și descărcarea răspunsurilor de la SPV.
- Descărcare facturi primite (received bills): creează automat o factură draft de furnizor din XML-ul primit, atașează XML-ul și PDF-ul generat de ANAF.
- Jurnal configurabil pentru facturile importate (l10n_ro_edi_anaf_imported_inv_journal_id).
- Deduplicare facturi primite pe baza sumei totale, CIF-ului furnizorului și datei.
Ce adaugă l10n_ro_message_spv în plus?
| Funcționalitate | l10n_ro_edi (standard) | l10n_ro_message_spv (acest modul) | |---|---|---| | Trimitere facturi ieșire | ✅ | ✅ (moștenit) | | Descărcare facturi primite | ✅ (simplu) | ✅ (extins) | | Interfață dedicată mesaje SPV | ❌ | ✅ cu stări: Draft, Downloaded, Invoice, Error, Done | | Monitorizare încercări descărcare | ❌ | ✅ | | Procesare fișiere ZIP ANAF | ❌ | ✅ | | Generare PDF oficial ANAF | ✅ | ✅ | | Extragere PDF încorporat în XML | ❌ | ✅ | | Căutare produs după cod furnizor | ❌ | ✅ via product.supplierinfo | | Salvare l10n_ro_vendor_code pe linie | ❌ | ✅ | | Sincronizare coduri furnizor la validare | ❌ | ✅ | | Configurare zile descărcare mesaje SPV | ❌ | ✅ (l10n_ro_download_einvoices_days) | | Configurare zile reîmprospătare mesaje | ❌ | ✅ (l10n_ro_refresh_message_days) |
> Notă: l10n_ro_message_spv depinde de l10n_ro_edi și îl extinde — nu îl înlocuiește. Ambele module trebuie instalate pentru funcționalitate completă.
---
De ce este importantă descărcarea periodică a mesajelor din SPV?
Descărcarea mesajelor și a facturilor din SPV nu este doar o recomandare de „bună practică", ci o necesitate critică din motive legale, fiscale și tehnice.
- Termenul de Arhivare în SPV (Limitarea Tehnică)
Sistemul ANAF nu este un spațiu de stocare permanentă.
- Ștergerea automată: Mesajele și documentele (inclusiv facturile din e-Factura) sunt păstrate în SPV pentru o perioadă limitată (de regulă 60 de zile).
- Consecință: Dacă nu le descarci în acest interval, ele dispar din interfață și recuperarea lor devine un proces birocratic anevoios sau chiar imposibil prin metodele standard.
- Valabilitatea Juridică și Fiscală
Conform legislației din România (Codul Fiscal), documentul original care stă la baza deducerii TVA și a cheltuielilor este fișierul XML însoțit de sigiliul electronic al Ministerului Finanțelor.
- Proba în caz de control: În fața inspectorilor ANAF, simpla vizualizare a facturii în portal nu este suficientă. Trebuie să poți prezenta fișierul descărcat care conține semnătura electronică ce atestă autenticitatea.
- Arhivarea obligatorie: Firmele sunt obligate prin lege să arhiveze documentele contabile pe termene lungi (de regulă 10 ani). Deoarece SPV le șterge după 60 de zile, sarcina arhivării îți revine exclusiv ție.
- Integrarea în Contabilitate
Majoritatea programelor de contabilitate au nevoie de fișierele XML descărcate pentru a automatiza procesele.
- Fără descărcare, datele trebuie introduse manual, ceea ce crește riscul de erori umane.
- Descărcarea permite corelarea rapidă între plățile efectuate și facturile primite.
Ce trebuie descărcat?
Nu este suficient să salvezi doar PDF-ul (care este doar o reprezentare vizuală). Trebuie să salvezi:
- Fișierul XML: Acesta este documentul „rege" din punct de vedere legal.
- Recipisa (Semnătura electronică): Fișierul care confirmă că XML-ul a fost validat de sistemul ANAF.
auto_awesome What this module does
AI-generated from the code · Odoo 20.0Lets Romanian companies fetch their ANAF SPV e-invoice messages automatically, download the ZIP/XML files, and turn received e-invoices into draft vendor bills in Odoo.
This module connects Odoo to the Romanian ANAF SPV (the e-Factura mailbox) and keeps a list of the messages found there.
- A new "SPV" menu under Accounting > Vendors opens the list of SPV messages, with their type (received/sent invoice, receipt, message, error), date, reference, amount, partner and status.
- Two scheduled jobs run in the background: one downloads the list of messages from ANAF, the other downloads the ZIP files. The number of days to look back is set per company in the settings (default 60 days).
- Each message can be downloaded, and the XML inside the ZIP is read to fill in the reference, invoice date, currency and amount. A "Refresh" button re-synchronises the messages.
- Received invoices can be turned into draft vendor bills: the supplier is matched by VAT number (creating a contact if none exists), and if a bill with the same reference and supplier already exists it is reused instead of duplicated.
- Buttons let users download the ZIP, the XML, the official ANAF PDF (generated through the ANAF service) or the PDF embedded in the XML.
- Vendor codes found in the XML are stored on invoice lines and, when a bill is posted, added to the product's supplier information so future imports recognise the product.
- Lines imported from SPV keep the supplier's description and unit price when the user changes the product.
- Error messages from ANAF are shown on the message and can mark the related bill as refused.
- Invoices show their related SPV messages, and the reset-to-draft button is made available on vendor bills.
Depends on
Menus it adds
Models and fields (6)
- res.company · extends an existing modell10n_ro_refresh_message_days (Maximum number of days to refresh e-invoice messages.), l10n_ro_download_einvoices_days (Maximum number of days to download e-invoices.)
- account.move · extends an existing modell10n_ro_edi_download (ID Download ANAF (RO)), l10n_ro_edi_transaction (Transaction ID (RO)), l10n_ro_message_spv_ids (Romania - E-invoice messages)
- product.product · extends an existing model
- account.move.line · extends an existing modell10n_ro_vendor_code (Vendor Code)
- l10n.ro.message.spv · new modelcif, ref (Reference), date, name (Message ID), error, state, amount, details, message, file_name, company_id, invoice_id, partner_id, request_id (Request ID), currency_id, invoice_date, message_type (Type), attachment_id, invoice_amount, attachment_xml_id (XML), download_attempts, last_download_date, attachment_anaf_pdf_id (ANAF PDF), attachment_embedded_pdf_id (Embedded PDF)
- res.config.settings · extends an existing modell10n_ro_refresh_message_days, l10n_ro_download_einvoices_days
Text generated by AI (DeepSeek) from reading the Odoo 20.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 7 confirmed, 2 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
No verified informationInstallation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.