Odoo kann im Standard vieles sehr gut. Schöne PDF-Reports mit benutzerdefinierten Informationen und einem durchgängig präzisen Layout gehören jedoch nicht dazu. Mit Odoo-Studio sind zwar Anpassungen möglich, und der PDF-Builder kann PDFs als Header oder Footer ans Report-Template anhängen. Für viele Unternehmen reicht das trotzdem nicht, besonders bei hohem Anspruch ans Layout der PDF-Berichte. Wenn du deine Berichte selbst anpassen willst und volle Kontrolle über Zeilen, Abstände, Umbrüche und Spalten brauchst, solltest du zuerst die Basics verstehen.
Wie funktionieren Odoo PDF-Reports?
Odoo PDF-Reports, oder auch PDF-Berichte, sind immer identisch aufgebaut. Sie bestehen aus einer Report-Aktion (Report Action), die die Basis des Reports darstellt. Die Report-Aktionen findest du unter: Einstellungen / Technisch / Aktionen / Berichte.
Eine Report-Aktion legt die grundlegenden Parameter eines Reports fest, die wichtigsten sind:
- Papierformat: Bestimmt die Seitenausrichtung, Papiergrösse sowie die Seitenränder
- Der Name des generierten PDF
- Das Report-Template
Ein PDF-Report kann mit dem Button "Zum Drucken Menü hinzufügen" auf dem Report-Model verfügbar gemacht werden. Tipp: Vom Hinzufügen bis zum Erscheinen im Print-Menü dauert es bis zu einer Minute, zudem ist ein Page-Reload notwendig.


Sobald ein PDF-Report gedruckt wird, passiert Folgendes:
- Odoo lädt über die Report-Aktion die Report-Vorlage (Report-Template). Die Report-Vorlage ist eine Odoo-QWeb-Ansicht, wie sie auch in Odoo-Website und Odoo E-Commerce verwendet werden.
- Odoo rendert aus der Vorlage eine HTML-Seite mit dem PDF-Inhalt.
- Die HTML-Seite wird mit wkhtmltopdf in ein PDF umgewandelt und heruntergeladen.
Um alle Funktionalitäten wie die Standard-Print-Buttons oder das Anhängen der Reports an E-Mails zu erhalten, müssen wir unser custom Report-Template in den Standard Odoo Report-Pfad einfügen. Denn wenn wir einen Standalone-Report erstellen, funktioniert das alles nicht mehr.
So fügst du dein Custom-Template in den Standard-Odoo-Report-Flow ein
Ein Odoo PDF-Report besteht normalerweise nicht aus nur einem Template. Je nach PDF-Report können in Odoo-Standard bis zu 15 verschiedene Report-Templates involviert sein. Als Beispiel nehmen wir den Odoo Sale Order Report (Angebot/Auftrag). Untenstehend findest du eine Illustration von allen QWeb-Templates, die beim Erstellen eines Sale-Order-PDF in Odoo-Standard aufgerufen werden.

Um unser custom Template einzufügen, werden wir den Call vom sale.report_saleorder_document mit XPath anpassen und stattdessen unser custom Template aufrufen.
Schritt 1: Füge ?debug=1 an die Odoo-URL an, um den Developer Mode zu aktivieren. Erstelle unter Einstellungen / Technisch / Benutzerschnittstelle / Ansichten eine neue Ansicht mit folgenden Daten:
- Name: Report Saleorder Raw Inherit
- Ansichtstyp: QWeb
- Vererbte Ansicht: report_saleorder_raw
- Vererbungsmodus für Ansicht: Erweiterungsübersicht
- Architektur:
Resultat:

Schritt 2: Lade das Import-File von unserem custom Template als CSV herunter.
Schritt 3: Importiere unser custom Template unter Einstellungen / Technisch / Benutzerschnittstelle / Ansichten.

Fertig: Wenn du nun den "Drucken"-Button auf dem Verkaufsauftrag klickst oder eine E-Mail mit der Offerte an einen Kunden schickst, wird unser custom Report-Template geladen. Die Vorlage im CSV ist mit einem einfachen Satz gefüllt, den du durch beliebigen HTML-, CSS- und QWeb-Content ersetzen kannst.
Im nächsten Blogbeitrag zeige ich dir, wie du das Dokumentenlayout von Galaxus 1:1 in Odoo aufbauen kannst, damit deine Dokumente genauso gut aussehen wie die von Galaxus. Also, stay tuned 😊
Falls du noch Fragen hast, hinterlasse gerne einen Kommentar oder schreibe mir eine E-Mail.
Nathanael Lee