Netresearch Blog


Our blog contains all news and insights. We make our knowledge available, give tips, and inform you about everything that happens inside and outside our company.

DHL Shipping & Magento - Shipping Is Hard | PART 2

Shipping Is Hard

Adding carrier features around rates display in the checkout and label retrieval for shipments has always been a challenge. The Magento platform's shipping and fulfillment process has been paid little attention to. Magento 1 kicked off with some rudimentary carrier integrations (DHL US, FedEx, UPS, USPS) and stuck with that up to the present day. The framework is extensible and allows to add further carriers ("shipping methods") in the same way, but important carrier features have always been missing. Typically, carriers offer value-added services around their shipping products, such as evening delivery, signature confirmation, age verification, and so on. This concept was never added to Magento; every carrier integration has to implement its own custom way of offering additional services to customers and merchants. Another shortcoming is that parcels can only be delivered to a street address. The concept of picking up a parcel at some other postal facility such as post office, parcel shop, or parcel locker was never added. Again, this leads to every carrier implementing their own (incompatible) data model and UI flow for the same common use-case. Shipments hold only one (multi-page) PDF/PNG document for all packages; ZPL and other document formats are not supported. There is no bulk operation, courier dispatch is not in scope, not even in enterprise/commerce edition. Separation of shipping cost (which the merchant pays to the parcel service) and shipping price (i.e. what the customer pays to the merchant) is not made. Shipment status (packing slip created, picked, packed, booked, picked up, delivered, …) – only a dead stub in the Magento code.

The result of such core framework inadequacies is that carrier integrations take shortcuts, bypass the official way of adding shipping capabilities to the platform, accept compatibility issues with other extensions. DHL Intraship made no exception. In hindsight, this was for a good reason: With its successor, DHL Versenden for Magento 1, we decided to stick closer to how shipping is supposed to be done in Magento. Merchant feedback through the Netresearch extension support channel was devastating though. They were loathing the Magento core packaging popup (the form for adding items to packages), mainly because it takes a crazy amount of clicks to get through and again, misses important inputs for additional services and cross-border/customs declarations. Adding these to the tiny popup made it even less usable.

The deficient state of shipping in Magento becomes only more apparent when looking at the Return Merchandise Authorization (RMA) feature. The process of authorizing returns and obtaining return shipment labels is extremely complicated, buggy, poorly made, and utilizes the same unpopular packaging popup like regular shipping does.

Magento 2 – A new era

The development of new DHL shipping extensions was not only driven by API changes. A major impact was the dawn of Magento 2. We were familiar with the DHL web services and the Magento shipping process (which did not change between versions) and we were extremely happy that DHL had trust in our capabilities to keep up with the new technology. This was how we started our very first Magento 2 extension project. We made our way through DI configuration, auto-generated classes, test frameworks, UI components, checkout modifications (ew…) and even the – soon to be deprecated – entity manager. Somehow an ETA was leaked but the release got delayed for various reasons within and beyond our control while merchants were eagerly awaiting the extension to get their fulfillment done on the new platform. Eventually, the first public version DHL Shipping 0.1.0 was released in March 2017.

Read in the next episodes about conceptual backgrounds, the challenges within the system, concrete use cases and features as well as our thoughts and approaches to tackle them. The next part - coming soon - introduces the latest iteration of DHL Shipping, built on an all new foundation that was designed to flexibly handle current and future requirements.

It'll be worth it. Stay tuned.

Read more about "DHL Shipping & Magento"

Extensions for Magento built by Netresearch

for Magento 1

  • DHL Shipping available on GitHub
  • DHL Online Returns available on GitHub
  • DHL Location Finder available on GitHub

for Magento 2

  • DHL Shipping (new official)
    available on Marketplace and GitHub
    features Returns and Location Finder already included
Share article:

New Blogposts

Continous Testing: Molecule und Vagrant

By Sebastian Mendel genannt Mendelsohn

How Ansible, Molecule and Vagrant are revolutionizing testing

Make Ansible automations testable and detect deployment errors earlier? Discover how to automate…

Read more
Netresearch: TYPO3 Developer Days Karlsruhe 2022
By Tobias Hein
August 4-7, 2022: TYPO3 Developer Days in Karlsruhe

Netresearch war dieses Jahr mit zwei Pro-Sessions bei den TYPO3 Developer Days in Karlsruhe…

Read more
20 years of AIDA customer relationship
By Caroline Kuhn
We celebrate 20 years cooperation with AIDA

Communication, expertise and trust play a major role in the successful implementation of customer…

Read more
Livegang SSO-Anbindung with Keycloak for Lehrerwelt
By Thomas Schöne
SSO connection with Keycloak for TYPO3 and Magento

For our customer AAP Lehrerwelt GmbH, which is part of the Klett Group, we implemented a…

Read more