How to Extract Data from German Delivery Notes (Lieferschein) into Excel — Across Multiple Supplier Formats
German Lieferschein documents vary across suppliers. AI extraction reads all formats without template setup, pulling item codes, quantities, and delivery dates into Excel.
What a German Delivery Note Contains — and Why It's Not an Invoice
A German delivery note — labelled Lieferschein (delivery note) or Warenbegleitschein (goods accompanying document), depending on the supplier — is fundamentally different from an invoice (Rechnung). A Lieferschein lists what was shipped. An invoice lists what must be paid. Treating a Lieferschein like an invoice — extracting only amount fields — leaves you with no record of quantities received, item-level detail, or receiving-side annotations that finance and operations both need.
Header section. Every Lieferschein starts with sender and recipient details: Absender (sender/supplier) — company name, address, and often a Lieferantennummer (supplier number) — and Empfänger (recipient) with Lieferadresse (delivery address). Below these, three identifier fields anchor the document: Lieferscheinnummer (delivery note number, a unique identifier assigned by the supplier), Lieferdatum (delivery date — when the goods were shipped or arrived), and Bestellnummer (purchase order number, your internal PO reference). Some Lieferscheine also carry a Kundennummer (customer number) and an Auftragsnummer (order number) that differs from the Bestellnummer — knowing which is which prevents reconciliation errors downstream.
Item table. The core of the document. Each row typically contains: Positionsnummer (line item number), Artikelnummer (item/SKU number), Artikelbezeichnung (item description), Menge (quantity delivered), and Einheit (unit — Stück/piece, kg, m, l, Karton/carton, Palette/pallet). Some suppliers add Chargennummer (batch/lot number) for traceable goods, Gewicht (weight in kg), or Packstücke (number of packages per line item). In multi-pallet deliveries, you may see a Packstücknummer (package number) column that maps items to specific pallets.
Footer and signatures. The bottom of the Lieferschein typically shows Gesamtmenge (total quantity), Anzahl Packstücke (total number of packages/pallets), and an Unterschriftsfeld (signature field) where the receiving party confirms acceptance. Handwritten notes in this area — "2 Kartons beschädigt/2 cartons damaged," "Nachlieferung folgt/follow-up delivery pending," "1 Palette fehlt/1 pallet missing" — carry operational information that your spreadsheet needs to capture.
Unlike invoices, Lieferscheine have no statutory mandatory fields. German law does not require a Lieferschein at all — unlike invoices, which are governed by §14 UStG (VAT Act). The Lieferschein is an industry convention, not a legal obligation. This is why supplier formats vary so dramatically: with no government-mandated field layout, every ERP system and every supplier designs their own. A SAP-generated Lieferschein from a large automotive supplier looks nothing like a Lexware-generated Lieferschein from a regional Baustoffhändler. If your extraction approach assumes standardized formatting, it breaks on arrival.
Why Supplier Format Variability Breaks Most Extraction Approaches
Template-based OCR — the most common document extraction method — trains on one document layout and then tries to match that layout on every subsequent document. You draw a bounding box around "Lieferscheinnummer" at coordinates (x=140, y=95) on a SAP-generated PDF, and the system looks for text at those exact pixel positions thereafter. This works for standardized government forms. It does not work for German Lieferscheine because:
An SAP S/4HANA Lieferschein from a mid-sized manufacturer places the header block top-left in a dense grid, the item table spans the full page width with 8+ columns, and the footer sits at the bottom right. A Lexware Faktura Lieferschein from a small Handwerksbetrieb stacks everything vertically — sender top-left, recipient top-right, items in a simple 4-column table (Pos., Artikel, Menge, Einheit), totals at the bottom. A sevDesk Lieferschein runs a wider layout with branded header, vertically stacked address block, and a clean 5-column item table. A paper Lieferschein from a supplier that has not digitized yet — perhaps a small Spediteur using a Durchschreibesatz (carbon-copy set) — may have the Lieferscheinnummer in the top-right corner handwritten, items in a hand-drawn table, and a signature scrawled across the bottom. Four formats, zero shared coordinates.
AI-based extraction solves this differently. Instead of matching pixel coordinates, a vision language model reads the document by understanding what each piece of text means in context. You define column names — the data fields you want, like "Lieferscheinnummer," "Lieferdatum," "Artikel," "Menge" — and the AI locates the corresponding value on each document by recognizing the field's semantics (a delivery note number near the top of the document, a date in German format near a label that reads "Lieferdatum" or "Datum"), not its position on the page. This is Custom Column Extraction: you type the field names you want, and the AI matches each one to the correct value regardless of layout.
This approach also handles the naming variability that trips up template systems. One supplier labels the delivery date "Lieferdatum," another writes "Versanddatum," a third uses "Datum." One supplier uses "Pos." as the column header for line item number, another writes "Nr.," a third writes "Position." If your extraction understands that all three refer to the same concept, you get one unified column in your output. No per-supplier mapping required.
The GoBD and HGB Framework: Why Accurate Extraction Matters Beyond Efficiency
The case for extracting Lieferschein data is not just about saving time. German commercial and tax law creates structural reasons why delivery note data needs to be structured, searchable, and archived.
Under the German Commercial Code (HGB), specifically §408, a consignment note must carry sender and recipient identification, number of packages, total weight, handover or dispatch date, and a delivery note or order number. While §408 HGB governs the transport contract (Frachtvertrag) rather than the Lieferschein directly, it defines the information standard that Lieferscheine in German logistics routinely follow.
More operationally relevant is the GoBD (Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form) — Germany's principles for proper electronic bookkeeping and record retention, issued by the Federal Ministry of Finance (BMF). Under GoBD, delivery notes fall under commercial correspondence (Geschäftsbriefe) and must be retained for 6 years in an unalterable, traceable format. If you receive Lieferscheine as PDFs, you must archive them as PDFs. If you extract their data, the extracted data must be traceable back to the original document. A structured Excel archive of all Lieferscheine — searchable by Lieferscheinnummer, Lieferdatum, or supplier — satisfies audit requirements far better than a folder of renamed PDFs.
GS1 Germany, the standards organization behind barcode and supply chain standards in Germany, has published a digital delivery note (dLS) specification — a PDF/A-3 format with embedded machine-readable XML (analogous to ZUGFeRD for invoices). The dLS standard defines a structured data model with over 30 fields, from Lieferscheinnummer and Bestellnummer to Packstück-level details and Fahrer (driver) information. Adoption is growing among large retailers and their FMCG suppliers, but the vast majority of German suppliers — especially SMEs — still issue PDF or paper Lieferscheine. The practical reality for most receiving teams is a mix: structured DESADV EDI messages from large suppliers, unstructured PDFs from mid-sized suppliers, and paper slips from small Handwerksbetriebe. Extraction that works across all three is the bridge between today's format chaos and tomorrow's standardized digital delivery note.
Step-by-Step: From PDF Lieferschein to Structured Excel
This workflow assumes you have a stack of German delivery note PDFs — from SAP, Lexware, sevDesk, DATEV, or scanned paper — and you want one Excel file with one row per Lieferschein line item and consistent columns across all suppliers.
Step 1: Define your extraction columns. The column names you type become the headers of your output spreadsheet. For a comprehensive German Lieferschein extraction, start with these:
| Column name | German Lieferschein label | What it captures |
|---|---|---|
| Lieferscheinnummer | Lieferscheinnummer / Lieferschein-Nr. | Unique delivery note identifier |
| Lieferdatum | Lieferdatum / Versanddatum / Datum | Date of delivery or dispatch |
| Bestellnummer | Bestellnummer / Ihre Bestell-Nr. / PO-Nr. | Your purchase order number |
| Absender | Absender / Lieferant / Versender | Supplier/sender company name |
| Positionsnummer | Pos. / Position / Nr. | Line item number in the delivery |
| Artikelnummer | Artikel-Nr. / Art.-Nr. / SKU | Item/SKU code |
| Artikelbezeichnung | Artikel / Bezeichnung / Artikeltext | Item description |
| Menge | Menge / gelieferte Menge / Stück | Quantity delivered |
| Einheit | Einheit / ME / Maßeinheit | Unit of measure (Stk, kg, m, l, Ktn.) |
| Packstücke | Packstücke / Kolli / Pakete | Number of packages/pallets |
The column names are in German because that is what appears on the document. The AI reads "Lieferscheinnummer" on the PDF and maps it to your "Lieferscheinnummer" column — the semantics match. If you prefer English column headers in your output (e.g., "Delivery Note Number"), you can type those instead. The AI will still find the corresponding German field on the document because it understands that "Delivery Note Number" and "Lieferscheinnummer" refer to the same concept.
Step 2: Add Computed Columns for immediate discrepancy checking. Once you have the raw fields, you can define columns that calculate results during extraction — you do not need to build formulas in Excel later. For example:
- Differenz (Bestellt − Geliefert) — subtract quantity delivered from the PO quantity stored in your Bestellnummer reference. Useful when your Lieferschein includes a "bestellte Menge" (ordered quantity) column.
- Lieferstatus — an Inferred Column using options (Vollständig, Teillieferung, Überlieferung) that classifies each delivery based on ordered vs delivered quantities.
- MHD-Status — for food/pharma deliveries, flag items approaching or past their Mindesthaltbarkeitsdatum (best-before date) if the Lieferschein includes it.
This is what Computed Columns do: instead of extracting raw numbers and then running Excel formulas, you define the logic once as a column definition, and the AI performs the comparison during extraction. You get a finished spreadsheet with discrepancies already flagged.
Step 3: Upload all Lieferscheine at once. Drag your PDFs into the upload area — SAP Lieferscheine from large suppliers, Lexware Lieferscheine from Handwerksbetriebe, sevDesk Lieferscheine from online retailers, scanned paper copies from suppliers who have not digitized. The AI reads each document individually and populates the same set of columns regardless of which software generated which PDF.
Files are processed securely and not stored.
Step 4: Export to Excel. The output is one structured spreadsheet — one row per line item across all Lieferscheine, with the Lieferscheinnummer repeated on each row to keep every line item traceable to its source document. All amounts and quantities in consistent format, all dates normalized to a single standard, ready for WMS import, three-way matching against POs and invoices, or GoBD-compliant archiving.
A Lieferschein spreadsheet where each row carries the delivery note number and PO reference means you can filter by supplier, by date, or by order — and every cell is traceable back to its exact position on the original PDF.
Handling Handwritten Annotations, Multi-Page Lieferscheine, and Partial Deliveries
German logistics involves several recurring edge cases that break a simplistic "extract the printed fields" approach. Each deserves its own handling strategy.
Handwritten annotations and signatures. Lieferscheine frequently arrive with handwritten additions: a warehouse worker circles a damaged quantity and writes "beschädigt" (damaged), a driver notes "2 Kartons fehlen" (2 cartons missing) in the margin, a receiving clerk signs and dates the bottom. These annotations carry operational meaning. The AI reads handwriting — a well-lit photo of the annotated Lieferschein works essentially as well as the original — but accuracy on handwriting is inherently lower than on printed text. For the core printed fields (Lieferscheinnummer, Artikel, Menge), accuracy on a clear PDF or photo matches printed document standards. For scrawled marginal notes, expect reduced but still usable results. If your workflow depends on handwritten annotations, consider adding a column specifically for "Anmerkungen" (notes) and reviewing those rows manually.
Multi-page Lieferscheine. A delivery with 40 line items will not fit on one A4 page. The Lieferschein spills to 2, 3, or more pages, with the header only on page 1 and the item table continuing across pages. The AI reads the entire document as a single logical unit — Lieferscheinnummer from page 1 is associated with items on pages 2 and 3. The output correctly repeats the header fields on every line item row, even when those header fields only physically appear once.
Partial deliveries (Teillieferungen). A supplier may ship part of an order now and the rest later, issuing two Lieferscheine for one Bestellnummer. The first Lieferschein may carry a note "1. Teillieferung" (first partial delivery) or "Rest folgt" (remainder follows). These notes, when extracted into your spreadsheet, provide the context needed to avoid double-counting or incorrectly marking an order as complete before all partial deliveries arrive.
If your Lieferscheine come from international suppliers operating in Germany but using English, French, or other languages for field labels, the AI handles multilingual documents as well — "delivery note number," "numéro de bon de livraison," and "Lieferscheinnummer" all map to the same field when you define the column in the language you prefer. For more on the recurring document types in German supply chains, see our guide to why packing slip format inconsistency breaks warehouse receiving.
FAQ: German Delivery Note Data Extraction
Does AI extraction work with handwritten Lieferscheine or photographed paper copies?
Yes, with the right input quality. The AI reads text from images, so a well-lit photograph of a printed Lieferschein works essentially as well as the original PDF. Handwritten additions — a driver's marginal note, a receiving clerk's signature, a hand-corrected quantity — can be extracted, but accuracy on handwriting is inherently lower than on printed text. For the core printed fields (Lieferscheinnummer, Artikel, Menge), expect the same accuracy as a PDF. For dense handwritten annotations, expect reduced but usable results. Always spot-check handwritten fields against the original.
Can the tool handle Lieferscheine from SAP, Lexware, sevDesk, and paper — all in the same batch?
Yes. Because extraction is semantic rather than template-based, the same set of column names (Lieferscheinnummer, Lieferdatum, Artikel, Menge) locates the correct values regardless of which software generated the document. You upload all Lieferscheine in one batch — 5 from SAP suppliers, 8 from Lexware users, 3 from sevDesk, 2 scanned paper — and the output is one unified Excel file with consistent columns across all sources. No per-supplier configuration, no template switching.
What fields should I always include in my extraction columns?
At minimum: Lieferscheinnummer (ties each row to the original document), Lieferdatum (receiving date for timeline tracking), Bestellnummer (your PO reference for three-way matching), Artikelnummer and Artikelbezeichnung (what was delivered), and Menge (how much). If you handle traceable goods, add Chargennummer (lot number) and MHD (best-before date). If you reconcile against POs, add bestellte Menge (ordered quantity) when the Lieferschein includes it, then use a Computed Column to flag discrepancies automatically.
What accuracy can I expect on German Lieferschein extraction?
For printed, clearly legible PDFs, core identifier fields (Lieferscheinnummer, Lieferdatum, Bestellnummer) and numeric fields (Menge, Einheit) typically reach above 95% accuracy. Item descriptions, especially long German compound words in small fonts, may have slightly lower accuracy. Handwritten annotations have the lowest accuracy. The honest recommendation: spot-check the first extraction run against the original documents, especially for Lieferscheinnummer and Menge — your two reconciliation anchors — and correct any errors in the output. One corrected cell does not affect other fields on the same document or across the batch.
How does extraction handle partial deliveries (Teillieferungen) from the same order?
Each partial delivery has its own unique Lieferscheinnummer. If both Lieferscheine reference the same Bestellnummer, the Bestellnummer column groups them in your spreadsheet. You can filter by Bestellnummer to see all partial deliveries for that order, and a Computed Column can sum the gelieferte Menge across rows to check whether the total delivered matches the full order quantity. The AI does not merge partial deliveries — you see exactly what each Lieferschein contains — but the structured spreadsheet makes aggregation trivial.
Is extracting Lieferschein data to Excel compliant with GoBD archiving requirements?
Extracted data is not a substitute for archiving the original PDF. Under GoBD, you must retain the original Lieferschein in the format you received it (PDF, scan, paper). The extracted Excel is a supplementary working copy. However, a structured Excel archive — searchable by Lieferscheinnummer, Lieferdatum, and supplier — significantly improves your ability to locate and retrieve original documents during a Betriebsprüfung (tax audit). The extraction process does not replace archiving; it makes archived documents useful.