| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-romania |
| GIT | |
| GIT | https://github.com/OCA/l10n-romania.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-romania/tree/19.0/l10n_ro_message_spv |
| VERSION | |
| VERSION | |
| CATEGORY | |
| CATEGORY | Localization |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Terrabit |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Terrabit |
| COMMITTERS | |
| COMMITTERS | GitHub, Weblate, OCA-git-bot, oca-ci, Dorin Hongu |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-romania |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-romania: - l10n_ro_config odoo/odoo: - l10n_ro_edi - account_edi_ubl_cii - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - http_routing - auth_signup - digest - resource - l10n_ro - base_vat - account_edi |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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.
### 1. 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.
### 2. 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.
### 3. 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:
1. **Fișierul XML:** Acesta este documentul „rege" din punct de vedere legal.
2. **Recipisa (Semnătura electronică):** Fișierul care confirmă că XML-ul a fost validat de sistemul ANAF. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_form_inherit_l10n_ro_edi |
res.config.settings.form.inherit.l10n.ro.edi | res.config.settings | xpath | Inherits l10n_ro_edi.res_config_settings_form_inherit_l10n_ro_edi |
view_l10n_ro_message_spv_form |
l10n.ro.message.spv.form | l10n.ro.message.spv | form | New |
view_l10n_ro_message_spv_search |
l10n.ro.message.spv.search | l10n.ro.message.spv | search | New |
view_l10n_ro_message_spv_tree |
l10n.ro.message.spv.list | l10n.ro.message.spv | list | New |
view_move_form |
account.move.form | account.move | xpath | Inherits account.view_move_form |
No new fields.
Public methods (0)No public methods.
l10n_ro_edi_download
Char
copy=False
help='ID used to download the ZIP file from ANAF.'
args: 'ID Download ANAF (RO)'
l10n_ro_edi_transaction
Char
copy=False
help='Technical field used to track the status of a submission.'
args: 'Transaction ID (RO)'
l10n_ro_message_spv_ids
One2many → l10n.ro.message.spv
help='E-invoice messages related to this invoice.'
string='Romania - E-invoice messages'
args: 'l10n.ro.message.spv', 'invoice_id'
action_post(self)
unlink(self)
l10n_ro_vendor_code
Char
copy=False
string='Vendor Code'
No public methods.
amount
Monetary
attachment_anaf_pdf_id
Many2one → ir.attachment
compute='_compute_derived_attachments'
string='ANAF PDF'
args: 'ir.attachment'
attachment_embedded_pdf_id
Many2one → ir.attachment
compute='_compute_derived_attachments'
string='Embedded PDF'
args: 'ir.attachment'
attachment_id
Many2one → ir.attachment
string='Attachment'
args: 'ir.attachment'
attachment_xml_id
Many2one → ir.attachment
compute='_compute_derived_attachments'
string='XML'
args: 'ir.attachment'
cif
Char
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Datetime
details
Char
download_attempts
Integer
default=0
error
Text
file_name
Char
invoice_amount
Monetary
invoice_date
Date
invoice_id
Many2one → account.move
string='Invoice'
args: 'account.move'
last_download_date
Date
message
Text
message_type
Selection
string='Type'
args: [('in_invoice', 'In Invoice'), ('out_invoice', 'Out Invoice'), ('out_receipt', 'Out Receipt'), ('in_receipt', 'In Receipt'), ('message', 'Message'), ('error', 'Error')]
name
Char
string='Message ID'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
ref
Char
string='Reference'
request_id
Char
string='Request ID'
state
Selection
default='draft'
args: [('draft', 'Draft'), ('downloaded', 'Downloaded'), ('invoice', 'Invoice'), ('error', 'Error'), ('done', 'Done')]
action_download_anaf_pdf(self)
action_download_attachment(self)
action_download_embedded_pdf(self)
action_download_xml(self)
check_anaf_error_xml(self, zip_content)
check_anaf_message_xml(self, zip_content)
create_invoice(self)
download_from_spv(self)
get_data_from_invoice(self)
get_invoice_from_move(self)
get_partner(self)
get_xml_fom_zip(self)
refresh(self)
show_invoice(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
l10n_ro_download_einvoices_days
Integer
default=60
string='Maximum number of days to download e-invoices.'
l10n_ro_refresh_message_days
Integer
default=60
string='Maximum number of days to refresh e-invoice messages.'
l10n_ro_download_message_spv(self)
l10n_ro_download_zip_message_spv(self, limit=5)
l10n_ro_download_einvoices_days
Integer
readonly=False
related='company_id.l10n_ro_download_einvoices_days'
l10n_ro_refresh_message_days
Integer
readonly=False
related='company_id.l10n_ro_refresh_message_days'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-romania |
| GIT | |
| GIT | https://github.com/OCA/l10n-romania.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-romania/tree/18.0/l10n_ro_message_spv |
| VERSION | |
| VERSION | 2.2.0 |
| CATEGORY | |
| CATEGORY | Localization |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Terrabit |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Terrabit |
| COMMITTERS | |
| COMMITTERS | GitHub, Weblate, OCA-git-bot, oca-ci, Dorin Hongu, Stana Natanaela, danila12, Sima Elisabeta, VoicuStefan2001 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-romania |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:08 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-romania: - l10n_ro_config odoo/odoo: - l10n_ro_edi - account_edi_ubl_cii - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - l10n_ro - base_vat - account_edi |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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.
- Sincronizarea datelor produselor: permite salvarea automată a codurilor de furnizor pentru produse la validarea facturilor primite. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_form_inherit_l10n_ro_edi |
res.config.settings.form.inherit.l10n.ro.edi | res.config.settings | xpath | Inherits l10n_ro_edi.res_config_settings_form_inherit_l10n_ro_edi |
view_l10n_ro_message_spv_form |
l10n.ro.message.spv.form | l10n.ro.message.spv | form | New |
view_l10n_ro_message_spv_search |
l10n.ro.message.spv.search | l10n.ro.message.spv | search | New |
view_l10n_ro_message_spv_tree |
l10n.ro.message.spv.list | l10n.ro.message.spv | list | New |
view_move_form |
account.move.form | account.move | xpath | Inherits account.view_move_form |
No new fields.
Public methods (0)No public methods.
l10n_ro_edi_download
Char
copy=False
help='ID used to download the ZIP file from ANAF.'
args: 'ID Download ANAF (RO)'
l10n_ro_edi_transaction
Char
copy=False
help='Technical field used to track the status of a submission.'
args: 'Transaction ID (RO)'
l10n_ro_message_spv_ids
One2many → l10n.ro.message.spv
help='E-invoice messages related to this invoice.'
string='Romania - E-invoice messages'
args: 'l10n.ro.message.spv', 'invoice_id'
action_post(self)
unlink(self)
l10n_ro_vendor_code
Char
copy=False
string='Vendor Code'
No public methods.
amount
Monetary
attachment_anaf_pdf_id
Many2one → ir.attachment
compute='_compute_derived_attachments'
string='ANAF PDF'
args: 'ir.attachment'
attachment_embedded_pdf_id
Many2one → ir.attachment
compute='_compute_derived_attachments'
string='Embedded PDF'
args: 'ir.attachment'
attachment_id
Many2one → ir.attachment
check_company=True
string='Attachment'
args: 'ir.attachment'
attachment_xml_id
Many2one → ir.attachment
compute='_compute_derived_attachments'
string='XML'
args: 'ir.attachment'
cif
Char
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Datetime
details
Char
download_attempts
Integer
default=0
error
Text
file_name
Char
invoice_amount
Monetary
invoice_date
Date
invoice_id
Many2one → account.move
check_company=True
string='Invoice'
args: 'account.move'
last_download_date
Date
message
Text
message_type
Selection
string='Type'
args: [('in_invoice', 'In Invoice'), ('out_invoice', 'Out Invoice'), ('out_receipt', 'Out Receipt'), ('in_receipt', 'In Receipt'), ('message', 'Message'), ('error', 'Error')]
name
Char
string='Message ID'
partner_id
Many2one → res.partner
check_company=True
string='Partner'
args: 'res.partner'
ref
Char
string='Reference'
request_id
Char
string='Request ID'
state
Selection
default='draft'
args: [('draft', 'Draft'), ('downloaded', 'Downloaded'), ('invoice', 'Invoice'), ('error', 'Error'), ('done', 'Done')]
action_download_anaf_pdf(self)
action_download_attachment(self)
action_download_embedded_pdf(self)
action_download_xml(self)
check_anaf_error_xml(self, zip_content)
check_anaf_message_xml(self, zip_content)
create_invoice(self)
download_from_spv(self)
get_data_from_invoice(self)
get_invoice_from_move(self)
get_partner(self)
get_xml_fom_zip(self)
process_xml(self, xml_tree)
refresh(self)
show_invoice(self)
No new fields.
Public methods (0)No public methods.
l10n_ro_download_einvoices_days
Integer
default=60
string='Maximum number of days to download e-invoices.'
l10n_ro_download_message_spv(self)
l10n_ro_download_zip_message_spv(self, limit=5)
l10n_ro_download_einvoices_days
Integer
readonly=False
related='company_id.l10n_ro_download_einvoices_days'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-romania |
| GIT | |
| GIT | https://github.com/OCA/l10n-romania.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-romania/tree/17.0/l10n_ro_message_spv |
| VERSION | |
| VERSION | 1.41.0 |
| CATEGORY | |
| CATEGORY | Localization |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Terrabit |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Terrabit |
| COMMITTERS | |
| COMMITTERS | GitHub, Weblate, OCA-git-bot, Mihai Fekete, oca-ci, Dorin Hongu, Stana Natanaela, Sima Elisabeta, VoicuStefan2001, Adrian |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-romania |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:02 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-romania: - l10n_ro_config odoo/odoo: - l10n_ro_edi - account_edi_ubl_cii - account - base_setup - base - web - onboarding - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - l10n_ro - base_vat - account_edi - l10n_ro_efactura |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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.
- Sincronizarea datelor produselor: permite salvarea automată a codurilor de furnizor pentru produse la validarea facturilor primite. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_form_inherit_l10n_ro_edi |
res.config.settings.form.inherit.l10n.ro.edi | res.config.settings | xpath | Inherits l10n_ro_efactura.res_config_settings_form_inherit_l10n_ro_edi |
view_l10n_ro_message_spv_form |
l10n.ro.message.spv.form | l10n.ro.message.spv | form | New |
view_l10n_ro_message_spv_search |
l10n.ro.message.spv.search | l10n.ro.message.spv | search | New |
view_l10n_ro_message_spv_tree |
l10n.ro.message.spv.tree | l10n.ro.message.spv | tree | New |
view_move_form |
account.move.form | account.move | xpath | Inherits account.view_move_form |
No new fields.
Public methods (0)No public methods.
l10n_ro_edi_download
Char
copy=False
help='ID used to download the ZIP file from ANAF.'
args: 'ID Download ANAF (RO)'
l10n_ro_edi_transaction
Char
copy=False
help='Technical field used to track the status of a submission.'
args: 'Transaction ID (RO)'
l10n_ro_message_spv_ids
One2many → l10n.ro.message.spv
help='E-invoice messages related to this invoice.'
string='Romania - E-invoice messages'
args: 'l10n.ro.message.spv', 'invoice_id'
action_post(self)
unlink(self)
l10n_ro_vendor_code
Char
copy=False
string='Vendor Code'
No public methods.
amount
Monetary
attachment_anaf_pdf_id
Many2one → ir.attachment
string='ANAF PDF'
args: 'ir.attachment'
attachment_embedded_pdf_id
Many2one → ir.attachment
string='Embedded PDF'
args: 'ir.attachment'
attachment_id
Many2one → ir.attachment
string='Attachment'
args: 'ir.attachment'
attachment_xml_id
Many2one → ir.attachment
string='XML'
args: 'ir.attachment'
cif
Char
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Datetime
details
Char
error
Text
file_name
Char
invoice_amount
Monetary
invoice_date
Date
invoice_id
Many2one → account.move
string='Invoice'
args: 'account.move'
message
Text
message_type
Selection
string='Type'
args: [('in_invoice', 'In Invoice'), ('out_invoice', 'Out Invoice'), ('out_receipt', 'Out Receipt'), ('in_receipt', 'In Receipt'), ('message', 'Message'), ('error', 'Error')]
name
Char
string='Message ID'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
ref
Char
string='Reference'
request_id
Char
string='Request ID'
state
Selection
default='draft'
args: [('draft', 'Draft'), ('downloaded', 'Downloaded'), ('invoice', 'Invoice'), ('error', 'Error'), ('done', 'Done')]
action_download_anaf_pdf(self)
action_download_attachment(self)
action_download_embedded_pdf(self)
action_download_xml(self)
check_anaf_error_xml(self, zip_content)
check_anaf_message_xml(self, zip_content)
create_invoice(self)
download_from_spv(self)
get_data_from_invoice(self)
get_embedded_pdf(self)
get_invoice_from_move(self)
get_partner(self)
get_xml_fom_zip(self)
process_xml(self, xml_tree, attachment_xml)
refresh(self)
render_anaf_pdf(self)
render_xml_anaf_pdf(self, no_validate=None)
show_invoice(self)
No new fields.
Public methods (0)No public methods.
l10n_ro_download_einvoices_days
Integer
default=60
string='Maximum number of days to download e-invoices.'
l10n_ro_download_message_spv(self)
l10n_ro_download_zip_message_spv(self, limit=5)
l10n_ro_download_einvoices_days
Integer
readonly=False
related='company_id.l10n_ro_download_einvoices_days'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-romania |
| GIT | |
| GIT | https://github.com/OCA/l10n-romania.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-romania/tree/16.0/l10n_ro_message_spv |
| VERSION | |
| VERSION | 1.18.0 |
| CATEGORY | |
| CATEGORY | Localization |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Terrabit |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Terrabit |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, Mihai Fekete, oca-ci, Dorin Hongu, Stana Natanaela, Sima Elisabeta, Flavia0320 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-romania |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:41 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-romania: - l10n_ro_account_anaf_sync - l10n_ro_config - l10n_ro_account_edi_ubl - l10n_ro_partner_create_by_vat odoo/odoo: - l10n_ro - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_vat - account_edi_ubl_cii - account_edi |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
PyJWT |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_ro_message_spv_form |
l10n.ro.message.spv.form | l10n.ro.message.spv | form | New |
view_l10n_ro_message_spv_search |
l10n.ro.message.spv.search | l10n.ro.message.spv | search | New |
view_l10n_ro_message_spv_tree |
l10n.ro.message.spv.tree | l10n.ro.message.spv | tree | New |
view_move_form |
account.move.form | account.move | xpath | Inherits account.view_move_form |
l10n_ro_message_spv_ids
One2many → l10n.ro.message.spv
help='E-invoice messages related to this invoice.'
string='Romania - E-invoice messages'
args: 'l10n.ro.message.spv', 'invoice_id'
unlink(self)
amount
Monetary
attachment_anaf_pdf_id
Many2one → ir.attachment
string='ANAF PDF'
args: 'ir.attachment'
attachment_embedded_pdf_id
Many2one → ir.attachment
string='Embedded PDF'
args: 'ir.attachment'
attachment_id
Many2one → ir.attachment
string='Attachment'
args: 'ir.attachment'
attachment_xml_id
Many2one → ir.attachment
string='XML'
args: 'ir.attachment'
cif
Char
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Datetime
details
Char
error
Text
file_name
Char
invoice_amount
Monetary
invoice_date
Date
invoice_id
Many2one → account.move
string='Invoice'
args: 'account.move'
message
Text
message_type
Selection
string='Type'
args: [('in_invoice', 'In Invoice'), ('out_invoice', 'Out Invoice'), ('out_receipt', 'Out Receipt'), ('in_receipt', 'In Receipt'), ('message', 'Message'), ('error', 'Error')]
name
Char
string='Message ID'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
ref
Char
string='Reference'
request_id
Char
string='Request ID'
state
Selection
default='draft'
args: [('draft', 'Draft'), ('downloaded', 'Downloaded'), ('invoice', 'Invoice'), ('error', 'Error'), ('done', 'Done')]
action_download_anaf_pdf(self)
action_download_attachment(self)
action_download_embedded_pdf(self)
action_download_xml(self)
check_anaf_error_xml(self, zip_content)
check_anaf_message_xml(self, zip_content)
create_invoice(self)
download_from_spv(self)
get_data_from_invoice(self)
get_embedded_pdf(self)
get_invoice_from_move(self)
get_partner(self)
get_xml_fom_zip(self)
refresh(self)
render_anaf_pdf(self)
render_xml_anaf_pdf(self, no_validate=None)
show_invoice(self)
No new fields.
Public methods (1)l10n_ro_download_message_spv(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-romania |
| GIT | |
| GIT | https://github.com/OCA/l10n-romania.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-romania/tree/15.0/l10n_ro_message_spv |
| VERSION | |
| VERSION | 1.12.0 |
| CATEGORY | |
| CATEGORY | Localization |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Terrabit |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Terrabit |
| COMMITTERS | |
| COMMITTERS | GitHub, Weblate, OCA-git-bot, oca-ci, Dorin Hongu, Stana Natanaela, danila12 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-romania |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:30 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-romania: - l10n_ro_account_anaf_sync - l10n_ro_config - l10n_ro_account_edi_ubl - l10n_ro_partner_create_by_vat odoo/odoo: - l10n_ro - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_vat - account_edi_ubl_cii - account_edi |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
PyJWT |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_ro_message_spv_form |
l10n.ro.message.spv.form | l10n.ro.message.spv | form | New |
view_l10n_ro_message_spv_search |
l10n.ro.message.spv.search | l10n.ro.message.spv | search | New |
view_l10n_ro_message_spv_tree |
l10n.ro.message.spv.tree | l10n.ro.message.spv | tree | New |
view_move_form |
account.move.form | account.move | xpath | Inherits account.view_move_form |
l10n_ro_message_spv_ids
One2many → l10n.ro.message.spv
help='E-invoice messages related to this invoice.'
string='Romania - E-invoice messages'
args: 'l10n.ro.message.spv', 'invoice_id'
unlink(self)
amount
Monetary
attachment_anaf_pdf_id
Many2one → ir.attachment
string='ANAF PDF'
args: 'ir.attachment'
attachment_embedded_pdf_id
Many2one → ir.attachment
string='Embedded PDF'
args: 'ir.attachment'
attachment_id
Many2one → ir.attachment
string='Attachment'
args: 'ir.attachment'
attachment_xml_id
Many2one → ir.attachment
string='XML'
args: 'ir.attachment'
cif
Char
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Datetime
details
Char
error
Text
file_name
Char
invoice_amount
Monetary
invoice_id
Many2one → account.move
string='Invoice'
args: 'account.move'
message
Text
message_type
Selection
string='Type'
args: [('in_invoice', 'In Invoice'), ('out_invoice', 'Out Invoice'), ('message', 'Message'), ('error', 'Error')]
name
Char
string='Message ID'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
ref
Char
string='Reference'
request_id
Char
string='Request ID'
state
Selection
default='draft'
args: [('draft', 'Draft'), ('downloaded', 'Downloaded'), ('invoice', 'Invoice'), ('error', 'Error'), ('done', 'Done')]
action_download_anaf_pdf(self)
action_download_attachment(self)
action_download_embedded_pdf(self)
action_download_xml(self)
check_anaf_error_xml(self, zip_content)
check_anaf_message_xml(self, zip_content)
create_invoice(self)
download_from_spv(self)
get_data_from_invoice(self)
get_embedded_pdf(self)
get_invoice_from_move(self)
get_partner(self)
get_xml_fom_zip(self)
render_anaf_pdf(self)
No new fields.
Public methods (1)l10n_ro_download_message_spv(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-romania |
| GIT | |
| GIT | https://github.com/OCA/l10n-romania.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-romania/tree/14.0/l10n_ro_message_spv |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Localization |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Terrabit, NextERP Romania |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Terrabit, NextERP Romania |
| COMMITTERS | |
| COMMITTERS | GitHub, Weblate, OCA-git-bot, oca-ci, Dorin Hongu, Stana Natanaela |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-romania |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:51 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-romania: - l10n_ro_account_anaf_sync - l10n_ro_config - l10n_ro_account_edi_ubl odoo/odoo: - l10n_ro - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_vat - account_edi_ubl_cii - account_edi - account_edi_extended |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
PyJWT |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
assets_backend | ir.ui.view | qweb | Inherits web.assets_backend |
view_l10n_ro_message_spv_form |
l10n.ro.message.spv.form | l10n.ro.message.spv | form | New |
view_l10n_ro_message_spv_search |
l10n.ro.message.spv.search | l10n.ro.message.spv | search | New |
view_l10n_ro_message_spv_tree |
l10n.ro.message.spv.tree | l10n.ro.message.spv | tree | New |
amount
Monetary
attachment_anaf_pdf_id
Many2one → ir.attachment
string='ANAF PDF'
args: 'ir.attachment'
attachment_embedded_pdf_id
Many2one → ir.attachment
string='Embedded PDF'
args: 'ir.attachment'
attachment_id
Many2one → ir.attachment
string='Attachment'
args: 'ir.attachment'
attachment_xml_id
Many2one → ir.attachment
string='XML'
args: 'ir.attachment'
cif
Char
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
currency_id
Many2one → res.currency
default=<expr>
args: 'res.currency'
date
Datetime
details
Char
error
Text
file_name
Char
invoice_id
Many2one → account.move
string='Invoice'
args: 'account.move'
message
Text
message_type
Selection
string='Type'
args: [('in_invoice', 'In Invoice'), ('out_invoice', 'Out Invoice'), ('message', 'Message'), ('error', 'Error')]
name
Char
string='Message ID'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
ref
Char
string='Reference'
request_id
Char
string='Request ID'
state
Selection
default='draft'
args: [('draft', 'Draft'), ('downloaded', 'Downloaded'), ('invoice', 'Invoice'), ('error', 'Error'), ('done', 'Done')]
action_download_anaf_pdf(self)
action_download_attachment(self)
action_download_embedded_pdf(self)
action_download_xml(self)
check_anaf_error_xml(self, zip_content)
check_anaf_message_xml(self, zip_content)
create_invoice(self)
download_from_spv(self)
get_embedded_pdf(self)
get_invoice_from_move(self)
get_xml_fom_zip(self)
render_anaf_pdf(self)
No new fields.
Public methods (1)l10n_ro_download_message_spv(self)