What a DPD integration gives you.
Shoppers receive tracking information within minutes of despatch, not hours. Your warehouse team prints labels in sequence without manual intervention or data re-entry.
Stock is decremented and invoices are generated only when DPD confirms pickup, aligning financial records with physical despatch and reducing reconciliation friction with ERP.
Address failures, oversells and tracking gaps are surfaced in a named queue before they cause customer complaints or logistics failures. Fulfilment teams know what to fix and when.
Service level, delivery window and special instructions are defined in your OMS or commerce configuration, not hardcoded in the integration. Changing rules does not require a deployment.
RMA labels are generated at point-of-return and returned parcels are tracked through DPD's network. Stock and financials see the return event when the parcel is received back at your warehouse.
Where a DPD integration earns its place.
If two or more of these are true, the integration usually pays for itself quickly.
Where off-the-shelf connectors fall short.
Vendor connectors are fine for simple cases. Here's where the real ones need more.
DPD does not govern which service level (Next Day, Express, etc.) applies to each shipment. Your commerce or OMS layer must define rules based on postcode, weight, deadline and price; DPD simply executes the instruction passed to it.
DPD offers address checking via a separate API, but the default integration does not auto-correct or reject invalid addresses. Malformed postcodes and incomplete addresses can slip through to label generation and cause delivery exceptions.
DPD does not broadcast tracking events in real time; you must either poll their API at intervals or configure webhooks. Gaps in polling frequency can leave customers without up-to-date tracking information during peak periods.
DPD supports RMA label generation, but the integration does not automatically detect returned parcels, validate restock eligibility or update inventory. Returns matching between DPD and your commerce system must be handled by OMS logic or manual intervention.
DPD returns label PDFs, but integrating with your warehouse thermal printers, label queues and print-on-demand logic is a separate build. Different warehouse sites may need different label formats and printer destinations.
Fulfilment teams do not know if a despatch failure was caused by address validation, label print queue backlog, DPD API timeout or missing carrier rules until the order is already late.
Where this integration sits in your estate.
DPD holds the commercial record. The iWeb integration layer manages the rules, mappings, monitoring and exceptions. The commerce platform presents the customer-facing experience. The estate map helps agree ownership before anything is built.
Commerce platform agnostic. Connect DPD across your entire technology stack.
- Tracking number and barcode generation
- Label PDF and printer output
- Transit and delivery event tracking
- Reverse logistics and return label API
- Carrier pickup confirmation
- Despatch instruction assembly (order lines, address, weight, special instructions)
- Carrier service selection rules (Next Day, Express, etc.)
- Order status mapping and customer tracking display
- RMA initiation and return label requests
- Exception handling and manual intervention workflows
Systems this integration usually sits next to.
Examples, not a closed list. iWeb is platform-agnostic on both sides: we wire this integration into whatever ecommerce platform and surrounding systems your estate already runs.
- Adobe Commerce
- Magento Open Source
- Shopify Plus
- BigCommerce
- Other storefronts
- ERP (inventory and invoice timing)
- OMS or order management layer (carrier rules and service selection)
- WMS or warehouse fulfilment system (pick-pack and label printing)
- Commerce order management (despatch instruction and tracking display)
- Inventory and stock management (decrement and recount on despatch and returns)
- Returns and RMA system (reverse label generation and parcel matching)
- Notification and customer account layer (tracking events and delivery status)
Not sure if this works with your stack?
Tell us what you’re using and what needs to connect. We’ll give you a straight view on what’s possible, what might be awkward, and the safest way to approach it.
The data flows we wire.
Each flow has a direction and an owner. We agree both before a line of code is written.
How iWeb configures the integration around your business.
Same method on every integration. The decisions come before the code.
- 01Shipment instruction mapping and service selection
We design the flow from commerce order entry through carrier service rules to DPD shipment creation. Weight, postcode and lead time are used to select the right DPD service; special instructions (fragile, signature, depot delivery) are passed correctly.
- 02Label generation and printer integration
We connect DPD label PDFs to your warehouse print queues, thermal printers and pick-pack software. We handle label reprinting, print failure recovery and multiple label formats per site or service type.
- 03Tracking event ingestion and order status synchronisation
We ingest DPD tracking events via webhook or polling and map them to commerce order status, customer notifications and ERP delivery record triggers. We handle event idempotency and out-of-sequence arrivals.
- 04Exception queue and remediation workflow
We surface address validation failures, API timeouts, oversells across multiple carriers, and unacknowledged despatch records in a named queue. Fulfilment teams and integration owners know what broke and how to recover.
- 05Reverse logistics and RMA label generation
We integrate DPD's return label API so that RMA initiation automatically triggers a reverse label. We match returned parcels to the original order and coordinate stock recount and financial adjustment with ERP.
- 06Monitoring, alerting and integration health
We build dashboards for despatch volume, tracking lag, exception queue depth and DPD API availability. We alert on delivery promise misses, label print failures and unshipped orders held beyond SLA.
Who owns what.
The single most important table in any integration. One system owns each field; everything else reads it.
Built this before
iWeb has integrated DPD into commerce and ERP estates across retail, foodservice and logistics operators. We understand how despatch instructions, label generation and tracking events flow between your order, warehouse and carrier systems.
What we test before launch.
Every one of these is rehearsed before a customer ever sees the integration.
Common risks and where they bite.
We name these on day one. A risk written down is a risk you can plan around.
If the integration does not enforce postcode format or validate addresses against DPD's database before label creation, invalid or incomplete addresses slip through. The parcel is returned to your warehouse as undeliverable and the customer complains after the promised delivery date has passed.
If tracking is polled at fixed intervals, events may arrive out of sequence or be lost during peak despatch windows. Customers see stale or wrong status; finance cannot reconcile invoice timing to actual despatch.
If the integration does not handle label failures, reprints or printer outages smoothly, warehouse staff are forced to wait or manually resubmit to DPD. Pick-pack stations back up and despatch SLA slips.
If carrier rules (Next Day vs Express, signature requirements, depot delivery) are embedded in the integration code, changing them requires a deployment and testing. Peak season rule changes slip or are missed.
If returned parcels from DPD are not matched back to the original order and RMA, stock recount and financial adjustment are delayed or misaligned. Inventory records diverge from physical stock and credit notes are issued late.
If the integration does not implement timeout handling, circuit breakers or fallback label generation (e.g., generic print-at-ship labels), a DPD API outage stops all despatch. Orders pile up and delivery promises are missed.
Relevant services and sectors.
Common questions about DPD integrations.
How does carrier service selection work? Can we use DPD Next Day for some orders and Express for others?
Service selection rules live in your commerce order or OMS layer, not in DPD. You define rules based on postcode area, parcel weight, order total and delivery deadline; the integration passes the selected service to DPD at despatch. Changing service rules does not require integration changes, only OMS configuration updates.
What happens if DPD's API is down? Can we still despatch orders?
If DPD is unreachable, the integration should pause despatch and surface the error in an exception queue. You can configure a fallback such as generic label printing at the warehouse, but this requires explicit design. Without a fallback, despatch stops until DPD service is restored.
How quickly do tracking events appear in customer accounts after despatch?
Tracking freshness depends on the ingestion method. Webhook integration updates tracking within seconds of DPD events; polling-based integration may lag by 15-60 minutes depending on poll frequency. Peak despatch periods may cause polling delays if the integration is not tuned for throughput.
Can we use multiple carriers (DPD, Royal Mail, UPS, etc.) from one integration?
Yes. The integration routes shipments to DPD based on carrier selection rules; other carriers are handled via separate integrations. Your OMS or commerce layer orchestrates which carrier receives each shipment based on service, cost and destination.
How are returned parcels matched back to the original order for stock recount?
Returned parcel tracking numbers must be linked to the original order reference in your system. This typically happens when the customer initiates the RMA and provides the original order number. The integration tracks the return parcel through DPD and triggers stock recount and credit note generation when the parcel is received back at your warehouse.
What address validation does DPD provide? Can we prevent invalid postcodes from creating labels?
DPD offers postcode validation via a separate API call. The integration can be configured to validate addresses before label creation, but this is not automatic. If address validation is not enforced, invalid or incomplete addresses can slip through and cause delivery failures.
How do we handle special instructions like 'signature required' or 'leave in safe place'?
Special instructions are defined in your commerce or OMS order record and passed to DPD in the despatch instruction. DPD respects these instructions during delivery. If instructions are not propagated correctly, DPD delivers using default behaviour (e.g., signature not required, no safe place delivery).
Can we reprint a label if the first one is damaged or lost?
Yes. The integration can resubmit the shipment to DPD with the same order reference, and DPD will regenerate the label with the same tracking number. You should test this path before peak season so warehouse staff know how to trigger reprints without causing duplicate shipments.
How does the integration handle delivery promise misses (e.g., Next Day delivery that arrives late)?
DPD provides tracking status, but the integration does not automatically detect or escalate delivery promise failures. You must define SLA rules in your monitoring layer (e.g., flag if tracking shows 'not delivered' after the promised date). Late deliveries are then surfaced for customer service follow-up.
What happens to despatch records if the connection between commerce and DPD is interrupted mid-shipment?
If the connection breaks after DPD assigns a tracking number but before confirmation reaches commerce, the order can become orphaned. The integration should implement idempotency keys and reconciliation queries to detect and recover orphaned shipments before they cause invoice or stock reconciliation errors.
How do we split inventory across multiple fulfilment sites or 3PLs if only some use DPD?
Your OMS or inventory layer determines which site ships each order, and the integration sends the appropriate instruction to DPD (for DPD-enabled sites) or another carrier (for other sites). Stock is decremented and despatch instructions are routed based on this site selection logic.
Can DPD labels be printed at multiple warehouse locations with different thermal printer settings?
Yes. The integration can be configured to route labels to different print queues or printer destinations based on warehouse location or service type. However, this requires explicit print-routing logic in the integration or WMS, not built into DPD.
How is the timing of invoice generation handled in ERP? Is it triggered when we despatch or when DPD picks up?
This depends on your business model. The integration should trigger invoice generation when DPD confirms pickup (despatch confirmation), not when the order is packed. This aligns ERP invoice timing with actual despatch and reduces reconciliation friction. Your ERP and fulfilment process should be configured to match this timing.
What monitoring and alerting should we set up to ensure the integration stays healthy?
Monitor despatch volume (orders sent to DPD per hour), label generation success rate, tracking event ingestion lag, exception queue depth, and DPD API availability. Alert on delivery promise misses, label print failures, unshipped orders older than SLA, and repeated API timeouts. Tracking lag beyond your polling interval is also a sign of capacity issues.


