Skip to main content

Overview

DPD delivers invoice data via the DPD Insights portal. Each invoice comes with a PDF and a spreadsheet of its shipments: a semicolon-delimited CSV for recent invoices, or an XLSX file for older ones. The spreadsheet has one row per shipment (parcel). Columns use English names; some DPD files use other names for the key identifier and charge columns (see Alternate column names below).

Files you’ll receive

Trackstar downloads every document DPD attaches to an invoice and serves it unchanged through the Files endpoint, under the file name DPD gives it.
  • Grouped per invoice. Each file’s id contains a folder named {invoice number}_{YYYYMMDD} (the invoice date), so the PDF and spreadsheet for one invoice share a folder. file_name is DPD’s own file name. Files collected before mid-October 2026 are not grouped this way.
  • Invoice number and date can be blank. XLSX files, and older CSVs with a dash in the file name, leave the Invoice number and Invoice date columns empty. Trackstar fills invoice_id and transaction_date from the invoice the file belongs to instead.
  • The same invoice can arrive twice. Each daily sync starts on the date the previous one ended, so invoices dated on that shared day are downloaded by both and appear as two sets of files. Line items are not duplicated: both copies produce the same line-item ids. If you process the raw files yourself, de-duplicate by invoice number.
  • Failed exports. DPD occasionally produces a CSV whose only content is the line ODS data retrieve failed. These files produce no line items.
  • XLSX files are binary spreadsheets, not semicolon text. Trackstar reads their rows by the same column names as the CSV.

Shape notes

  • Semicolon-delimited, not comma. DPD uses ; as the column separator. Standard comma-CSV readers will misread DPD files.
  • One row per shipment. Each row is one parcel. A row may populate several charge columns (base price, fuel, toll, etc.); each non-zero charge becomes one line item in the Trackstar API.
  • Tracking number is the parcel number. DPD’s Parcel number column maps to tracking_number. Shipment number is a separate DPD reference, not the tracking number.
  • Quotes can hide a real separator. DPD sometimes wraps a value in double quotes with the following ; inside them, for example "RF_103326;". That ; is a real column separator, not part of the value. A standard CSV reader treats it as text and returns a row one field short (42 instead of 43), with every later column shifted left. Trackstar removes all double quotes before splitting, which restores the full row. Do the same if you parse DPD files yourself. In this example, Customer parcel reference 1 is ORD-104381 and Customer shipment reference 1 is empty:
  • Dates are YYYYMMDD or DD.MM.YYYY. Both are accepted: no separators in the former (e.g., 20260331), dots in the latter (e.g., 31.03.2026).

Sample rows

Curated subset of columns for readability. The downloadable CSV has all 43 columns.

Download

Download full sample CSV (1 header row + 25 data rows, 43 columns, semicolon-delimited)
All sample data is synthetic. Tracking numbers, account numbers, addresses, and reference fields are fabricated and do not correspond to any real shipments or customers.

Fields

Sender and receiver

Identifiers

Destination and service

Charges

Each populated charge column becomes one Trackstar line item. The charge_description is set to the column name.

Descriptions, measurement, references

Alternate column names

Some DPD files use other names for the key fields. Where a row uses one of these names, it maps to the same Trackstar field as its English counterpart. These files can also carry charge columns that the English file doesn’t have. Each populated one becomes a line item with the column name as its charge_description, the same as the English charge columns.
Unlike Total amount in the English file, Totaal is treated as a charge column, so a non-zero Totaal becomes its own line item alongside the other charges on the row.

Mapping to invoice line items