OdooWiki OCA HUB

Comunicación VERI*FACTU

l10n_es_verifactu_oca folder_open OCA/l10n-spain open_in_new
Accounting/Localizations/EDI Licencia: AGPL-3

Módulo para la presentación inmediata de la facturación.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 18.0

Conecta la facturación de Odoo con el sistema tributario español VERI*FACTU, enviando automáticamente las facturas de venta y los abonos a la agencia tributaria y añadiendo el QR y la cadena de hash requeridos a cada factura.

Este módulo prepara Odoo para la obligación española VERI*FACTU de reporte inmediato de facturas. Una vez activado en una compañía, las facturas de venta y los abonos reciben una clave de registro, una clave de impuesto, una descripción y un hash que enlaza cada documento con el anterior, y se envían a la agencia tributaria mediante una tarea programada.

Dónde aparece: - Nuevos ajustes de VERI*FACTU en la compañía, en los diarios de ventas, en las posiciones fiscales y en la agencia tributaria. - Campos adicionales en las facturas, incluido un tipo específico de abono para los casos del artículo 80. - Un asistente de cancelación y botones para reenviar facturas que fueron rechazadas o aceptadas con errores. - Un código QR y un texto legal en el informe impreso de la factura. - Pantallas de registro para las entradas de facturas, las respuestas de envío y los registros de encadenamiento.

Reglas de negocio y comportamiento automático: - Los diarios de ventas de una compañía VERI*FACTU se fuerzan al modo de hash restringido y no se pueden desactivar. - Las facturas solo son elegibles a partir de la fecha de inicio de la compañía, en los diarios de ventas y cuando la posición fiscal está activa para la agencia. - Al publicar una factura se comprueba la configuración y los impuestos; los impuestos no mapeados o incoherentes bloquean el proceso. - Las facturas ya enviadas no se pueden cancelar, restablecer a borrador ni cambiar su número o fecha. - Una tarea programada envía las entradas pendientes por lotes y crea actividades cuando hay errores de conexión o respuestas incorrectas.

Afecta a la facturación, los diarios, las compañías, los contactos, las posiciones fiscales y la configuración de la agencia tributaria española.

Menús que añade

verifactu_chaining_menuverifactu_developer_menumenu_verifactu_invoice_entry_responsemenu_verifactu_mapmenu_verifactu_registration_keys
Modelos y campos (18)
  • res.company · amplía un modelo existenteverifactu_test (VERI*FACTU test environment?), verifactu_enabled (VERI*FACTU enabled), verifactu_start_date (VERI*FACTU start date), verifactu_chaining_id (VERI*FACTU chaining), verifactu_description (VERI*FACTU description), verifactu_developer_id (VERI*FACTU developer)
  • res.partner · amplía un modelo existenteverifactu_enabled (VERI*FACTU enabled)
  • account.move · modelo nuevoverifactu_refund_specific_type (VERI*FACTU refund specific type)
  • verifactu.map · modelo nuevoname (Model), date_to, date_from, map_lines (Lines)
  • account.journal · amplía un modelo existenteverifactu_enabled (VERI*FACTU enabled), restrict_mode_hash_table, company_verifactu_enabled (VERI*FACTU company enabled), restrict_mode_hash_table_readonly
  • aeat.tax.agency · amplía un modelo existenteverifactu_wsdl_out (VERI*FACTU WSDL), verifactu_qr_base_url (VERI*FACTU QR Base URL), verifactu_wsdl_out_test_address (VERI*FACTU Test Address), verifactu_qr_base_url_test_address (VERI*FACTU QR Base URL Test)
  • verifactu.mixin · modelo nuevoaeat_state, verifactu_qr (VERI*FACTU QR), verifactu_csv (VERI*FACTU CSV), verifactu_hash (VERI*FACTU hash), verifactu_qr_url (VERI*FACTU URL), verifactu_return (VERI*FACTU return), verifactu_enabled (VERI*FACTU enabled), verifactu_tax_key (VERI*FACTU tax key), verifactu_macrodata (VERI*FACTU macrodata?), verifactu_send_date (VERI*FACTU send date), verifactu_description (VERI*FACTU description), verifactu_hash_string (VERI*FACTU hash string), verifactu_refund_type (VERI*FACTU refund type), verifactu_cancel_reason (VERI*FACTU cancel reason), verifactu_registration_key (VERI*FACTU registration key), verifactu_invoice_entry_ids (VERI*FACTU invoice entries), verifactu_registration_date (VERI*FACTU registration date), verifactu_response_line_ids (VERI*FACTU response lines), last_verifactu_invoice_entry_id (VERI*FACTU last invoice entry), last_verifactu_response_line_id (VERI*FACTU response line), verifactu_registration_key_code (VERI*FACTU key code)
  • verifactu.chaining · modelo nuevoname, sif_id (SIF ID), installation_number, last_verifactu_invoice_entry_id (Last invoice entry)
  • verifactu.map.line · modelo nuevocode, name, tax_xmlid_ids (Taxes templates), verifactu_map_id (Parent mapping)
  • verifactu.developer · modelo nuevovat (Developer VAT), name (Developer Name), version, sif_name (SIF Name), file_name, responsibility_declaration
  • account.move.reversal · amplía un modelo existente
  • account.chart.template · amplía un modelo existente
  • account.fiscal.position · amplía un modelo existenteverifactu_enabled, verifactu_tax_key (VERI*FACTU tax key), verifactu_registration_key (VERI*FACTU registration key)
  • verifactu.invoice.entry · modelo nuevomodel, company_id (Company), entry_type, send_state, document_id (Document), send_attempt, document_hash, document_name, previous_hash (Previous Hash), aeat_json_data (AEAT JSON Data), last_error_code, response_line_ids (Responses), last_response_line_id (Last Response Line), verifactu_chaining_id (Chaining), previous_invoice_entry_id (Previous Invoice Entry)
  • verifactu.registration.key · modelo nuevocode, name, verifactu_tax_key (VERI*FACTU tax key)
  • verifactu.cancel.invoice.wizard · modelo nuevoinvoice_id (Invoice), cancel_reason (Cancellation reason)
  • verifactu.invoice.entry.response · modelo nuevoname, header, response, invoice_data, date_response, verifactu_csv (VERI*FACTU CSV), activity_type_id (Activity Type), response_line_ids (Response lines)
  • verifactu.invoice.entry.response.line · modelo nuevomodel, entry_id, response, error_code, send_state (VERI*FACTU send state), document_id (Document), document_name, verifactu_csv, is_cancellation (Is cancellation), entry_response_id

Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 5 confirmadas, 4 sin información de 9 versiones.

terminal Instalación y uso

Documentación de OCA · Odoo 18.0

Para instalar este módulo necesita:

  • Libreria Python Zeep, se puede instalar con el comando 'pip install zeep'
  • Libreria Python Requests, se puede instalar con el comando 'pip install requests'

Para configurar este módulo es necesario:

  • Acceder a Facturación/Contabilidad -\> Configuración -\> AEAT -\> Agencia Tributaria, podrás consultar las URLs del servicio SOAP de Hacienda. Estas URLs pueden cambiar según comunidades
  • El certificado enviado por la FMNT es en formato p12, este certificado no se puede usar directamente con Zeep. Accede a Facturación/Contabilidad -\> Configuración -\> AEAT -\> Certificados AEAT, y allí podrás: Subir el certificado p12 y extraer las claves públicas y privadas con el botón "Obtener claves"
  • Debes tener en cuenta que los certificados se alojan en una carpeta accesible por la instalación de Odoo.
  • Completar los datos de desarrollador y del encadenamiento a nivel de compañía en la pestaña de VERI*FACTU.

En caso de que la obtención de claves no funcione y uses Linux, cuentas con los siguientes comandos para tratar de solucionarlo:

  • Clave pública: "openssl pkcs12 -in Certificado.p12 -nokeys -out publicCert.crt -nodes"
  • Clave privada: "openssl pkcs12 -in Certificado.p12 -nocerts -out privateKey.pem -nodes"
  • Establecer en las posiciones fiscales la clave de impuestos y la clave de registro VERI*FACTU.
  • Para aplicar las claves ejecute el asistente de actualización del módulo accountchart_update.

Cuando se valida una factura, automáticamente genera el registro de envío para verifactu. Cada minuto se enviarán todos aquellos registros pendientes de enviar mediante un cron.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.