Spain - Veri*Factu

l10n_es_edi_verifactu
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/l10n_es_edi_verifactu
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations/EDI
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo S.A.
MAINTAINERS
MAINTAINERSOdoo S.A.
COMMITTERS
COMMITTERSOdoo Translation Bot, Miquel Raïch, John Laterre (jol), Dylan Kiss (dyki), Aurelien MARIE (auma), Sven Fuehr, Mathieu Coutant, Ajit Singh, krip-odoo, Hadi El Yakhni, bhra-odoo, Quentin Colla (qucol)
WEBSITE
WEBSITEhttps://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/spain.html#veri-factu
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:44
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - account_edi_ubl_cii
    - certificate
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
certificate_certificate_view_form certificate_certificate_view_form.inherit.l10n_es_edi_verifactu certificate.certificate field Inherits certificate.certificate_certificate_view_form
certificate_certificate_view_search certificate_certificate_view_search.inherit.l10n_es_edi_verifactu certificate.certificate filter 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 xpath Inherits account.res_config_settings_view_form
view_account_invoice_filter account.invoice.select account.move xpath Inherits account.view_account_invoice_filter
view_account_move_filter account.move.select account.move xpath 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 xpath Inherits account.view_account_move_reversal
view_company_form res.company.form.inherit.account res.company xpath Inherits base.view_company_form
view_invoice_tree account.invoice.tree account.move field 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 xpath Inherits account.view_move_form
view_move_tree account.move.tree account.move field Inherits account.view_move_tree
view_tax_form_inherit_l10n_es_edi_verifactu account.tax.form.inherit.l10n_es_edi_verifactu account.tax field Inherits account.view_tax_form
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.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/l10n_es_edi_verifactu
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations/EDI
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Dylan Kiss (dyki), Don Kendall, Aurelien MARIE (auma), Sven Fuehr, Mathieu Coutant, krip-odoo, Hadi El Yakhni, bhra-odoo, Quentin (qucol)
WEBSITE
WEBSITEhttps://www.odoo.com/documentation/18.0/applications/finance/fiscal_localizations/spain.html#veri-factu
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:25:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - certificate
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
certificate_certificate_view_form certificate_certificate_view_form.inherit.l10n_es_edi_verifactu certificate.certificate field Inherits certificate.certificate_certificate_view_form
certificate_certificate_view_search certificate_certificate_view_search.inherit.l10n_es_edi_verifactu certificate.certificate filter 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 xpath Inherits account.res_config_settings_view_form
view_account_invoice_filter account.invoice.select account.move xpath Inherits account.view_account_invoice_filter
view_account_move_filter account.move.select account.move xpath 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 xpath Inherits account.view_account_move_reversal
view_company_form res.company.form.inherit.account res.company xpath Inherits base.view_company_form
view_invoice_tree account.invoice.tree account.move field 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 xpath Inherits account.view_move_form
view_move_tree account.move.tree account.move field Inherits account.view_move_tree
view_tax_form_inherit_l10n_es_edi_verifactu account.tax.form.inherit.l10n_es_edi_verifactu account.tax field Inherits account.view_tax_form
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.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/l10n_es_edi_verifactu
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations/EDI
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Dylan Kiss (dyki), Aurelien MARIE (auma), Sven Fuehr, Mathieu Coutant, Léo Gizard, krip-odoo, Quentin (qucol)
WEBSITE
WEBSITEhttps://www.odoo.com/documentation/17.0/applications/finance/fiscal_localizations/spain.html#veri-factu
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
account_move_send_inherit_l10n_es_edi_verifactu account.move.send.form.inherit.l10n_es_edi_verifactu account.move.send xpath Inherits account.account_move_send_form
l10n_es_edi_verifactu_certificate_form l10n_es_edi_verifactu.certificate.form l10n_es_edi_verifactu.certificate form New
l10n_es_edi_verifactu_certificate_tree l10n_es_edi_verifactu.certificate.tree l10n_es_edi_verifactu.certificate tree New
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 xpath Inherits account.res_config_settings_view_form
view_account_invoice_filter account.invoice.select account.move xpath Inherits account.view_account_invoice_filter
view_account_move_filter account.move.select account.move xpath 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 xpath Inherits account.view_account_move_reversal
view_company_form res.company.form.inherit.account res.company xpath Inherits base.view_company_form
view_invoice_tree account.invoice.tree account.move field 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 xpath Inherits account.view_move_form
view_move_tree account.move.tree account.move field Inherits account.view_move_tree
view_tax_form_inherit_l10n_es_edi_verifactu account.tax.form.inherit.l10n_es_edi_verifactu account.tax field Inherits account.view_tax_form
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 (4)
  • l10n_es_edi_verifactu_send_checkbox Boolean
    compute='_compute_l10n_es_edi_verifactu_compute_checkbox' help='Create a Veri*Factu Document to register or update the record and send it to the AEAT.' readonly=False store=True string='Veri*Factu'
  • l10n_es_edi_verifactu_send_enable Boolean
    compute='_compute_l10n_es_edi_verifactu_compute_checkbox' store=True
  • l10n_es_edi_verifactu_send_readonly Boolean
    compute='_compute_l10n_es_edi_verifactu_compute_checkbox' store=True
  • l10n_es_edi_verifactu_warnings Char
    compute='_compute_l10n_es_edi_verifactu_warnings' store=True
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 (5)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True
  • content Binary
    help='PFX Certificate' required=True string='File'
  • date_end Datetime
    help='The date on which the certificate expires' readonly=True
  • date_start Datetime
    help='The date on which the certificate starts to be valid' readonly=True
  • password Char
    groups='base.group_system' help='Passphrase for the PFX certificate'
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

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 → l10n_es_edi_verifactu.certificate
    comodel_name='l10n_es_edi_verifactu.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.