Understanding Status Codes
Anyone shipping with DHL in fulfillment encounters status messages daily – in the business customer portal, in public shipment tracking, or as structured data via the tracking API. These messages are based on status codes and event codes that document every scan and every system entry in the DHL infrastructure. For online merchants, warehouse operators, and customer service teams, understanding these codes is crucial: they distinguish normal transport phases from real problems, drive automated customer notifications, and provide the basis for claims and SLA reporting.
This guide explains how DHL status codes are structured, which codes typically occur in which phase of a shipment, and how to integrate them meaningfully into shop systems, WMS, and shipping software.
What Are DHL Status Codes?
A status code at DHL is a standardized value that describes the processing status of a shipment. It is created when a barcode is read at a scan point – parcel shop, sorting center, delivery depot, Packstation – or when a system entry is generated. Each code is part of a tracking event with timestamp, location, and optional additional information.
Important for merchants: What customers see in the DHL app as simplified text ("Out for delivery", "Delivered") is often a technical code or internal event designation in the background. Via the DHL API and Shop Integration, you receive this raw data in structured form – and must translate it into understandable customer statuses for your system.
Status Code, Event, and Customer Status – The Three Levels
In day-to-day fulfillment, three terms are often conflated. For clean system integration, you should keep them separate:
- Event code (carrier raw data): Technical designation from DHL API or portal export, e.g. with granularity by scan type and facility.
- Aggregated shipment status: The current snapshot – usually the most recent relevant event code that DHL displays as the main status.
- Normalized shop status: Your own simplified category (e.g. "In transit", "Delivered", "Problem") that customers see in emails and in their account.
Three Display Levels Compared
A detailed classification of events and lifecycle can be found in the glossary DHL Shipment Status and Tracking Events as well as in the cross-carrier article Understanding Tracking Events.
Status Codes by Shipment Phase
DHL shipments typically go through fixed phases. The following overview assigns the most common status designations (customer view/portal) to the phases and provides recommended actions for merchants.
DHL Status Code Lifecycle
The Most Important Status Codes in Detail
Pre-registration: Label created, parcel not yet with DHL
As soon as you create a label in the business customer portal or via API, DHL often reports "Electronic order data recorded" or "Shipment data available". This status code means: The tracking number is registered in the system, but no physical scan has occurred yet.
Typical error source in e-commerce: The shop immediately sends a "Your parcel is on its way" email even though the parcel is still on the packing table. Customers then see no progress for days – and support is flooded with WISMO inquiries.
Acceptance and Transit: Shipment is active
The first physically relevant code appears when the parcel is handed over to DHL – through pickup, drop-off at a parcel shop, or depot scan. Wording such as "Shipment handed over", "Accepted at parcel center", or "The shipment has been processed" marks the start of measurable transit time.
Transit codes document sorting and further transport between sorting centers. For standard parcel shipping, multiple transit events are normal and no cause for concern. Only if no new code follows over a longer period (regionally typically 2–3 business days for domestic shipments, depending on the product) should you follow up.
Delivery and Pickup: Success or last mile
"Out for delivery" is one of the most valuable status codes for customer communication: The parcel is on the delivery vehicle, and delivery usually takes place on the same day. Shops that only send two emails (shipping + delivery) should at least cover this phase.
For Packstation or branch delivery, codes such as "Ready for pickup" or "The shipment is ready for pickup" appear. The recipient needs pickup code and deadline – without proactive information, the risk increases that the parcel will be returned.
Exception Codes: When action is required
Not every unusual text is an emergency – but the following status codes should be stored in your system as alert events:
- Delivery attempt unsuccessful – Recipient not available
- Recipient cannot be determined / Address incomplete
- Shipment being returned / Return to sender
- Customs clearance (for international shipments – can delay transit)
- Damaged or Contents inspected (rare, but relevant for claims)
Mapping Status Codes in the API and Shop
For automated fulfillment, the DHL tracking API provides events with technical codes. Your shipping software should maintain a mapping table: store raw events, normalize to internal categories, filter pre-registration, avoid duplicates, and log unknown codes instead of triggering system errors.
Event Mapping in the Shop
Technical basics of integration: DHL API and Shop Integration. Broader context: DHL Shipment Status and Tracking.
Practical Example: Typical Code Sequence
A domestic shipment with DHL Paket often shows: Electronic order data recorded → Shipment handed over → At parcel center → Out for delivery → Delivered. Communication-relevant for customers are mainly acceptance, delivery preparation, and delivery – your mapping must reliably recognize these codes.
Checklist: Status Codes in the Fulfillment Process
- Mapping table created for all relevant DHL events
- Pre-registration codes separated from actual shipping events
- Automatic email for "Out for delivery" enabled
- Exception codes trigger internal alerts (email, Slack, ticket)
- Raw events stored for at least 90 days for claims
- Unknown codes are logged and reviewed weekly
- Customer service has access to shipment history in business customer portal
- Marketplace tracking updates (Amazon, Otto, etc.) linked to the same codes
Avoiding Common Misunderstandings
- "Electronic order data recorded" ≠ parcel shipped – Only the acceptance code means physical handover.
- "In processing" in transit ≠ delay – Generic wording during sorting.
- "Delivered" with neighbor delivery – Details may differ in Proof of Delivery and POD.
- Status stagnates on weekends – Only check after usual transit time plus buffer.
Deriving KPIs from Status Codes
Status codes can be used to derive operational metrics: Time to First Scan (label to acceptance), Transit Time (acceptance to delivery), Exception Rate (share of exception codes), and First-Attempt Delivery Rate (delivery without exception on first attempt).
Related Topics
- DHL Shipment Status and Tracking
- DHL Shipment Status and Tracking Events
- Understanding Tracking Events
- DHL API and Shop Integration
- Tracking Number and Tracking
Last updated: July 6, 2026