DHL for WooCommerce


DHL’s official extension for WooCommerce on WordPress. Manage your national and international shipments easily.
The “DHL for WooCommerce” – plugin is compatible with (whether the plugin is available in your country see here.):
* DHL Paket (Germany)
* DHL Parcel (Benelux)
* Deutsche Post International


  1. Fast and easy label creation of your national and international orders.
  2. Automatically receive a tracking code for each label.
  3. Use additional delivery services as e.g. the visual check of age available via the API of DHL Paket or Cash on delivery in selected countries.
  4. Offer Preferred Delivery Options to your customers via “Wunschpaket”. The customer has the opportunity to select a specific time and date for his delivery.
  5. Customization Enable/disable or edit the names of services and set up the handling cost for each DHL shipping service.
  6. Experience premium support, timely compatibility updates and bug fixes.
  7. The “print only if codeable” – option you can activate in the DHL settings will check whether the address is correct or not before generating the label.
  8. Bulk Label Creation allows you to create multiple DHL Labels at once.
  9. Return Parcel Handling allows you to print a return label with a “return address” so your customer can return the shipment easily.
  10. For Parcel Benelux, this plugin has certified compatibility with WMPL that enables you to leverage multilingual capabilities. Click here for further information.

Availability by countries and prerequisites

Based on your sender country and shipping preference, different access credentials for DHL Paket and DHL Parcel Europe are required for the configuration:

DHL Paket for Germany log in with your business customer portal credentials. (not a customer yet? Click here for DHL Paket)

DHL Parcel for Benelux, please self-generate your API credentials with your business customer portal account. (not a customer yet? Click here for DHL Parcel Benelux).

Deutsche Post International: ask your sales contact for credentials for this plugin. (not a customer yet? Click here).

Installation & Configuration

  1. Upload the downloaded plugin files to your /wp-content/plugins/DHL-for-WooCommerce directory, OR install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress.
  3. Go to WooCommerce–>Settings->Shipping and select the upper DHL unit (depending on your home country this is DHL Paket, DHL (Parcel) for WooCommerce or Deutsche Post) to configure the plugin.

…for DHL Paket (Germany): you need your EKP number (10 digits) and add the participation numbers to the respective products available (you will find the participation numbers in the DHL business customer portal).
…for DHL Parcel Europe (Benelux): you need your self-generated API credentials (UserID and Key). Push the “Test connection” and the fields below will be prefilled automatically.
…for Deutsche Post International: you need your customer account number (EKP) and API credentials.


More detailed instructions on how to set up your store and configure it are consolidated on on the page

Click here for our FAQs or check out our integration page with alternative integration options.

Additional Information

  • The plugin contains a tracking pixel due to reporting purposes of preferred services. Its output is the URL where the preferred services are integrated via plugin as well as the number of plugin calls. There is no personal data created or collected.
  • In case you like to offer direct shipment to DHL parcelshops or post offices, please note the following phrase of the DHL Paket Service Specifications (annex to the business customer contract): “The sender guarantees that he is entitled to transmit his customers’ e-mail addresses to DHL for the purpose of the parcel notification.”
  • A “Google Maps API Key” is required for a complete installation.


6 februarie 2020
Seit dem neusten Update von Woocomerce wird automatisch andere Lieferadresse voreingestellt. Zahlung per Nachnahme funktionert auch nicht, habe mehrfach den Support angeschrieben, aber dort herscht nur das große Schweigen, man könnte sagen typischer DHLService (sprich nicht vorhanden)
28 ianuarie 2020
Packstation not working seit Jahren die Fehlermeldung, dass eine Postnummer eingetragen sein muss obwohl diese korrekt eingetragen ist. Aus dem Backend ist somit kein Etikett möglich. Der Support schweigt still, der angebliche Workaround geht schon lange nicht mehr.
20 august 2019
The plugins works fine, but some times issues can't be avoided. It's very helpful to have a great support then 🙂
12 iulie 2019
We spent days trying to figure out why we couldn't set the nexus for tax calculation properly. This plugin was interfering with setting store location properly. We were not able to select US states. Finally on deactivating it worked. Why should this plugin even bother with store location?
Citește toate cele 20 de recenzii

Contributori și dezvoltatori

„DHL for WooCommerce” este un software open-source. La acest modul au contribuit următoarele persoane.


Istoric modificări


  • DHL Paket: Fix label creation error message to display correctly


  • DHL Parcel: Added a postnumber input pop-up for Packstations that require it with the mapless locator
  • DHL Parcel: Fixed an issue with logged in users not seeing shipping methods in the checkout


  • Deutsche Post: Fix item level value formatting
  • Bug Fix: WC 4.0 compatibility with „Test Connection” setting


  • Deutsche Post: Add merchant phone number for „Express” customers
  • Deutsche Post: Modify settings descriptions
  • Update „WC tested up to” „4.0”


  • DHL Parcel: Added an error message when trying to create a label without country information
  • DHL Parcel: Added download and print button after creating labels in bulk
  • DHL Parcel: Added customizable track & trace text
  • DHL Parcel: Added a fallback ServicePoint selector when no Google Maps key is provided
  • DHL Parcel: Added secondary reference service
  • DHL Parcel: Updated number parsing from address data
  • DHL Parcel: Updated error responses to include detail information
  • DHL Parcel: Updated evening detection for more dynamic delivery times
  • DHL Parcel: Fixed German packStations being selected by default
  • DHL Parcel: Fixed an issue with same day delivery when combined with delivery times
  • DHL Parcel: Removed cash on delivery service


  • Deutsche Post: Addition of the “Contents Type” required for international orders outside of EU.
  • Deutsche Post: Addition of yellow brand color on order metaboxes.
  • Deutsche Post: Small changes in the text on the order metaboxes.
  • Deutsche Post: Sanitization of fields to the API to ensure they comply with the API specs.
  • Deutsche Post: Pass product id instead of product SKU to API.


  • DHL Paket: Fix conflict with PDFMerger libraries


  • DHL Paket: Bug fix – If PDFMerge does not exist for cross-border label return without customs docs
  • DHL Paket: Bug fix – Verify setting exists to not cause errors
  • DHL Paket: Bug fix – Add new version in SOAP call


  • DHL Paket: Paket SOAP API v3.0 update
  • DHL Paket: Added Parcel Outlet Routing
  • DHL Paket: Added default setting for each service
  • DHL Paket: Added „Email Notification” setting to enable user optin on the checkout page
  • DHL Paket: Added Google Maps enable/disable option on frontend
  • DHL Paket: Added setting to set an order to „Completed” once a label is generated
  • DHL Paket: Added setting to add tracking information in „Completed” email
  • DHL Paket: Added setting for additional weight
  • DHL Paket: Added hook to support „Advanced Shipment Tracking for WooCommerce” plugin
  • DHL Paket: Added order id as reference in the label
  • DHL Paket: Added text to preferred day and time if no options returned from the API
  • DHL Paket: Bug fix – added shipping fees to customs info
  • DHL Paket: Bug fix – COD outside Germany
  • DHL Paket: Bug fix – bulk label causing 500 error when hundreds of orders selected
  • DHL Paket: Bug fix – created „FPDF” loader to avoid conflict with other plugins loading same library
  • DHL Paket: Bug fix – „pr_shipping_dhl_label_created” being called incorrectly


  • DHL Parcel: Restored street number validation on addresses based on feedback
  • DHL Parcel: Added a setting to turn off street number validation (by default on)
  • DHL Parcel: Updated delivery times to show evening times based on starting time 17:00 and higher


  • DHL Parcel: Added a setting to change order status after label creation
  • DHL Parcel: Fixed an issue with the settings menu jumping on certain browsers
  • DHL Parcel: Fixed an issue with unavailable service combinations on bulk creation
  • DHL Parcel: Removed number validation on addresses due to some addresses not requiring it


  • DHL Parcel: Fixed issue with package rate not being properly calculated based on logged in users
  • DHL Parcel: Added product based shipping restrictions
  • DHL Parcel: Fixed an issue with shipping time windows


  • DHL Parcel: Fixed custom shipping methods not sorting after logging in
  • DHL Parcel: Fixed an issue with certain sites not saving the settings
  • DHL Parcel: Fixed an issue causing a warning error


  • DHL Paket: Add filters to override DHL products


  • DHL Paket: Add filter to override base country


  • DHL Parcel: Updated delivery times to correctly calculate with timezone settings
  • DHL Parcel: Packstation postnumber input limited to DE
  • DHL Parcel: Fixed sort position setting not working for shipping zones
  • DHL Parcel: Fixed an issue where orders weren’t linked with DHL order data


  • Disabled Deutsche Post International (DPI) for DHL Parcel countries


  • Add Deutsche Post International (DPI) for European countries
  • DHL Paket: Austria is no longer supported by DHL Paket, added to DPI


  • DHL Parcel: Added the age check 18+ service
  • DHL Parcel: Updated Packstation code input text
  • DHL Parcel: Updated structure of settings with a new tab for label settings
  • DHL Parcel: Updated Google Maps text for more clarification
  • DHL Parcel: Removed input box for delivery times in the checkout
  • DHL Parcel: Added developer methods to update shipment requests


  • DHL Paket: Verify buffer exists before emptying it
  • DHL eCommerce: Remove „global” variable that overrides US states


  • DHL Paket: Switch from „ob_get_clean” to „ob_clean” since latter does not close the buffer.


  • DHL Parcel: Added support for Direct Label Printing
  • DHL Parcel: Added setting for maximum number of days shown for delivery times
  • DHL Parcel: Updated bulk settings to also work with the open in new window setting
  • DHL Parcel: Updated setting for combined labels to display page options only (A4)
  • DHL Parcel: Updated translations to no longer use system codes
  • DHL Parcel: Updated country check in the plugin
  • DHL Parcel: Updated ServicePoint locator to support Packstation code input
  • DHL Parcel: Updated code for increased compatibility with WooCommerce 2.6 (or higher)
  • DHL Parcel: Removed placeholder Google Maps key


  • DHL Paket: Fix corrupted file when clicking „Download Label” in edit order, needed to flush output buffer.


  • DHL Parcel: Fixed delivery times not loading for newest WooCommerce release
  • DHL Parcel: Fixed an issue where postal code is case sensitive


  • DHL Parcel: Fixed pricing filters rounding prices


  • DHL Parcel: Added pricing filters for weight and cart totals
  • DHL Parcel: Added multiple labels per page option for bulk printing
  • DHL Parcel: Added an addition field for addresses for address additions after the street and number
  • DHL Parcel: Fixed an issue for addresses starting with numbers first
  • DHL Parcel: Fixed ServicePoint not always searching for the selected country
  • DHL Parcel: Fixed an issue where return labels had incorrect hide shipper information


  • DHL Paket: Add tracking setting, to enable/disable services tracking on the frontend


  • DHL Parcel: Updated the ServicePoint locator to load from DHL’s own servers instead of third party
  • DHL Parcel: Updated the ServicePoint locator to select the closest ServicePoint automatically
  • DHL Parcel: Added developer filters for price manipulation
  • DHL Parcel: Fixed delivery times API call to not send data when no postal code is set
  • DHL Parcel: Fixed tax adjustment calculation


  • DHL Parcel: Added missing files


  • DHL Parcel: Fixed automatic order id reference not being added for bulk
  • DHL Parcel: Fixed ServicePoint locator not loading
  • DHL Parcel: Added developer hooks to customise templates


  • DHL Paket: Ensure „address 2” is never empty


  • DHL Parcel: Updated feedback information to be multilingual
  • DHL Parcel: Shipping methods can be sorted by default, price or custom order
  • DHL Parcel: Added a setting to automatically create return labels
  • DHL Parcel: Added a setting to automatically add order numbers as reference
  • DHL Parcel: Updated the API endpoint for label creation
  • DHL Parcel: Updated translations
  • DHL Parcel: Fixed close button not showing on certain websites


  • DHL Paket: Add CN23/CP71 forms to returned shipping label
  • DHL Paket: Ensure receiver „streetNumber” is a numeric value
  • DHL eCommerce: Fix „declaredValue” to include product discounts


  • DHL eCommerce: Fix sub string to use ‘UTF-8’ for Asian chars
  • DHL Paket: Fix delete meta data before API call


  • DHL eCommerce: Fix sub string to use ‘UTF-8’ for Asian chars
  • DHL Paket: Fix delete meta data before API call


  • DHL Parcel: Fixed an issue with delivery times not always loading in the right order
  • DHL Parcel: Fixed an issue that causes Customizer not to load on specific themes


  • DHL Parcel: Updated bulk label creation from 1 type to each type enable-able separately
  • DHL Parcel: Added mailbox option for bulk label creation
  • DHL Parcel: Added optional fields to replace shipping text in the checkout
  • DHL Parcel: Added Same Day, No Neighbour shipping for checkout
  • DHL Parcel: Added Evening, No Neighbour shipping for checkout
  • DHL Parcel: Added delivery times for No Neighbour shipping methods
  • DHL Parcel: Fixed a compatibility issue with third party plugins


  • DHL Paket: Validation fixes
  • Readme text changes


  • DHL Parcel: Added selectable delivery times based on location
  • DHL Parcel: Added an automatic switch between Same Day / Home and Evening delivery for delivery times
  • DHL Parcel: Added a filter to sort orders based on estimated shipping days in the admin
  • DHL Parcel: Added cutoff times for delivery times
  • DHL Parcel: Added days needed for shipping for delivery times
  • DHL Parcel: Added colored indicators for estimated shipping days in the admin
  • DHL Parcel: Added configurable shipping days for delivery times


  • DHL Parcel: Enabled Switzerland


  • DHL Parcel: Additional return labels can be created alongside regular labels
  • DHL Parcel: Added settings to set a default address for return labels
  • DHL Parcel: Added bulk label creation and bulk label printing
  • DHL Parcel: Added a setting to set the default size preference for bulk label creation
  • DHL Parcel: Added the service option to hide shipping address
  • DHL Parcel: Added settings to set a default address when hiding sender address


  • Bug Fix – DHL Paket: Fix JS errors on checkout page, by validating fields exist first


  • DHL Parcel: Added Usabilla feedback button to the plugin settings page
  • DHL Parcel: Added an option to calculate free shipping after applying discounts
  • DHL Parcel: Updated free shipping settings to be either free, or for discounts
  • DHL Parcel: Each delivery option can now be seperately set to be eligable for free or discounted shipping
  • DHL Parcel: Each delivery option has now it’s own free or discounted pricing
  • DHL Parcel: Enabled most shipping options available in My DHL Platform.
  • DHL Parcel: ServicePoint can now be selected and changed in the admin, whether a customer has selected a ServicePoint or not
  • DHL Parcel: Updated label creation interface to be in-line with My DHL Platform
  • DHL Parcel: Updated ServicePoint Locator to use the unified React Component version
  • DHL eCommerce: Bulk generate labels for all formats
  • DHL eCommerce: Force DHL product in bulk label generation
  • DHL eCommerce: Add fixed weight to package in settings
  • DHL eCommerce: Set label format settings
  • DHL eCommerce: Set „Incoterms” in order
  • DHL eCommerce: Add COD in order
  • DHL eCommerce: Add Vietnam states to WooCommerce


  • Bug fix: Always place shipper, receiver and return „company name” first in address
  • Bug fix: Only validate locations if „ship to different address” checkbox is checked


  • Bug fix: Use ‘jQuery’ instead of ‘$’ on frontend script


  • Bug fix: Default to ‘customer’ order note instead of ‘private’


  • Bug fix: Shipper street number can include characters


  • DHL Paket: New feature – Added Parcel Shop Finder for „Packstation” and „Branch”, with Google map.
  • DHL Paket: New feature – Preferred day and time set dynamically based on postcode
  • DHL Paket: New feature – Bulk create labels in order view
  • DHL Paket: New feature – Create return label option
  • DHL Paket: New feature – Added „Print Only If Codeable” service
  • DHL Paket: New feature – Added „Ident-Check” service
  • DHL Paket: New feature – Making tracking note private setting so it does not send email to customer
  • DHL Paket: Save all labels in their own folder i.e. „/wp-content/uploads/woocommerce_dhl_label”


  • Bug fix – DHL eCommerce: Deleted products cause exception error on edit order


  • DHL Parcel: Version number increased to load updated CSS and JS files


  • DHL Parcel: Shipping zones added
  • DHL Parcel: Checkout will now only show available shipping methods based on shopper address
  • DHL Parcel: Added missing customer fields that prevented customers from receiving certain automated notifications
  • DHL Parcel: Signature can be enabled to be checked by default (if available)
  • DHL Parcel: Track & trace link updated to include postcode, to show full data


  • Validation fix – Validate product exists before adding weight
  • Validation fix – Validate shipping address state exists before modifying it


  • Bug fix – DHL Parcel: Removed empty ServicePoint API calls
  • Bug fix – DHL Parcel: Now properly returns a visible error when street + number cannot be parsed
  • Enhancement – DHL Parcel: Added optional track & trace information to WooCommerce order completion mail


  • Enhancement: Send order currency and price instead of shop currency and product price to support multi-currency plugins


  • Sending „email” field via DHL Paket API to support DHL AT
  • Bug fix – Exception handling for payment gateway check


  • Bug fix – DHL Paket: Tooltip conflict with bootstrap tooltip
  • Bug fix – DHL Paket: Remove * text if preferred day and time not displayed in the frontend
  • Bug fix – DHL eCommerce: Fix conflict between ‘PayPal Express’ and plugin for DHL eCommerce merchants only
  • Bug fix – DHL eCommerce: Fix settings links
  • Warning fix: ‘payment_method’ array key warning
  • Enhancement: Add weight filter ‘pr_shipping_dhl_order_weight’
  • Enhancement – DHL Paket: Remove ‘Test Connection’ button, since not accurate


  • Bug fix – DHL Parcel: Fixed Dutch translation loading bug
  • Enhancement – DHL Parcel: Added track & trace component to account page, can be enabled in settings
  • Enhancement – DHL Parcel: Added postcode sensitivity fix due to change in the API validation
  • Enhancement – DHL Parcel: Added the ability to debug by mail, can be enabled in settings
  • Enhancement – DHL Parcel: Added WordPress application tag to labels


  • Enhancement – Modify log messages


  • Enhancement – DHL eCommerce: increase POST timeout to 30 seconds instead of 5


  • Bug fix – DHL Paket: Fix special field e.g. &amp in ship address


  • Bug fix – DHL Paket: Subscription renewal action, parameters incorrect
  • Bug fix – DHL eCommerce: Delete token transient on saved settings to avoid conflict if connection type changed


  • Enhancement – DHL Paket: Remove „preferred_none” on thank you page
  • Enhancement – DHL Paket: Do not display DHL table in checkout page, if ALL preferred services are disabled
  • Enhancement – DHL eCommerce: Rename interational products


  • DHL Paket – Do not require export information for shipping within the European Union


  • Create label metabox not displaying bug fix


  • Bug fix – DHL Parcel: Excess resource loading caused errors and incompatibilities. Moved the loading logic to an earlier state.


  • Bug fix – DHL Paket: Fix „streetNumber” SOAP error, by assuming that the last part of „Address 1” is the street number and sending separately
  • Bug fix – DHL Paket: Allow characters in „Street Address Number” in DHL Paket settings panel


  • Bug fix – DHL Paket: Fix duplicate payment details in thank you page and email
  • Bug fix – DHL Paket : Max items limit of 6 should only be for international shipments
  • Warning fix – DHL Paket: Order details does not exist for DHL Paket
  • Warning fix: If weight not numeric will throw a warning


  • First public release