Ir al contenido

El PDF de la factura se descuadra: cómo funcionan los informes de Odoo

En pantalla se ve perfecto y en PDF se rompe. La explicación está en el motor de renderizado.
17 de agosto de 2026 por
AutomaProX

Es una queja constante y casi siempre tiene la misma explicación técnica. Los informes de Odoo se escriben en HTML con QWeb, igual que las páginas web, pero el PDF no lo genera el navegador: lo genera una herramienta externa llamada wkhtmltopdf. Y esa herramienta no entiende el CSS moderno igual que Chrome.

La regla de diagnóstico más útil

Si el informe se ve correctamente en la vista previa HTML y mal en el PDF, el problema es de compatibilidad CSS, no de tus datos ni de la plantilla. Esa sola distinción ahorra horas de búsqueda en el sitio equivocado.

Lo que suele romperse: diseños con flexbox, degradados, selectores complejos y algunas propiedades de posicionamiento. La solución práctica no es pelearse con ellas, sino simplificar la maquetación de la plantilla del informe y volver a estructuras de tabla clásicas, que wkhtmltopdf sí resuelve bien.

Los saltos de página

El caso más denunciado es el de las filas de tabla que se parten o saltan enteras a la página siguiente dejando un hueco. Es una limitación conocida del motor. Hay dos vías: controlar los saltos explícitamente en la plantilla, o revisar el formato de papel definido en Odoo, donde se ajustan los márgenes y las opciones que se pasan al renderizador.

El margen que solo se aplica una vez

Otro clásico: se define un margen superior y funciona en la primera página, pero cuando el contenido salta a la segunda el texto arranca en una posición fija distinta. El margen del documento y la cabecera repetida en cada página son dos cosas distintas, y se configuran en sitios distintos: la cabecera va en la plantilla, el margen en el formato de papel.

Y un detalle de rendimiento

El propio código fuente de Odoo deja constancia de que wkhtmltopdf tiene un procesamiento de coste exponencial. En castellano: un informe de dos páginas sale al instante y uno de doscientas puede tardar muchísimo más de cien veces más. Si necesitas imprimir lotes grandes, conviene dividirlos en tandas en lugar de lanzar un único documento enorme y suponer que el servidor se ha colgado.

Recomendaciones prácticas

  • Parte de la plantilla estándar de Odoo y modifícala por herencia, en lugar de escribir un informe desde cero. La estándar ya está probada contra las limitaciones del motor.
  • Prueba con datos reales, no con un pedido de tres líneas: los problemas de salto de página solo aparecen cuando el contenido desborda.
  • Comprueba el idioma y la compañía con los que se genera. Un informe correcto en una empresa puede descolocarse en otra si cambian el logotipo o la longitud de los textos legales.
  • Mantén el CSS simple. Es la recomendación menos elegante y la que más problemas resuelve.

Fuentes

Personalizar de más: la factura llega en el próximo upgrade
Configuración, Studio o código. El orden importa, y no es indiferente.