Overview
DHL eCommerce delivers invoices as positional CSVs over SFTP. Each file contains oneHDR row (invoice metadata) followed by many DTL rows — one per shipment. A single DTL row may carry values in multiple charge columns; each non-zero charge becomes a separate line item in the Trackstar API.
Shape notes
- No header row. The raw CSV has no column names — the downloadable sample is headerless too, matching the real file. The 79 columns always appear in the fixed order documented in Fields below. The inline example further down adds column names purely for readability.
- Line type markers. Each row starts with either
HDR(invoice-level) orDTL(shipment-level). OnlyDTLrows become line items. - Multiple charges per shipment. A shipment can populate
Charge*,ZFuel*, special-handling surcharges, and taxes simultaneously. Each populated charge becomes one line item. - Totals reconciliation. The sum of all
DTLcharges equals the total in column 12 (Original Amount) of theHDRrow — use this to verify invoice integrity. - Asterisked column names. Most column names end in
*as delivered by DHL; preserved as-is.
Sample rows
Curated subset of columns (with names added for readability). The downloadable CSV is the raw DHL eCom format — 79 columns, no header row.Download
Download full sample CSV (1 HDR row + 20 DTL rows, 79 columns, no header row)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
Row markers
On
HDR rows, column index 2 carries the invoice number and index 11 carries the total. On DTL rows, the remaining columns below apply.
Shipment identification
Receiver address
Service and weight
Charges — base
Charges — special service (ZZWS)
FieldsZZWS1PRI_Dropoff* through ZZWS9PRI_NEW* carry special-service charges (dropoff, sort, stamp, machine, manifest, BPM, and reserved slots).