Returns#
The Return flow in Resolve handles wrong-size, changed-mind, and doesn't-fit cases — and Karla can handle the return label for you. When a customer walks through the flow, Karla generates the label and hands it to them right there in the browser: no support ticket, no back-and-forth, no manually emailing PDFs.
If you run returns in a third-party tool instead, Resolve can hand the customer off to your returns portal at the right moment — both models are covered below.
Native returns#
Native returns keep the full return journey inside Resolve — on-brand, end to end, without sending the customer elsewhere.
Customers select items, choose a return reason, and confirm details inside Resolve; Karla then creates the return label on the spot and presents it in the same flow. Every input is captured as structured claim data, so you get the same analytics and intelligence as your other Resolve flows (reason breakdowns, product-level patterns, geographic trends).
What your customer sees#
Once the customer reaches the label step, the label is generated automatically — no extra clicks, no waiting for an agent (unless you also offer self-ship, see Letting customers ship it themselves):
- Return label in the browser — a PDF label to download and print, alongside the return tracking number with a one-tap copy button.
- QR code for drop-off — DHL national returns also come with a QR code, rendered directly in the flow. The customer has it scanned at the parcel shop; nothing to print.
- QR code by email — when the order has an email address, Karla also emails the QR code to the customer as a PNG attachment, so it's still at hand if they only get to the drop-off point days later.
A summary of the items being returned and the selected reason is shown next to the label, so the customer can double-check before handing over the parcel.
The return is registered as a shipment on the order the moment the label is created — you can follow the parcel back to your warehouse the same way you track outbound deliveries.
Setting it up#
Return providers are configured by Karla in the Merchant Portal under Resolve → Labels — contact your Karla representative to set them up or change them:
- DHL Parcel DE — the provider that generates native return labels today. It uses your own DHL contract, so returns ship to the receiver ID registered with your DHL Parcel DE credentials (connected under Settings → Integrations → DHL).
- Karla Labels — Karla handles the carrier relationship and ships returns to a return address you configure. The toggle and address fields are already in the portal, but Karla Labels is not generating labels yet. Talk to us if you need return labels beyond DHL.
Once DHL is enabled, every native return label is created through it, regardless of which carrier delivered the original order — merchants who ship outbound with one carrier and take returns via DHL are the normal case.
Choosing which countries get a label#
By default, every EU country gets a return label. If you only pay for returns from some countries, Karla can restrict labels to a list of countries you choose (Restrict to specific countries in the Return label countries card under Resolve → Labels). Only EU countries can be listed.
- Restricting countries requires DHL Parcel DE to be enabled.
- It also requires a Return address. Customers in countries that aren't on your list don't get a label; they see this address instead and are asked to send the return at their own cost.
Letting customers ship it themselves#
In the Return label step of the Return flow (Resolve → Preview → Flows), turn on Also offer self-ship when a label is available. Customers who can get a label then first see How would you like to send your return? and pick one of two options:
- Return label — the label is generated as usual. No label is created until the customer picks this option.
- Ship it myself — the customer sees your Return address and is asked to ship the return at their own cost.
The switch needs a Return address in your returns settings. A customer who already has a label for the order sees it again without being asked.
Good to know#
- One return label per order. If a return label already exists for an order, a second request is refused rather than billing you for a duplicate.
- EU shipping addresses. Native return labels are available for orders with an EU shipping address — returns from outside the EU need a customs declaration, which Karla does not generate yet. You can narrow this further to specific countries (see Choosing which countries get a label).
- Countries without a label ship on their own. When a customer's country doesn't get a label and a return address is set, the Return flow shows that address and asks the customer to ship the return at their own cost instead of showing a label. The claim still reaches you as structured data.
- No provider configured? The Return flow keeps working: the claim still reaches you as structured data, but instead of a label the customer sees a notice that one can't be created for the order and is asked to contact your support team. Shops in this state typically use the handoff below.
- Contact support as the fallback. The same contact-support notice appears whenever a label can't be created for another reason — for example the order has no tracked shipment yet, or the country doesn't get a label and no return address is set.
Talk to us to discuss how native returns fit your operation.
The customer-facing steps that lead up to the label are configured with the rest of the Return flow.
Handoff to your returns portal#
If you run returns in a third-party tool (Loop, ReturnGO, your own portal, or anything else), Resolve can transfer the customer there at the right moment in the flow — after they've picked items and given a reason, or as soon as they choose Return, depending on how you configure the steps.
The handoff is seamless for the customer: Resolve shows a short transition screen, then opens your returns URL in a new tab. You can pass order context along in the URL so your tool can recognize the customer immediately.
What you can pass along#
Configure your destination URL with placeholders; Karla fills them in when the customer is redirected:
| Placeholder | Typical use |
|---|---|
{orderNumber} | Pre-fill the order lookup on your returns site |
{orderName} | Shop-specific order reference (e.g. #1234) |
{email} | Pre-populate the customer email field |
{zipCode} | Match against your existing order verification |
{externalId} | Your shop system's order ID |
{claimReason} | The return reason the customer selected in Resolve |
{selectedItemSkus} | Comma-separated SKUs for the items they chose to return |
{flowType} | Always return for this flow |
A typical setup might look like:
https://returns.yourbrand.com/start?order={orderNumber}&email={email}&reason={claimReason}
The customer lands on your tool with their order and email already in place — they can start the return immediately instead of hunting for order details again.
Configure the handoff URL in the Merchant Portal as part of your Return flow; see Flows and customization for step-level options.
Where to next#
- Flows and customization — configure the Return flow, handoff timing, and step order.
- Data processing — what claim data looks like after submission.
- Integration and automation — route return claims to your helpdesk or automation layer.
- Portal → Resolve — claims analytics and the Claims table.