PrestaShop shipping: InPost lockers, DPD and DHL labels made easy

Customers who cannot find a convenient delivery option often leave without buying. Good PrestaShop shipping comes down to four things: the right carriers set up in Shipping > Carriers, a parcel locker map at checkout if you sell to Poland (InPost is the leading locker network there), labels generated straight from your order list instead of retyping addresses into a courier portal, and a tracking link in the shipping email. Add a free shipping threshold slightly above your average order value and shipping starts working for your revenue, not against it. Below is the setup step by step, with the mistakes we see most often.

What delivery options do customers expect?

In Poland, parcel lockers have become the default choice for many shoppers: collection at any time, no waiting for a courier and usually a lower price than home delivery. InPost runs the largest locker network there (its lockers are known as Paczkomaty), and the company also operates lockers in several other European countries. If you ship to Polish customers, a locker option is close to expected.

Couriers such as DPD and DHL remain essential for larger parcels, business orders and international shipments, so most stores offer at least a locker or pickup point and a courier.

When customers see the shipping cost matters too. Baymard Institute has for years listed unexpected extra costs (shipping, taxes, fees) as the most common reason for cart abandonment. If that sounds familiar, read our guide on how to recover abandoned carts in PrestaShop. For shipping, the lesson is simple: show delivery options and costs early, not on the last step. Delivery time matters too: if you dispatch orders the same day, say so on the product page. The Same-Day Dispatch Countdown module shows how long is left to order for dispatch today and, on days off and holidays, the next dispatch day.

How do you set up a carrier in PrestaShop?

Every delivery method in PrestaShop is a separate carrier. Modules usually create it for you, but its settings decide the price and whether the option appears at checkout.

Go to Shipping > Carriers. PrestaShop 1.7 and 8 use a multi-step wizard, PrestaShop 9 a single form with sections; the fields are much the same:

  • Carrier name and transit time shown to the customer at checkout, for example "InPost locker" and "1–2 business days".
  • Tracking URL: the carrier's tracking page with @ where the tracking number goes. PrestaShop replaces it with the number from the order.
  • Zones and costs: which zones the carrier serves and whether the price depends on weight or on the cart total. You set ranges separately for each zone.
  • Out-of-range behaviour: what happens when a cart exceeds the last range, either apply the highest price or disable the carrier.
  • Size and weight: maximum parcel dimensions and weight, so PrestaShop hides a locker option when the order will not fit.
  • Group access, for example a carrier only for wholesale customers.

Product weights and dimensions

Weight-based pricing only works if your products have a weight. Many older stores never filled that field. Updating weights and dimensions for thousands of products does not have to mean opening every product page; a CSV import or a bulk editor does it much faster, as we explain in our guide to bulk editing products in PrestaShop.

How do you add InPost parcel lockers to PrestaShop?

A carrier called "Parcel locker" is not enough. The customer has to pick a specific locker, and that choice has to reach the order and the label. Without a module you get locker codes typed into order comments, typos and phone calls.

A good InPost integration, whichever module you choose, does four things:

  1. Shows a locker map once the customer chooses this delivery method, with search by address or postcode, and it is easy to use on a phone.
  2. Saves the selected locker code in the order, visible in the back office and in the customer email.
  3. Blocks the next step until a locker is selected.
  4. Creates the shipment in InPost from the order data and downloads the label.

To connect to InPost you need a business account with InPost and API credentials from your InPost business panel. Lockers also require the recipient's mobile phone number, because that is where InPost sends the collection code. Make the phone field mandatory in Customers > Addresses > Set required fields for this section.

Check parcel sizes: lockers have three compartment sizes (A, B and C) and a weight limit. Take the current dimensions from InPost's price list and enter them as the carrier's maximum size, so the store never offers a locker for an order that will not fit.

If you also ship to InPost networks outside Poland, ask us which services you need before you buy, because each country has its own setup. After installing, place a full test order on a phone: a map that does not fit a small screen or clashes with your checkout can stop sales faster than a high delivery price.

How do you print DPD and DHL labels without retyping data?

Manual shipping means copying the name, address, phone and email from each order into the courier's portal, printing the label and pasting the tracking number back into the store. With dozens of parcels a day it eats hours and causes address mistakes.

An API integration reverses this: data goes straight from the order to DPD or DHL, and the tracking number comes back automatically. What to look for:

  • Bulk labels from the order list: select orders, click once and get all labels ready to print.
  • Pickup requests and manifests without logging in to a separate portal.
  • Order status updates once the parcel is shipped, so both the customer and your team know what is happening.
  • Multiple sender addresses, useful when you ship from a warehouse and a physical shop.
  • A label format that matches your printer, for example A6 on a thermal printer or A4 on a regular one.

Ask the carrier for API credentials, then check the address, phone and cash on delivery amount on the first labels from a test order.

How do you send tracking numbers to customers?

PrestaShop has this built in; it just needs the right setup:

  1. In the carrier settings, enter the tracking URL with @ where the number goes. Each carrier publishes the exact format on its website.
  2. When a tracking number is saved in the order's shipping section (by hand or by a module), PrestaShop sends the customer a "Package in transit" email with the tracking link.
  3. The Shipped order status sends its own email. Make sure the two messages do not confuse customers by repeating each other.

Edit the email wording in International > Translations (email translations) and the layout in Design > Email Theme. It is worth adding where customers find their locker collection code and how long a parcel waits in the locker.

Carrier modules save the number in the order automatically, so the email goes out without anyone touching it and you get fewer "where is my parcel?" messages.

How do you set up free shipping over a certain amount?

You have three options, each for a different situation:

Method Where When to use it
Global amount or weight threshold Shipping > Preferences > Free shipping starts at one threshold for all carriers and zones
Carrier price ranges Shipping > Carriers, costs by price, 0 above the threshold different thresholds for lockers and couriers, or per zone
Cart rule Catalog > Discounts > Cart Rules: "Minimum amount" condition, "Free shipping" action time-limited offers, selected customers, carriers or countries

The global setting is the simplest but applies to all zones at once; if you ship abroad, price ranges or cart rules work better.

How does a free shipping threshold increase order value?

A customer who is a little short often prefers adding a small item to paying for delivery. To make it work:

  • Base the threshold on data. Check your average order value in the store statistics and set the threshold slightly above it. A threshold below the average gives free shipping to orders you would get anyway; one far above it discourages people.
  • Show how much is missing. A message like "Add 8 € more for free delivery" in the cart works far better than a line hidden in the terms. You can add such a bar with the Free Shipping Progress Bar module, which takes the threshold from your shipping settings and shows the amount in the customer's currency.
  • Suggest inexpensive add-ons: accessories, consumables, small pack sizes.
  • Watch your margin. Free shipping is a cost; compare order value and margin before and after the change, not just the number of orders.

Common PrestaShop shipping mistakes

  • No product weights: weight-based cost comes out as zero, or the carrier disappears from checkout.
  • Lockers without size limits: customers choose a locker for an order that will not fit.
  • Phone number not required: a locker shipment cannot be created without the recipient's number.
  • Empty tracking URL: the "Package in transit" email goes out without a working link.

Frequently asked questions

Does PrestaShop support InPost parcel lockers out of the box?

No. PrestaShop lets you create a carrier and set its prices, but a locker map, saving the locker code and creating shipments in InPost are not part of the core. You need a module that connects to the InPost API.

Will the locker map work with a one-page checkout?

Usually, but it depends on both modules, because a one-page checkout rebuilds the delivery step. Check compatibility before buying and test locker selection on desktop and mobile.

How do I offer different free shipping for lockers and couriers?

Skip the global threshold and set each carrier's costs by price, with 0 in the range starting at your chosen amount, or use a cart rule with the "Free shipping" action restricted to one carrier.

Why did a customer not receive the tracking email?

Most often the tracking number was not saved in the order, or the carrier has no tracking URL. Also check that your store sends email at all (Advanced Parameters > E-mail) and that the message did not land in spam.

Want customers to see how close they are to free delivery? See the Free Shipping Progress Bar module or get in touch.

Products in this article

Back to Blog

Loading...
Back to top