Repository
OCA/l10n-spain · module folder · Try on Runboat
Module version
1.4.0
Category
Accounting/Localizations/EDI
Folder size
0.52 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/l10n-spain
Last tracking update
2026-08-07 08:42:46
Authors
Odoo Community Association (OCA), Factor Libre, Tecnativa, ForgeFlow, Aures Tic
Maintainers
Odoo Community Association (OCA), Factor Libre, Tecnativa, ForgeFlow, Aures Tic
Committers
Pedro M. Baeza, LauraCForgeFlow, sygel, Weblate, Andrii Kompaniiets, Ricard Calvo, OCA-git-bot, oca-ci, Ivan Vilata-i-Balaguer
Odoo dependencies
OCA/account-financial-reporting:
OCA/account-invoicing:
OCA/l10n-spain:
OCA/server-ux:
odoo/odoo:
- web
- bus
- uom
Python dependencies
unidecode
System dependencies
None
Required by
None
Description
Módulo para la presentación inmediata de la facturación.

Code Analysis

Views touched (26)
XML IDNameModelTypeStatus
address_layout address_layout ir.ui.view qweb Inherits web.address_layout
invoice_verifactu_form account.invoice.verifactu.form account.move form Inherits l10n_es_aeat.view_move_form
invoice_verifactu_search account.invoice.verifactu.search account.move search Inherits account.view_account_invoice_filter
invoice_verifactu_tree account.invoice.list account.move list Inherits account.view_invoice_tree
l10n_es_verifactu_map_lines_view_tree verifactu.map.line list New
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
verifactu_cancel_invoice_wizard_form_view verifactu.cancel.invoice.wizard.form verifactu.cancel.invoice.wizard form New
verifactu_chaining_form_view verifactu.chaining.form verifactu.chaining form New
verifactu_chaining_tree_view verifactu.chaining.list verifactu.chaining list New
verifactu_developer_form_view verifactu.developer.form verifactu.developer form New
verifactu_developer_tree_view verifactu.developer.list verifactu.developer list New
verifactu_invoice_entry_response_view_form verifactu.invoice.entry.response.view.form verifactu.invoice.entry.response form New
verifactu_invoice_entry_response_view_kanban verifactu.invoice.entry.response.view.kanban verifactu.invoice.entry.response kanban New
verifactu_invoice_entry_response_view_search verifactu.invoice.entry.response.view.search verifactu.invoice.entry.response search New
verifactu_invoice_entry_response_view_tree verifactu.invoice.entry.response.view.list verifactu.invoice.entry.response list New
verifactu_map_view_form verifactu.map.view.form verifactu.map form New
verifactu_map_view_tree verifactu.map.view.list verifactu.map list New
verifactu_registration_keys_view_search verifactu.registration.key search New
verifactu_registration_keys_view_tree verifactu.registration.key list New
verifactu_tax_agency_form_view aeat.tax.agency.form - l10n_es_verifactu aeat.tax.agency form Inherits l10n_es_aeat.aeat_tax_agency_form_view
view_account_journal_form_inherit account.journal.form - l10n_es_verifactu account.journal form Inherits account.view_account_journal_form
view_account_position_form account.fiscal.position.form account.fiscal.position form Inherits account.view_account_position_form
view_company_verifactu_form res.company.verifactu.form res.company form Inherits base.view_company_form
view_verifactu_invoice_entry_form verifactu.invoice.entry.form verifactu.invoice.entry form New
view_verifactu_invoice_entry_search verifactu.invoice.entry.search verifactu.invoice.entry search New
view_verifactu_invoice_entry_tree verifactu.invoice.entry.list verifactu.invoice.entry list New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (18)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • verifactu_enabled Boolean
    readonly=True related='company_id.verifactu_enabled'
  • verifactu_registration_key Many2one → verifactu.registration.key
    comodel_name='verifactu.registration.key' ondelete='restrict' string='VERI*FACTU registration key'
  • verifactu_tax_key Selection
    default='01' selection='_get_verifactu_tax_keys' string='VERI*FACTU tax key'
Public methods (0)

No public methods.

New fields (4)
  • company_verifactu_enabled Boolean
    related='company_id.verifactu_enabled' string='VERI*FACTU company enabled'
  • restrict_mode_hash_table Boolean
    compute='_compute_restrict_mode_hash_table' readonly=False store=True
  • restrict_mode_hash_table_readonly Boolean
    compute='_compute_restrict_mode_hash_table' store=True
  • verifactu_enabled Boolean
    default=True string='VERI*FACTU enabled'
Public methods (3)
  • check_hash_modification(self, vals)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (1)
  • verifactu_refund_specific_type Selection
    help='Fill this field when the refund are one of the specific cases of article 80 of LIVA for notifying to VERI*FACTU with the proper invoice type.' selection=[('R1', 'Art. 80.1 y 80.2 y error fundado en derecho'), ('R2', 'Art. 80.3'), ('R3', 'Art. 80.4'), ('R4', 'Resto'), ('R5', 'De factura simplificada')] string='VERI*FACTU refund specific type'
Public methods (5)
  • button_cancel(self)
  • button_draft(self)
  • cancel_verifactu(self)
  • resend_verifactu(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • reverse_moves(self, is_modify=False)

New fields (4)
  • verifactu_qr_base_url Char
    string='VERI*FACTU QR Base URL'
  • verifactu_qr_base_url_test_address Char
    string='VERI*FACTU QR Base URL Test'
  • verifactu_wsdl_out Char
    string='VERI*FACTU WSDL'
  • verifactu_wsdl_out_test_address Char
    string='VERI*FACTU Test Address'
Public methods (0)

No public methods.

New fields (6)
  • verifactu_chaining_id Many2one → verifactu.chaining
    comodel_name='verifactu.chaining' ondelete='restrict' string='VERI*FACTU chaining' tracking=True
  • verifactu_description Text
    default='/' help='The description for VERI*FACTU invoices if not set' string='VERI*FACTU description' tracking=True
  • verifactu_developer_id Many2one → verifactu.developer
    comodel_name='verifactu.developer' ondelete='restrict' string='VERI*FACTU developer' tracking=True
  • verifactu_enabled Boolean
    string='VERI*FACTU enabled' tracking=True
  • verifactu_start_date Date
    help="If this field is set, the VERI*FACTU won't be enabled on invoices with lower invoice date. If not set, it can be enabled on all invoice dates" string='VERI*FACTU start date' tracking=True
  • verifactu_test Boolean
    string='VERI*FACTU test environment?' tracking=True
Public methods (1)
  • write(self, vals)

New fields (1)
  • verifactu_enabled Boolean
    compute='_compute_aeat_sending_enabled' string='VERI*FACTU enabled'
Public methods (0)

No public methods.

New fields (2)
  • cancel_reason Char
    string='Cancellation reason'
  • invoice_id Many2one → account.move
    comodel_name='account.move' readonly=True required=True string='Invoice'
Public methods (1)
  • cancel_invoice_in_verifactu(self)

New fields (4)
  • installation_number Integer
    default=1 required=True tracking=True
  • last_verifactu_invoice_entry_id Many2one → verifactu.invoice.entry
    comodel_name='verifactu.invoice.entry' copy=False help='Reference to the last VERI*FACTU invoice entry for this company. Used for atomic chaining.' readonly=True string='Last invoice entry'
  • name Char
    required=True tracking=True
  • sif_id Char
    help='Identifier of the billing software (SIF). Must be exactly 2 alphanumeric characters (A,Z, 0,9).' required=True size=2 string='SIF ID' tracking=True
Public methods (0)

No public methods.

New fields (5)
  • name Char
    required=True string='Developer Name' tracking=True
  • responsibility_declaration Binary
    attachment=True copy=False
  • sif_name Char
    required=True tracking=True args: 'SIF Name'
  • vat Char
    required=True string='Developer VAT' tracking=True
  • version Char
    default='1.0' required=True tracking=True
Public methods (0)

No public methods.

New fields (15)
  • aeat_json_data Text
    help='Generated JSON data to send to AEAT' readonly=True string='AEAT JSON Data'
  • company_id Many2one → res.company
    readonly=True required=True string='Company' args: 'res.company'
  • document_hash Char
    readonly=True required=True
  • document_id Many2oneReference
    index=True model_field='model' readonly=True required=True string='Document'
  • document_name Char
    readonly=True
  • entry_type Selection
    default='register' required=True selection=[('register', 'Register'), ('modify', 'Modify'), ('cancel', 'Cancel')]
  • last_error_code Char
    compute='_compute_last_error_code' store=True
  • last_response_line_id Many2one → verifactu.invoice.entry.response.line
    readonly=True string='Last Response Line' args: 'verifactu.invoice.entry.response.line'
  • model Char
    readonly=True required=True
  • previous_hash Char
    readonly=True related='previous_invoice_entry_id.document_hash' string='Previous Hash'
  • previous_invoice_entry_id Many2one → verifactu.invoice.entry
    readonly=True string='Previous Invoice Entry' args: 'verifactu.invoice.entry'
  • response_line_ids One2many → verifactu.invoice.entry.response.line
    help='Responses from VERI*FACTU after sending the documents.' string='Responses' args: 'verifactu.invoice.entry.response.line', 'entry_id'
  • send_attempt Integer
    default=0 help='Number of attempts to send this document.'
  • send_state Selection
    compute='_compute_send_state' copy=False default='not_sent' help='Indicates the state of this document in relation with the presentation to VERI*FACTU.' readonly=True selection=VERIFACTU_SEND_STATES store=True
  • verifactu_chaining_id Many2one → verifactu.chaining
    ondelete='restrict' required=True string='Chaining' args: 'verifactu.chaining'
Public methods (1)
  • document(self)
    @property

New fields (8)
  • activity_type_id Many2one → mail.activity.type
    compute='_compute_activity_type_id' store=True string='Activity Type' args: 'mail.activity.type'
  • date_response Datetime
    readonly=True
  • header Text
  • invoice_data Text
  • name Char
  • response Text
  • response_line_ids One2many → verifactu.invoice.entry.response.line
    string='Response lines' args: 'verifactu.invoice.entry.response.line', 'entry_response_id'
  • verifactu_csv Text
    string='VERI*FACTU CSV'
Public methods (3)
  • complete_open_activity_on_exception(self)
  • create_activity_on_exception(self)
  • create_send_response_activity(self)

New fields (10)
  • document_id Many2oneReference
    index=True model_field='model' readonly=True string='Document'
  • document_name Char
    readonly=True related='entry_id.document_name'
  • entry_id Many2one → verifactu.invoice.entry
    comodel_name='verifactu.invoice.entry' required=True
  • entry_response_id Many2one → verifactu.invoice.entry.response
    args: 'verifactu.invoice.entry.response'
  • error_code Char
  • is_cancellation Boolean
    compute='_compute_is_cancellation' help='Indicates whether this response line is related to a cancellation request.' readonly=True string='Is cancellation'
  • model Char
    readonly=True
  • response Text
  • send_state Selection
    copy=False default='not_sent' help='Indicates the state of this document in relation with the presentation to VERI*FACTU.' readonly=True selection=VERIFACTU_SEND_STATES string='VERI*FACTU send state'
  • verifactu_csv Text
    related='entry_response_id.verifactu_csv'
Public methods (1)
  • document(self)
    @property

New fields (4)
  • date_from Date
  • date_to Date
  • map_lines One2many → verifactu.map.line
    comodel_name='verifactu.map.line' inverse_name='verifactu_map_id' string='Lines'
  • name Char
    required=True string='Model'
Public methods (0)

No public methods.

New fields (4)
  • code Char
    required=True
  • name Char
  • tax_xmlid_ids Many2many → l10n.es.aeat.map.tax.line.tax
    comodel_name='l10n.es.aeat.map.tax.line.tax' string='Taxes templates'
  • verifactu_map_id Many2one → verifactu.map
    comodel_name='verifactu.map' ondelete='cascade' string='Parent mapping'
Public methods (0)

No public methods.

New fields (21)
  • aeat_state Selection
    compute='_compute_aeat_state' copy=False selection_add=VERIFACTU_EXTRA_AEAT_STATES store=True
  • last_verifactu_invoice_entry_id Many2one → verifactu.invoice.entry
    comodel_name='verifactu.invoice.entry' copy=False readonly=True string='VERI*FACTU last invoice entry'
  • last_verifactu_response_line_id Many2one → verifactu.invoice.entry.response.line
    comodel_name='verifactu.invoice.entry.response.line' copy=False readonly=True string='VERI*FACTU response line'
  • verifactu_cancel_reason Char
    help='Optional internal reason to cancel this invoicein VERI*FACTU. This reason is not sent to VERI*FACTU' string='VERI*FACTU cancel reason'
  • verifactu_csv Char
    copy=False readonly=True string='VERI*FACTU CSV'
  • verifactu_description Text
    copy=False string='VERI*FACTU description'
  • verifactu_enabled Boolean
    compute='_compute_verifactu_enabled' search='_search_verifactu_enabled' string='VERI*FACTU enabled'
  • verifactu_hash Char
    copy=False string='VERI*FACTU hash' tracking=True
  • verifactu_hash_string Char
    copy=False string='VERI*FACTU hash string' tracking=True
  • verifactu_invoice_entry_ids One2many → verifactu.invoice.entry
    comodel_name='verifactu.invoice.entry' copy=False domain=<expr> inverse_name='document_id' readonly=True string='VERI*FACTU invoice entries'
  • verifactu_macrodata Boolean
    compute='_compute_verifactu_macrodata' help='Check to confirm that the document has an absolute amount greater o equal to 100 000 000,00 euros.' string='VERI*FACTU macrodata?'
  • verifactu_qr Binary
    compute='_compute_verifactu_qr' string='VERI*FACTU QR'
  • verifactu_qr_url Char
    compute='_compute_verifactu_qr_url' string='VERI*FACTU URL'
  • verifactu_refund_type Selection
    compute='_compute_verifactu_refund_type' readonly=False selection=[('I', 'By differences')] store=True string='VERI*FACTU refund type'
  • verifactu_registration_date Datetime
    copy=False string='VERI*FACTU registration date'
  • verifactu_registration_key Many2one → verifactu.registration.key
    comodel_name='verifactu.registration.key' compute='_compute_verifactu_registration_key' readonly=False store=True string='VERI*FACTU registration key'
  • verifactu_registration_key_code Char
    compute='_compute_verifactu_registration_key_code' string='VERI*FACTU key code'
  • verifactu_response_line_ids One2many → verifactu.invoice.entry.response.line
    comodel_name='verifactu.invoice.entry.response.line' copy=False domain=<expr> inverse_name='document_id' readonly=True string='VERI*FACTU response lines'
  • verifactu_return Text
    copy=False readonly=True string='VERI*FACTU return'
  • verifactu_send_date Datetime
    copy=False index=True string='VERI*FACTU send date'
  • verifactu_tax_key Selection
    compute='_compute_verifactu_tax_key' readonly=False selection='_get_verifactu_tax_keys' store=True string='VERI*FACTU tax key'
Public methods (1)
  • cancel_verifactu(self)

New fields (3)
  • code Char
    required=True size=2
  • name Char
    required=True
  • verifactu_tax_key Selection
    required=True selection='_get_verifactu_tax_keys' string='VERI*FACTU tax key'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…