Im **PDF Creator** pflegst du die HTML-Vorlagen für deine Dokumente und Etiketten: Lieferschein, Packliste / Ladeliste, Rechnung, Etikett (Paletten- / Fachbodenlabel) und sonstige Dokumente. Die Vorlagen werden verwendet

- in den [Lagereinstellungen](/warehouse-setup/warehouse-settings.md) (Standard-Vorlage für Lieferschein, Rechnung und Etikett),
- in [Workflows](/automation/workflows.md) (Lieferschein / Rechnung drucken),
- bei der [Einlagerung](/inbound/putaway.md) (Paletten- und Artikeletiketten),
- beim [Verpacken](/outbound/packing.md) und bei der [Verladung](/outbound/loading.md).

![Screenshot: Übersicht der PDF-Dokumente mit PDF-Name, Firma, Typ, Format und letzter Änderung](/automation/images/pdf-documents-overview.png)

## Bevor du startest

- Dein Benutzer braucht die Rechte für **Einstellungen** und **PDF - Dokumente** im WMS-Menü. Das Öffnen des Formulars und das Löschen von Vorlagen sind eigene Rechte – frag deinen Administrator.
- Der Mandant, für den die Vorlage gedacht ist – siehe [Mandanten](/company/clients.md).
- Logos und Bilder in deinen Firmenmedien – siehe [Medien](/company/media.md).

## Vorlage anlegen

1. Öffne **WMS › Einstellungen › PDF - Dokumente**.
2. Klicke auf **Neue PDF**. Der **PDF Creator** öffnet sich.
3. Gib rechts unter **Einstellungen** Folgendes ein:
   - **Name der Vorlage**, z. B. „Lieferschein Standard“,
   - **Für Firma** – den Mandanten,
   - **Dokumenttyp**,
   - **Format** – A4, A5, A6 oder **Eigenes Maß** mit **Breite (mm)** und **Höhe (mm)**,
   - **Ausrichtung** – **Hochformat** oder **Querformat**,
   - **Seitenzahlen** – Seitenzahlen anzeigen.
4. Bearbeite die **Vorlage (HTML / Twig)**. Hilfen in der Werkzeugleiste:
   - **Baustein einfügen** – Kopf- und Fußzeile auf jeder Seite, Adressblock, Positionstabelle (Lieferschein oder Rechnung), zwei Spalten, Barcode Lieferschein, Seitenumbruch, Etikett je Kopie, Druckdatum.
   - **Variablen** – durchsuchbare Liste der Platzhalter für den gewählten Dokumenttyp. Ein Klick fügt den Code an der Cursorposition ein.
   - **Grundgerüst** – fügt eine vollständige Startvorlage für den gewählten Dokumenttyp ein.
   - **Firmenmedien** – Bilder aus deinen Firmenmedien einfügen oder ihren Pfad kopieren.
   - **Formatieren** – rückt den Quellcode ein und räumt ihn auf (Strg/Cmd + Shift + F).
5. Optionale Reiter:
   - **Kopf- / Fußzeile CSS** – Styles für die Kopfzeile (Element mit der id pdf-header) und die Fußzeile (id pdf-footer). Typisch ist position fixed mit top/bottom, damit sie auf jeder Seite erscheinen.
   - **Seitenränder** – nur die Ränder der @page-Regel; das Format kommt aus den Einstellungen. Setze bei Etiketten den Rand auf 0.
6. Prüfe die **Vorschau** mit **Beispieldaten** oder einem **Echter Auftrag**.
7. Klicke auf **Speichern** – oder drücke Strg/Cmd + S.
8. Weise die Vorlage zu – siehe [Vorlage verwenden](#vorlage-verwenden).

![Screenshot: PDF Creator mit dem Bereich „Einstellungen“, dem HTML-Editor und der Live-PDF-Vorschau](/automation/images/pdf-documents-editor.png)

![Screenshot: Bereich „Variablen“ des PDF Creators für den Dokumenttyp Lieferschein](/automation/images/pdf-documents-variables.png)

![Screenshot: Dialog „Firmenmedien“ mit einem ausgewählten Bild und dem Button „Pfad kopieren“](/automation/images/pdf-documents-media.png)

## Felder und Optionen

| Feld | Bedeutung |
|---|---|
| **Name der Vorlage** | Name, der in der Übersicht und in den Auswahllisten angezeigt wird. Pflichtfeld. |
| **Für Firma** | Der Mandant, zu dem die Vorlage gehört. Pflichtfeld. |
| **Dokumenttyp** | **Lieferschein**, **Packliste / Ladeliste**, **Rechnung**, **Etikett (Paletten- / Fachbodenlabel)** oder **Sonstiges**. Er entscheidet, welche Variablen verfügbar sind und wo die Vorlage ausgewählt werden kann. |
| **Format** / **Eigenes Maß** | Papierformat oder Etikettengröße. Trag bei einem eigenen Maß Breite und Höhe so ein, wie das Etikett aus dem Drucker kommt, und lass die Ausrichtung auf Hochformat. |
| **Ausrichtung** | Hochformat oder Querformat. |
| **Seitenzahlen** | Druckt Seitenzahlen. |

## Platzhalter

Platzhalter schreibst du als Variablennamen in doppelten geschweiften Klammern – zum Beispiel druckt der Variablenname DATA.order_number in doppelten geschweiften Klammern die Bestellnummer des Shops. Füge sie über den Bereich **Variablen** ein, um Tippfehler zu vermeiden. Listen wie Positionen werden mit einer Schleife gedruckt; die Bausteine **Positionstabelle** und **Grundgerüst** enthalten bereits die passende Schleife.

| Gruppe (Dokumenttypen) | Beispiele für Variablennamen |
|---|---|
| Auftrag (Lieferschein, Packliste) | DATA.order_id, DATA.order_number, DATA.external_document_no, DATA.order_date, DATA.delivery_date, DATA.delivery_id (Lieferscheinnummer), DATA.customer_number, DATA.total_count, DATA.shipping_method, DATA.packages_count, DATA.pallets_count, DATA.colli_count, DATA.order.note, DATA.order.tracking_id |
| Lieferadresse | DATA.address.company, .first_name, .last_name, .street, .house_number, .add_on, .zip, .city, .country, .phone, .email |
| Positionen | DATA.products (Liste) mit item.sku, item.name, item.quantity, item.delivered_quantity, item.unit, item.ean, item.article_number |
| Rechnung | DATA.invoice_number, DATA.customer_number, DATA.dates.added, DATA.dates.start / end (Abrechnungszeitraum), DATA.vat_id, DATA.tax_note (Hinweis zum Reverse-Charge-Verfahren), DATA.total_netto, DATA.total_tax, DATA.total_brutto, DATA.positions (Liste) |
| Palettenlabel | DATA.sku, DATA.name, DATA.quantity, DATA.spot_number, DATA.palette_number, DATA.batch_number, DATA.article_owner |
| Fachbodenlabel (Artikeletikett) | DATA.sku, DATA.name, DATA.name_full, DATA.spot_number, DATA.employee, DATA.date, DATA.ean, DATA.han, DATA.supply_number, DATA.copies |
| Allgemein | Aktuelles Datum, Bedingungen (nur drucken, wenn ein Wert gesetzt ist) und Standardwerte für leere Felder |

**Barcodes und Bilder** werden statt mit Platzhaltern mit einfachen Markern eingefügt: #delivery# (Lieferscheinnummer), #order_barcode# (Auftragsnummer), #invoice_number# (Rechnungsnummer), #article_barcode# (Artikelnummer), #pallet_number_barcode# (Palettennummer) und #qr_code# (QR-Code der Artikelnummer), alle als Code128, sofern nicht anders angegeben. Bilder verwenden einen relativen Pfad (media/…) – kopiere ihn aus **Firmenmedien**; das Bild wird beim Erzeugen des PDFs eingebettet.

![Screenshot: Vorschau einer Lieferschein-Vorlage mit Beispieldaten, Barcode und Positionstabelle](/automation/images/pdf-documents-preview.png)

## Vorlage verwenden

- **Lagereinstellungen**, Reiter **Konfigurationen**: **Standard Lieferschein**, **Rechnungs PDF-Vorlage**, **Etikett PDF-Vorlage** und die Vorlage für **Fachböden** – siehe [Lagereinstellungen](/warehouse-setup/warehouse-settings.md).
- **Workflows**: **Vorlage für Lieferschein** und **Vorlage für Rechnung** in den Druckeinstellungen – siehe [Workflows](/automation/workflows.md).

Gibt es keine passende Vorlage, zeigen diese Auswahlfelder „Es wurde keine Vorlage gefunden“.

![Screenshot: Lagereinstellungen, Reiter „Konfigurationen“, mit den Auswahlfeldern für die Vorlagen](/automation/images/pdf-documents-warehouse-settings.png)

## Fehlerbehebung

| Meldung | Ursache | Lösung |
|---|---|---|
| Bitte Name und Firma angeben. | Name oder Mandant fehlt. | Fülle beide Felder aus. |
| Die PDF Vorlage wurde gelöscht | Bestätigung. | – |
| Es wurde keine Vorlage gefunden | Für den Mandanten gibt es keine Vorlage dieses Dokumenttyps. | Lege eine Vorlage mit dem richtigen Dokumenttyp an. |
| Das Artikeletikett konnte nicht aus der PDF-Vorlage erzeugt werden. Bitte die Vorlage in den Lagereinstellungen prüfen. | Fehlerhafte Etikettenvorlage. | Korrigiere die Vorlage und prüfe sie mit der Vorschau – siehe [Einlagerung](/inbound/putaway.md). |
| Es gibt keine passende PDF Vorlage! | Beim Drucken in der Verladung gibt es keine Lieferschein-Vorlage. | Lege eine Lieferschein-Vorlage an und weise sie zu. |
