Este módulo es una extensión del módulo account_invoice_import: añade soporte para facturas PDF simples, es decir, facturas PDF que no tienen un archivo XML incrustado. Este módulo se ha desarrollado para resolver los inconvenientes del módulo OCA account_invoice_import_invoice2data; sus ventajas son las siguientes:
- Posibilidad de añadir soporte para un nuevo proveedor sin conocimientos de desarrollo: ¡el contable puede hacerlo!
- Añadir soporte para un nuevo proveedor es más rápido.
- Más tolerancia ante cambios en el diseño de la factura del proveedor.
- Más fácil de instalar.
Con este módulo, puede importar todas las facturas que podía importar con el módulo account_invoice_import_invoice2data. De hecho, este módulo utiliza el mismo diseño al importar una factura de proveedor en PDF:
- extracción de texto sin formato del archivo PDF,
- identificar el partner utilizando el número de IVA (si el número de IVA está presente en la extracción de texto sin formato) o algunas palabras clave,
- utilizar expresiones regulares (regex) para extraer los datos necesarios para crear la factura de proveedor en Odoo (configuración de una sola línea).
La principal diferencia con el módulo OCA account_invoice_import_invoice2data es que las expresiones regulares se generan automáticamente a partir de la configuración realizada por el usuario en Odoo. ¡No hace falta ser un experto en regex! Pero aún puede escribir regex para extraer algunos campos para algunas necesidades muy específicas.
El módulo puede extraer los siguientes campos:
- Total Amount with taxes
- Total Untaxed Amount
- Total Tax Amount
- Invoice Date
- Due Date
- Start Date
- End Date
- Invoice Number
- Description (para ese campo, tiene que escribir una regex)
En esta lista, solo 3 campos son obligatorios:
- Invoice Date
- 2 de los 3 campos de importe (el 3º puede deducirse de los otros 2: Total Amount = Total Untaxed + Total Tax)
Para aprovechar los campos Start Date y End Date, necesita el módulo OCA account_invoice_start_end_dates del proyecto account-closing.
Para conocer la historia completa detrás del desarrollo de este módulo, lea la entrada del blog de Akretion.
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.0Permite a los contables importar facturas de proveedor suministradas como archivos PDF simples (sin XML incrustado) enseñando a Odoo, por proveedor, cómo leer el texto del PDF y extraer el número de factura, las fechas y los importes.
Este módulo amplía el asistente de importación de facturas para que las facturas de proveedor en PDF sin formato estructurado puedan convertirse en facturas en borrador. Cuando un PDF no tiene un archivo estructurado incrustado, Odoo extrae el texto del PDF e intenta leer de él los datos clave.
En cada formulario de proveedor (contacto) aparece una nueva sección donde se describe el diseño del PDF de ese proveedor: - una palabra clave (o varias separadas por '|') que se usa para reconocer al proveedor; en caso contrario, se usa el número de IVA; - el formato y el separador de fecha, los separadores decimal y de miles, y la moneda usada en la factura; - si el texto se analiza solo en la primera página o en todas las páginas; - una lista de campos que extraer (total, importe sin impuestos, importe de impuestos, fecha de factura, fecha de vencimiento, fechas de inicio/fin, número de factura, descripción), cada uno con cadenas de inicio/fin opcionales para recortar el texto, una expresión regular específica opcional y una regla que indica qué aparición conservar (primera, última, mínimo, máximo o una posición dada); - una lista de elementos del formato del número de factura (caracteres fijos, letras, dígitos, espacios, año, mes) que en conjunto describen cómo numera el proveedor sus facturas.
Un área de prueba permite subir un PDF de ejemplo y ver el texto extraído y el resultado encontrado para cada campo, con los errores mostrados en rojo, de modo que la configuración se puede comprobar sin importar una factura real.
Reglas de negocio: se requiere una regla de fecha y al menos una regla de importe, y si solo se configura un importe, debe ser el total; el campo de descripción requiere una expresión regular; los separadores decimal y de miles no pueden ser idénticos; las posiciones y las apariciones deben ser positivas. El módulo modifica res.partner y el asistente de importación de facturas account.invoice.import.
Depende de
Lo necesitan otros módulos
Modelos y campos (4)
- res.partner · amplía un modelo existentesimple_pdf_pages (Page Analysis), simple_pdf_keyword, simple_pdf_field_ids (Fields for PDF Invoice Import), simple_pdf_test_file (Test PDF Invoice File), simple_pdf_currency_id (Invoice Import Currency), simple_pdf_date_format (Date Format), simple_pdf_test_results (Test Results), simple_pdf_test_filename (Test PDF Invoice Filename), simple_pdf_test_raw_text (Test Text Extraction), simple_pdf_date_separator (Date Separator), simple_pdf_decimal_separator (Decimal Separator), simple_pdf_invoice_number_ids (Invoice Import Number Format), simple_pdf_thousand_separator (Thousand Separator)
- account.invoice.import · amplía un modelo existente
- account.invoice.import.simple.pdf.fields · modelo nuevoend (End String), name (Field), start (Start String), regexp (Specific Regular Expression), position, sequence, partner_id (Vendor), date_format (Specific Date Format), extract_rule, date_separator (Specific Date Separator)
- account.invoice.import.simple.pdf.invoice.number · modelo nuevosequence, fixed_char, partner_id (Vendor), string_type (Type), occurrence_max (Maximum Occurence), occurrence_min (Minimum Occurence)
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-03Estado de confirmación: 3 confirmadas, 6 sin información de 9 versiones.
Fuentes · Odoo 14.0
Confirmado el 2026-11-03 en la rama 14.0 de OCA/edi.
terminal Instalación y uso
Documentación de OCA · Odoo 18.0Instalación
Fuente · Odoo 18.0El componente técnico más importante de este módulo es la herramienta que convierte el PDF a texto. Convertir PDF a texto no es una tarea fácil. Como se explica en esta entrada de blog, diferentes herramientas pueden dar resultados bastante distintos. Los mejores resultados suelen obtenerse con herramientas basadas en un visor de PDF, lo que excluye las herramientas de python puro. Pero las herramientas de python puro son más fáciles de instalar que las herramientas basadas en un visor de PDF. Es importante entender que, si cambias la herramienta de conversión de PDF a texto, seguramente obtendrás una salida de texto ligeramente distinta, lo que puede obligarte a actualizar la regla de extracción de campos, lo cual puede llevar mucho tiempo si ya has configurado muchos proveedores.
El módulo admite 5 métodos de extracción diferentes:
- PyMuPDF, que es un binding de Python para MuPDF, un kit de herramientas/visor/renderizador de PDF ligero publicado bajo la licencia AGPL por la empresa Artifex Software.
- La librería python pdftotext, que es un binding de python para la herramienta pdftotext.
- La herramienta de línea de comandos pdftotext, que se basa en poppler, una librería de renderizado de PDF utilizada por xpdf y Evince (el lector de PDF de Gnome).
- pypdf, que es una de las librerías PDF más comunes para Python. pypdf es una solución de python puro, por lo que es muy fácil de instalar en todos los sistemas operativos.
PyMuPDF y pdftotext dan ambos una salida de texto muy buena. Hasta ahora, no puedo decir cuál es mejor. pypdf a menudo da una salida de texto de menor calidad, pero su ventaja es que es una librería de Python puro, por lo que siempre podrás instalarla cualquiera que sea tu entorno técnico.
Puedes elegir un método de extracción e instalar solo las herramientas/librerías para ese método.
Instalar PyMuPDF
Instálalo vía pip:
pip3 install --upgrade pymupdfTen en cuenta que PyMuPDF no es una librería de python puro: utiliza MuPDF, que está escrito en lenguaje C. Si hay una wheel de python para tu sistema operativo, arquitectura de CPU y versión de Python disponible en pypi (consulta la lista de wheels de PyMuPDF en pypi), se instalará sin problemas. En caso contrario, la instalación vía pip requerirá MuPDF y todas sus librerías de desarrollo para compilar el binding.
Instalar la librería python pdftotext
Para instalar la librería python pdftotext, ejecuta:
sudo apt install build-essential libpoppler-cpp-dev pkg-config python3-devy luego instala la librería vía pip:
pip3 install --upgrade pdftotextEn sistemas operativos distintos de Debian/Ubuntu, sigue las instrucciones de la página del proyecto.
Instalar la línea de comandos pdftotext
Para instalar la línea de comandos pdftotext, ejecuta:
sudo apt install poppler-utilsInstalar pypdf
Para instalar la librería python pypdf, ejecuta:
pip3 install --upgrade pypdfOtros requisitos
Este módulo también requiere las siguientes librerías de Python:
- regex, que es retrocompatible con el módulo re de la librería estándar de Python, pero tiene funcionalidades adicionales.
- dateparser, que es una potente librería de análisis de fechas.
La librería dateparser depende a su vez de regex. Así que puedes instalar estas librerías de Python vía pip con el siguiente comando:
pip3 install --upgrade dateparserLa librería dateparser no es compatible con todas las versiones de la librería regex. A fecha de febrero de 2024, el requisito de versión declarado por dateparser para regex es !=2019.02.19, !=2021.8.27. Así que la última versión de dateparser es actualmente compatible con la última versión de regex. Para saber la versión de regex instalada en tu entorno, ejecuta:
pip3 show regexConfiguración
Fuente · Odoo 18.0Por defecto, para la conversión de PDF a texto, el módulo prueba los diferentes métodos en el orden mencionado en la sección INSTALL: primero intentará usar PyMuPDF; si falla (por ejemplo, porque la librería no está instalada correctamente), entonces intentará usar la librería python pdftotext, si esa también falla, intentará usar la línea de comandos pdftotext y, si también falla, finalmente intentará pypdf. Si ninguno de los 4 métodos funciona, Odoo mostrará un mensaje de error.
Si quieres forzar a Odoo a usar un método de extracción de texto específico, ve al menú Configuration \> Technical \> Parameters \> System Parameters y crea un nuevo System Parameter:
- Key: invoice_import_simple_pdf.pdf2txt
- Value: selecciona el valor adecuado para el método que quieras usar:
- pymupdf
- pdftotext.lib
- pdftotext.cmd
- pypdf
En esta configuración, Odoo solo usará el método de extracción de texto seleccionado y, si falla, mostrará un mensaje de error.
Encontrarás una demostración completa sobre cómo configurar cada Vendor e importar las facturas PDF en este screencast.
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Uso.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
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.