Odoo kann im Standard vieles sehr gut. Schöne PDF-Reports mit eigenen 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 vom Report darstellt. Die Report-Aktionen findest du unter: Einstellungen / Technisch / Aktionen / Berichte.
Eine Report-Aktion legt die grundlegenden Parameter von einem Report 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" einfach auf dem Report-Modell 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-Path 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 druckst, 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 genau so gut aussehen wie diese von Galaxus. Also - stay tuned :-)
Falls du noch Fragen hast, hinterlasse gerne einen Kommentar oder schreibe mir eine E-Mail.
Nathanael Lee