Repository
odoo/odoo · module folder
Module version
1.0
Category
Accounting/Localizations/EDI
Folder size
0.32 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
https://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/spain.html#veri-factu
Last tracking update
2026-08-09 22:10:36
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Josse Colpaert, Odoo Translation Bot, Miquel Raïch, John Laterre (jol), Dylan Kiss (dyki), Vivek Pathak, Aurelien MARIE (auma), Sven Fuehr, Mathieu Coutant, Ajit Singh, krip-odoo, Hadi El Yakhni, bhra-odoo, cahu, Quentin Colla (qucol), cro, jlll
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
l10n_es_edi_verifactu_pos
Description

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
certificate_certificate_view_form certificate_certificate_view_form.inherit.l10n_es_edi_verifactu certificate.certificate form Inherits certificate.certificate_certificate_view_form
certificate_certificate_view_search certificate_certificate_view_search.inherit.l10n_es_edi_verifactu certificate.certificate search Inherits certificate.certificate_certificate_view_search
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
res_config_settings_view_form res.config.settings.view.form.inherit.l10n.es res.config.settings form Inherits account.res_config_settings_view_form
view_account_invoice_filter account.invoice.select account.move Inherits account.view_account_invoice_filter
view_account_move_filter account.move.select account.move Inherits account.view_account_move_filter
view_account_move_reversal_inherit_l10n_es_edi_verifactu account.move.reversal.form.inherit.l10n_es_edi_verifactu account.move.reversal form Inherits account.view_account_move_reversal
view_company_form res.company.form.inherit.account res.company form Inherits base.view_company_form
view_invoice_tree account.invoice.tree account.move tree Inherits account.view_invoice_tree
view_l10n_es_edi_verifactu_document_form l10n_es_edi_verifactu.document.form l10n_es_edi_verifactu.document form New
view_move_form_inherit_l10n_es_edi_verifactu account.move.form.inherit.l10n_es_edi_verifactu account.move form Inherits account.view_move_form
view_move_tree account.move.tree account.move tree Inherits account.view_move_tree
view_tax_form_inherit_l10n_es_edi_verifactu account.tax.form.inherit.l10n_es_edi_verifactu account.tax form Inherits account.view_tax_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (10)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (12)
  • l10n_es_edi_verifactu_available_clave_regimens Char
    compute='_compute_l10n_es_edi_verifactu_available_clave_regimens' help='Technical field to enable a dynamic selection of the field "Veri*Factu Regime Key"' string='Available Veri*Factu Regime Key'
  • l10n_es_edi_verifactu_clave_regimen Selection
    compute='_compute_l10n_es_edi_verifactu_clave_regimen' readonly=False selection='_l10n_es_edi_verifactu_clave_regimen_selection' store=True string='Veri*Factu Regime Key'
  • l10n_es_edi_verifactu_document_ids One2many → l10n_es_edi_verifactu.document
    comodel_name='l10n_es_edi_verifactu.document' inverse_name='move_id' string='Veri*Factu Documents'
  • l10n_es_edi_verifactu_qr_code Char
    compute='_compute_l10n_es_edi_verifactu_qr_code' string='Veri*Factu QR Code'
  • l10n_es_edi_verifactu_refund_reason Selection
    copy=False selection=[('R1', 'R1: Art 80.1 and 80.2 and error of law'), ('R2', 'R2: Art. 80.3'), ('R3', 'R3: Art. 80.4'), ('R4', 'R4: Rest'), ('R5', 'R5: Corrective invoices concerning simplified invoices')] string='Veri*Factu Refund Reason'
  • l10n_es_edi_verifactu_required Boolean
    related='company_id.l10n_es_edi_verifactu_required' string='Veri*Factu Required'
  • l10n_es_edi_verifactu_show_cancel_button Boolean
    compute='_compute_l10n_es_edi_verifactu_show_cancel_button' string='Show Veri*Factu Cancel Button'
  • l10n_es_edi_verifactu_state Selection
    compute='_compute_l10n_es_edi_verifactu_state' help='- Rejected: Successfully sent to the AEAT, but it was rejected during validation\n - Registered with Errors: Registered at the AEAT, but the AEAT has some issues with the sent document\n - Accepted: Registered by the AEAT without errors\n - Cancelled: Registered by the AEAT as cancelled' selection=[('rejected', 'Rejected'), ('registered_with_errors', 'Registered with Errors'), ('accepted', 'Accepted'), ('cancelled', 'Cancelled')] store=True string='Veri*Factu Status'
  • l10n_es_edi_verifactu_substituted_entry_id Many2one → account.move
    check_company=True comodel_name='account.move' copy=False index='btree_not_null' readonly=True string='Substitution of'
  • l10n_es_edi_verifactu_substitution_move_ids One2many → account.move
    comodel_name='account.move' inverse_name='l10n_es_edi_verifactu_substituted_entry_id' string='Substituted by'
  • l10n_es_edi_verifactu_warning Html
    compute='_compute_l10n_es_edi_verifactu_warning' string='Veri*Factu Warning'
  • l10n_es_edi_verifactu_warning_level Char
    compute='_compute_l10n_es_edi_verifactu_warning' string='Veri*Factu Warning Level'
Public methods (1)
  • l10n_es_edi_verifactu_button_cancel(self)

New fields (2)
  • l10n_es_edi_verifactu_refund_reason Selection
    compute='_compute_l10n_es_edi_verifactu_refund_reason' readonly=False selection=[('R1', 'R1: Art 80.1 and 80.2 and error of law'), ('R2', 'R2: Art. 80.3'), ('R3', 'R3: Art. 80.4'), ('R4', 'R4: Rest'), ('R5', 'R5: Corrective invoices concerning simplified invoices')] store=True string='Veri*Factu Refund Reason'
  • l10n_es_edi_verifactu_required Boolean
    compute='_compute_l10n_es_edi_verifactu_required' store=True string='Veri*Factu Required'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_es_applicability Selection
    selection=[('01', 'VAT'), ('02', 'IPSI'), ('03', 'IGIC')] string='Applicability (Spain)'
Public methods (0)

No public methods.

New fields (1)
  • scope Selection
    selection_add=[('verifactu', 'Veri*Factu')]
Public methods (0)

No public methods.

New fields (10)
  • chain_index Integer
    copy=False help='Index in the chain of Veri*Factu Documents. It is only set if the generation was succesful.' readonly=True string='Chain Index'
  • company_id Many2one → res.company
    comodel_name='res.company' readonly=True required=True string='Company'
  • document_type Selection
    readonly=True required=True selection=[('submission', 'Submission'), ('cancellation', 'Cancellation')] string='Document Type'
  • errors Html
    copy=False readonly=True string='Errors'
  • json_attachment_base64 Binary
    related='json_attachment_id.datas' string='JSON'
  • json_attachment_filename Char
    compute='_compute_json_attachment_filename' string='JSON Filename'
  • json_attachment_id Many2one → ir.attachment
    comodel_name='ir.attachment' copy=False readonly=True string='JSON Attachment'
  • move_id Many2one → account.move
    comodel_name='account.move' readonly=True string='Journal Entry'
  • response_csv Char
    copy=False help='The CSV of the response from the tax agency. There may not be one in case all documents of the batch were rejected.' readonly=True string='Response CSV'
  • state Selection
    copy=False help='- Rejected: Successfully sent to the AEAT, but it was rejected during validation\n - Registered with Errors: Registered at the AEAT, but the AEAT has some issues with the sent record\n - Accepted: Registered by the AEAT without errors' readonly=True selection=[('rejected', 'Rejected'), ('registered_with_errors', 'Registered with Errors'), ('accepted', 'Accepted')] string='Status'
Public methods (1)
  • trigger_next_batch(self)
    @api.model
    1. Send all waiting documents that we can send 2. Trigger the cron again at a later date to send the documents we could not send

New fields (6)
  • l10n_es_edi_verifactu_certificate_ids One2many → certificate.certificate
    comodel_name='certificate.certificate' inverse_name='company_id' string='Veri*Factu Certificates'
  • l10n_es_edi_verifactu_chain_sequence_id Many2one → ir.sequence
    comodel_name='ir.sequence' copy=False readonly=True string='Veri*Factu Document Chain Sequence'
  • l10n_es_edi_verifactu_next_batch_time Datetime
    copy=False help='The Datetime at which the next submission to the AEAT can be made.' readonly=True string='Veri*Factu Next Batch Time'
  • l10n_es_edi_verifactu_required Boolean
    copy=False string='Enable Veri*Factu'
  • l10n_es_edi_verifactu_special_vat_regime Selection
    help='Leave empty for the normal regimen.' selection=[('simplified', 'Simplified Regime'), ('reagyp', 'REAGYP (Special Regime for Agriculture, Livestock and Fisheries)'), ('recargo', 'Recargo de Equivalencia')] string='Veri*Factu VAT Regime'
  • l10n_es_edi_verifactu_test_environment Boolean
    copy=False default=True string='Veri*Factu Test Environment'
Public methods (0)

No public methods.

New fields (4)
  • l10n_es_edi_verifactu_certificate_ids One2many
    readonly=False related='company_id.l10n_es_edi_verifactu_certificate_ids'
  • l10n_es_edi_verifactu_required Boolean
    readonly=False related='company_id.l10n_es_edi_verifactu_required'
  • l10n_es_edi_verifactu_special_vat_regime Selection
    readonly=False related='company_id.l10n_es_edi_verifactu_special_vat_regime'
  • l10n_es_edi_verifactu_test_environment Boolean
    readonly=False related='company_id.l10n_es_edi_verifactu_test_environment'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

Loading…

Loading…