Connecting an Online Store to Couriers — InPost, DPD, DHL and Orlen Paczka
You sell on Allegro and through your own store, and you ship with several carriers — because one customer wants an InPost parcel locker, another a DPD courier to the door, and a third a pickup point at Orlen Paczka. As long as you handle a few parcels a day, you click labels manually in each carrier’s panel and it somehow works. At a few dozen shipments a day that manual work becomes the bottleneck: copy the address, pick the service, type the locker code, print — and again, for every carrier separately.
This article explains how to connect a store to multiple couriers sensibly: what delivery-method mapping is, why parcel lockers are a separate problem, how InPost, DPD, DHL and Orlen Paczka differ, and how to pick a set of carriers without drowning in configuration. No marketing — one concrete point after another.
Why one courier is not enough
In Polish e-commerce a single-carrier monoculture barely exists. Customers have their habits, and the choice of delivery method has a real impact on cart conversion. Offer only one carrier and you lose some orders at the “choose delivery” step.
A typical store therefore runs several options in parallel:
- parcel lockers and pickup points — the most popular form in Poland (InPost lockers, Orlen Paczka, DPD Pickup, DHL POP),
- courier to the door — for larger items and customers who prefer home delivery,
- cash on delivery (COD) — still a meaningful share, especially outside big cities,
- international shipping — if you sell across the EU, that adds different pricing and services.
Since there are several carriers, the same question comes back for each one: how do you make an order from Allegro or WooCommerce automatically go to the right carrier and the right service, without retyping anything by hand? The answer is integration — and its heart is mapping.
Delivery-method mapping — the foundation of the whole integration
Every sales channel names deliveries its own way. Allegro has “Allegro InPost lockers”, WooCommerce “DPD courier (COD)”, PrestaShop its own labels in the carrier settings. Each courier, in turn, has its own catalogue of services with its own codes. Delivery-method mapping is the rule that translates one into the other: channel name → a specific courier service.
A good integration must handle several things here:
- Channel method name → carrier service — you set it once per delivery method, then it works for every subsequent order from that channel.
- COD vs prepaid — the collection amount and settlement method must carry over to the label, otherwise the courier will not collect the money from the customer.
- A default (fallback) rule — if a method cannot be mapped unambiguously, the order should wait for a manual decision rather than create an incorrect shipment.
- Conditional rules — “parcel over 30 kg → pallet courier”, “abroad → international service”, “value over X → insurance”.
This is exactly where an implementation is won or lost. A pretty panel without proper mapping is just a nicer way to make the same mistakes. We cover how a label is built from order data without retyping the address in more depth in our piece on automatic InPost labels for Allegro and WooCommerce.
Parcel lockers and pickup points — data that door delivery does not have
Delivery to a parcel locker introduces information that door delivery does not: the identifier
of the chosen point (e.g. KRA010). The customer selects it at checkout, and it has to reach
the label intact — otherwise the shipment has nowhere to go.
What to watch out for in the integration:
- Point code as a separate field — if the integration pulls the address but loses the locker code, the label is created with no destination or with an error.
- Customer changing the point — if the buyer corrected the locker after placing the order, the system must take the current value, not the original one.
- Locker size (A/B/C) — it helps when the order carries the parcel size, or a default size assigned to the product.
- Different point networks — an InPost locker, an Orlen point and a DPD Pickup point are three separate catalogues; a code from one network will not work in another.
Rule of thumb: treat the pickup-point identifier as first-class data — as important as the address. If it flows through correctly, the rest of the label falls into place on its own.
How InPost, DPD, DHL and Orlen Paczka differ
From an integration standpoint, carriers are not interchangeable. Each has a different model, different strengths and different configuration traps. In short:
- InPost — the king of parcel lockers in Poland, the largest and densest automated network. The integration revolves around the locker code and the compartment size. It dominates retail sales to individual customers; it also offers door-to-door courier service.
- DPD — a strong door-to-door courier with an extensive DPD Pickup point network. Popular for COD shipments and larger items. In mapping, it is important to distinguish the courier service from delivery to a point.
- DHL — a strong position in international shipping and business (B2B) parcels, plus a domestic DHL POP point network. If you sell abroad, DHL is often the natural choice for part of your orders.
- Orlen Paczka — a fast-growing network of points and lockers built around Orlen stations, usually a cheaper alternative for point deliveries. It is rising as a third player alongside InPost and DPD Pickup.
The practical takeaway: there is no single “best” courier — there is a best set for your assortment, parcel sizes and customer geography. That is why the integration must handle several at once and automatically route each parcel where it should go.
Tracking — the shipment number must close the loop
Generating a label is only half the job. The other half is closing the loop: the tracking number must come back to the order and trigger the rest of the process. An integration that only prints a PDF and forgets the parcel leaves you clicking statuses by hand in every channel.
What to expect:
- Tracking number saved on the order — you do not go looking for it in the carrier’s panel.
- Automatic status change to “shipped” after dispatch.
- Customer notification — an email or SMS with the number and a tracking link, sent automatically after dispatch.
- Status pushed back to the channel — it helps when the status also returns to Allegro or the store, so the buyer sees current information where they bought.
Best practices for choosing and implementing
Before you sign up with five carriers at once, work through a few hard questions:
- Start from data, not from the price list — check which delivery methods your customers have actually chosen over recent months. Two or three carriers usually cover 90% of parcels.
- Your own contracts vs a broker’s rates — if you have negotiated rates, make sure the integration lets you ship on your own contracts rather than forcing you onto a broker’s pricing.
- Where order data comes from — the label should be built from order data pulled from the channel, not from manual retyping. That is the condition for the integration to make sense.
- The tool’s billing model — per-parcel commission, subscription or a package with a limit. Do the math at your real volume, not on the headline price.
- Honesty about feature status — does the vendor clearly say what works today and what is “planned”? That saves disappointment after go-live.
We collected the full checklist of features worth demanding from a tool in a separate guide on courier label software.
Where Sellaro fits in (honestly, about status)
Sellaro is a central OMS — it gathers orders and products from all connected channels into one normalized view and has an automation engine that reacts to domain events (new order, status change) with actions: email, SMS, webhook, log entry. This is the foundation that makes courier integration meaningful at all — because the order data (recipient, address, delivery method, chosen point) is already tidy in one place, ready to hand off to a carrier.
We do have to be clear about where we are:
- Ready today: the store modules PrestaShop, Sylius, WooCommerce (connecting a store as a channel, READ-ONLY — Sellaro does not write to the store).
- On the roadmap / added on request: Allegro and courier integrations — InPost, DPD, DHL, Orlen Paczka and others — as well as accounting.
In other words: automatic label generation for multiple couriers is the direction we are heading as a module added to the platform, not a ready “print” button in the panel today. We work on the principle that we add a missing integration for free within your package — if InPost or DPD is your main courier, flag it during onboarding and we will set it up as a priority. You can find the current status of the modules on the integrations page.
Frequently asked questions
How many couriers is it worth connecting to a store?
As many as your customers actually use — and from one place. Usually two or three carriers (e.g. InPost for lockers, DPD for the door and COD, DHL for abroad) cover the vast majority of parcels. Start from data on the delivery methods people choose, not from the number of logos on the page.
What is delivery-method mapping?
It is the rule that translates a channel’s delivery name (e.g. “InPost lockers”) into a specific courier service and a COD or prepaid variant. You set it once per method, then it works automatically for the following orders. Without correct mapping, the parcel goes to the wrong service or the label fails to generate.
Does Sellaro generate InPost, DPD or DHL labels today?
Not as a ready button in the panel today — it is a roadmap feature, added as a module on request. The foundation (normalized orders and the automation engine) already works, so once we connect a given courier, the label is built from order data without retyping the address. Flag your carrier during onboarding and we will set it up as a priority.
How does a parcel-locker integration differ from a door courier?
A locker or pickup point adds one extra piece of data — the identifier of the chosen point — which has to travel from the order all the way to the label. For door delivery the address is enough. That is why locker integrations more often “break” on a lost point code than door-courier delivery does.
Summary
Connecting a store to multiple couriers comes down to a few hard elements: correct delivery-method mapping, treating parcel lockers as separate data, closed-loop tracking and a conscious choice of carriers for your assortment and customers. InPost, DPD, DHL and Orlen Paczka are not interchangeable — each has its role, and a good integration routes each parcel where it should go, feeding the label from order data instead of manual retyping.
At Sellaro we are building the foundation for this — normalized orders and the automation engine work today, while courier integrations (InPost, DPD, DHL, Orlen) and Allegro are on the roadmap and added on request (a missing integration is free within your package). Work out your cost in the pricing and tell us which couriers and channels you need — we will set them up as a priority.