Shopify DHL Integration

In Turkey, saying DHL means one of two different things and the first setup decision is this: the domestic side is DHL eCommerce, which is the former MNG Kargo, and the brand changed in May 2025; a shipment leaving the country goes through DHL Express, and that means a separate company, a separate account and a separate panel. Every setup that skips this split starts with the wrong account. The two sides are set up separately. DHL eCommerce has a developer portal that Turkish shipping firms do not have, the requirement that actually blocks setup is getting your fixed exit address onto the whitelist, and customs paperwork on an international shipment is a job of its own.

200+ active brands
growing on Shopify with Nodus Works

Shopify DHL integration what is it?

The Shopify DHL integration is the connection that declares store orders as shipments to the carrier, prints the label, writes the tracking number on the order and reads delivery status back. On the domestic side this is done by DHL eCommerce, the former MNG Kargo; because it does not publish its own Shopify app, an integration tool builds the bridge.

Setup starts with choosing the right side, not with writing code. For a domestic shipment you sign a corporate agreement with DHL eCommerce and take your customer number; you take the access key from the firm's developer portal. If you sell abroad you need a separate business account on the DHL Express side, and that application is fully online. When you need to manage domestic and international shipments at the same time from a single panel, Nodus Works' Shopify integration and custom app development service joins that setup.

Once the connection is live, daily work runs from one screen: the order is declared, the label is printed, the customer notification goes out from Shopify's own email when the tracking number is written on the order, and the order closes on its own when delivery status is read back. On an international shipment, customs documents and the terms-of-delivery decision are added to this flow.

WHAT IT DOES

What a DHL integration actually does

Once the connection is live, shipment declaration, label, tracking, delivery status, collection and returns become parts of the same flow. If you sell abroad, customs documents are added as well. The six headings below cover the questions asked most often.

Choosing the right DHL side

A domestic shipment leaves through DHL eCommerce, an international shipment leaves through DHL Express, and the two are separate accounts. If you sell to both, you need two separate agreements and two separate connections; running both sides on one account is not possible.

Creating and declaring a shipment

The order address is declared with the data on the order instead of being typed into the carrier by hand. On the DHL eCommerce side, district is expected as a coded value, so clean address data is the precondition for this step.

Printing the label and barcode

The label is printed from the order screen, so you do not need to open a second panel. Barcode production comes from the firm's own service; using a number the integration produced as a barcode produces a label that will not scan.

Writing the tracking number on the order

When the tracking number is written on the order, the customer notification goes out from Shopify's own email and the order closes on its own when delivery status is read back. If the number is not written, the customer sees nothing.

Cash-on-delivery shipments and returns

On a cash-on-delivery order the amount to collect is read from the order total and written on the shipment. On the return side DHL uses a fixed return code, so the code is the same on every return and is not produced per order.

Customs documents on an international shipment

For an international package the declaration is not the recipient address, it is commercial-invoice line data: goods description, tariff code, value and currency. If this data is not kept on your product cards, the shipment waits at customs.

TWO SEPARATE DHL

Did MNG Kargo become DHL, which side will you use?

This is exactly where the person searching gets stuck. There are two separate DHLs in Turkey; which one you work with is decided by where the shipment is going.

DHL eCommerce is the former MNG Kargo

DHL Group bought MNG Kargo, the transfer completed in October 2023 and in May 2025 the brand stopped being MNG Kargo and became DHL eCommerce; branch, vehicle and digital-platform identity changed. The side that does domestic shipments is this one.

DHL Express is the international express side

A separate company, a separate account, a separate panel and a separate service structure. A shipment leaving Turkey for another country goes through this side; it does not carry domestic packages. The two sides' account credentials cannot be used in place of each other.

Shopify's help page does not cover Turkey

Shopify's DHL eCommerce page published in Turkish describes buying an international label from a shipping origin on the American continent. Same name, completely different work; that flow never appears in a store in Turkey.

The technical infrastructure name is still MNG

Even though the brand is DHL, the developer portal, service addresses and integration email sit on an MNG domain. A third-party Shopify app's address still contains MNG as well; when you search for sources you need to try both words.

Your old MNG agreement and customer number

Because the transfer was a corporate share purchase, contracts continue with the firm itself. On the integration side the service structure was renewed, so an old setup should not be assumed to keep working; it needs to be checked.

Domestic scale is different from international express

DHL eCommerce reports more than eight hundred branches, twenty-nine transfer hubs and more than four thousand vehicles on its own site; large marketplaces are listed among its corporate references. Domestic volume runs on this side.

The practical rule is this: for domestic orders you agree with DHL eCommerce and take access from the developer portal, for international orders you open a separate business account on the DHL Express side. If you sell to both sides, two connections run together and that is normal.

SETUP

How do you set up Shopify DHL integration?

The six steps below cover the whole setup, from choosing the right side to printing the first label. The third step is specific to DHL: you take the access key from the firm's own developer portal.

01

Decide which DHL side you will use

A domestic shipment leaves through DHL eCommerce, an international shipment leaves through DHL Express. If you sell to both, two separate agreements are needed. On the DHL Express side the application is fully online: a business account can be opened on dhl.com, with no branch visit.

02

Sign your corporate agreement on the domestic side

There is no published page for becoming a DHL eCommerce ecommerce customer; the process runs through an account manager and the regional structure. After the agreement your customer number is defined and your panel password is given; these two are required fields of the integration.

03

Take your access key from the developer portal

DHL eCommerce has a public developer portal and the flow is three steps: an account is created, approval is waited for, the access key is taken. The portal lists tracking, shipment preparation and barcode-creation services separately; you need to subscribe to the services you will use.

04

Set up test and live environments separately

The test environment is on a separate portal and its subscription is approved on its own; a live subscription is approved by hand. For the live environment your application name, customer number and fixed exit address are reported to the integration email and put on a whitelist. If you have no fixed address on shared hosting, this step gets stuck.

05

Define the address, desi and payment setup

Make address line 2 required at checkout and rename it to district; this step is not optional because the DHL eCommerce side expects district as a coded value. Also set your label printer, declaration layout and, if you will use cash on delivery, the manual payment method on the Shopify side in this step.

06

Confirm the flow with a test shipment

Create a shipment from a single order, print the label, and check that the tracking number is written on the order and the customer notification goes out when the package is scanned at the branch. Then confirm that delivery status is read back. If you sell abroad, also run a customs-document trial.

The table below shows which Shopify data maps to which counterpart on the carrier side.

What Shopify has What the carrier uses
Order Shipment declaration
Shipping address Recipient address
City City code, resolved from the service list
Address line 2 District, expected as a coded value
Phone The number the notification message goes to
Weight One side of the chargeable weight
Package definition Source of the desi calculation, on single-line orders
Tracking number Assigned after the shipment enters the system
Payment status Amount collected on a cash-on-delivery shipment
Extra on international Goods description, tariff code, value and currency
No Shopify field Length, width, height; return code; declaration type

The last two rows of the table are where this work produces the most trouble. Length, width and height do not exist in Shopify at all; the customs data needed on an international shipment also comes from nowhere unless it is kept separately on the product cards.

Where are you in the setup?

Tell us about your catalog and current setup, and we will work out how the Shopify DHL integration should be built for your product structure. You do not need to fill in a form, reach us directly by phone, email or WhatsApp.

ACCESS AND BLOCKERS

Where do you get DHL integration credentials?

On this question DHL eCommerce is a step ahead of most Turkish shipping firms: it has a public developer portal. The portal presents itself as the firm's service catalog and lists three services separately: tracking, shipment preparation and barcode creation. The flow is also written down: an account is created, approval is waited for, the access key is taken. Yurtiçi and Aras have no counterpart to this; there the data comes from a representative by email.

The portal does not solve everything, though. Your customer number and panel password come from the corporate agreement and are not produced by yourself in the portal. Opening an account in the portal does not replace the agreement; both are needed together.

Two blockers actually stop setup, and both need to be known from the start. The first is the environment split: the test environment is on a separate portal and its subscription is approved on its own, a live subscription is approved by hand. For the live environment your application name, customer number and fixed exit address are reported to the integration email and put on a whitelist. If you sit on shared hosting you have no fixed exit address, so you stay at this step; the fix is using an intermediate layer with a fixed address. The second is the service-structure renewal: old service endpoints are being retired and new integrations are written to the new structure. These two facts come from third-party sources, no official calendar has been published; if you inherited an old MNG setup, put this at the top of your checklist.

On the international side the panel runs under the name MyDHL and the admin settings are officially documented: company appearance, user groups, account numbers, address book, shipment references, courier booking and digital customs invoice are managed from here. The developer side also sits together in a global catalog. On who the agreement belongs to, DHL eCommerce looks flexible: shipping on an intermediary's bulk rate without your own contract is also shown as possible. The two models must not be mixed, because who the invoice comes from and who sets the rate both change.

SHOPIFY LIMIT

How far does Shopify's own shipping go in Turkey?

The need for a shipping integration starts here. Shopify's shipping side was built for specific countries and Turkey is not on that list; DHL's official app does not change this limit either.

You cannot buy a label from the admin

Shopify's own shipping is tied to shipping origins in eight countries and Turkey is not on that list. The DHL eCommerce label flow in the help center is also for origins on the American continent; it does not appear in a store in Turkey.

Checkout cannot show a live carrier rate

Pulling a live rate from the carrier's own account is available only on higher plans, and the supported carrier list has no Turkish shipping firm. DHL Express's own app offers a live rate at checkout but that is for an international shipment and requires a DHL Express account.

A return label does not come out of Shopify

Creating a return label through Shopify requires both the shipping origin and the buyer address to be in the United States. In Turkey the return label is produced outside and uploaded to the order, or you choose no shipping needed on the approval screen.

The product card has no length, width or height

The Shopify product card has weight and no dimensions; dimensions live only on the package definition in shipping settings, and the package assigned to a product applies only on single-line orders. That is why the data needed to calculate desi is not on the order.

You cannot add a district field at checkout

On plans other than Plus you cannot add city and district pickers at checkout. The DHL eCommerce side expects city and district as coded values resolved from its own list, so a district buried in free text fails at the declaration step.

The product card has no ready field for customs data

The tariff code, goods description and origin data needed on an international shipment do not sit in Shopify's standard product fields. Keeping this data in extra fields and mapping it onto the shipment documents is part of setup.

The shared result of these six points is this: in Turkey a shipping integration does not add convenience on top of Shopify, it puts a missing piece in place. Label production, tracking number and delivery status do not enter Shopify any other way.

CHECKLIST

What you need to confirm before setup

DHL's documentation is good compared with Turkish shipping firms, but there are topics not published for the Turkey scope. The nine headings below are what you should ask your representative before setup.

Which documents are requested on a domestic application

No published page was found for becoming a DHL eCommerce ecommerce customer or for the document list. The process runs through an account manager and the regional structure; you need to set your calendar to that and take the document list in the meeting.

Does the fixed-exit-address requirement apply to you

Two independent sources write that a fixed exit address is put on a whitelist for the live environment, but there is no official confirmation. If you use shared hosting you need to ask this requirement before setup; solving it later means building an intermediate layer.

When does the old service structure close

Third-party sources write that old service endpoints are being retired; no official retirement calendar has been published. If you inherited an MNG setup you need to ask which structure it was written to and what the migration plan is.

How many days does money take on a cash-on-delivery shipment

Third-party apps support cash-on-delivery shipments, but no official DHL eCommerce Turkey page defining this service and no transfer time were found. If you will tie your cash flow to this, confirm the time in your contract.

What is the collection service fee

Cash on delivery brings an extra line on top of the shipment fee at most firms. Because the existence and amount of this line depend on the agreement, we do not give a rate here; you should set the cash-on-delivery fee at checkout to that.

Which format and size does the label come in

The barcode service producing output in a specific printer language is documented, but sources do not fully agree. If you will buy a thermal printer, ask the format and size question to the provider of the tool you will use.

Is shipping without an agreement suitable for you

Shipping on an intermediary's bulk rate is also shown as possible at DHL eCommerce. On that path the invoice comes from the intermediary and you do not set the rate; as your volume grows your own agreement may be more advantageous.

Which countries accept paperless customs on international shipments

Paperless customs sits as an admin setting on the international panel and is also listed in the official app's feature list. Which countries accept it changes by shipment, so you need to take the country list from your representative.

Does the Europe tax-registration side concern you

Tax registration and threshold topics for stores selling to Europe could not be confirmed in a DHL source in this research, so we do not give information here. If you will sell to Europe regularly, settle this with your tax advisor and your DHL representative together.

INTERNATIONAL SHIPPING

How are customs documents set up on an international shipment?

This section is a completely separate job from domestic shipping. For a domestic package the declaration is recipient address and desi; for an international package the declaration is commercial-invoice line data, and missing data ends in delay.

The center of the declaration is commercial-invoice line data

DHL's own guide writes that a missing or wrong goods description produces delay and sanction at customs. There are four critical fields: goods description, tariff code, value and currency. If these four are not correct, the package waits.

There is a free tool for finding the tariff code

DHL lets you look up tariff codes and country requirements with its own free global trade services tool. You can confirm the tariff code from here when you write codes onto your product cards.

Customs data must be kept on the product card

Tariff code, goods description and origin data do not sit in Shopify's standard fields. Keeping this data in extra fields and mapping it onto the shipment documents is part of setup; typing it by hand on every shipment is not sustainable.

Paperless customs is a setting on the panel

Digital customs invoice sits as an admin setting on the international panel and is also listed as electronic data submission in the official Shopify app's feature list. It reduces printed documents being added to the package.

The terms-of-delivery decision changes your checkout

If the seller takes on customs duty and import tax, they need to collect it at checkout; in the model collected from the customer at delivery, the charge appears at the door. The second model produces return requests because of an unexpected cost.

The two sides' accounts run separately

An international shipment leaves from a separate company, a separate account and a separate panel. Your domestic setup working does not mean the international side is ready; the two are set up separately and tried separately.

If you will sell abroad regularly, you need to plan this section as a separate heading of setup. Adding customs data to product cards, making the terms-of-delivery decision and setting checkout to that; when the three are not done together, international sales turn into customer complaints.

ADDRESS, DESI AND COLLECTION

Why is the shipping invoice higher than you expected?

On the domestic side there are two reasons and both come from Shopify's data structure: district cannot be stored as a separate field, and the product card has no dimensions. If you use cash on delivery there is a third line as well.

District is expected as a coded value

On the DHL eCommerce side, city and district are values resolved from its own list. A district buried in free text, misspelled or left empty fails shipment creation; even if the declaration passes, the package goes to the wrong transfer hub and is delayed.

The fix is turning address line 2 into district

The path used in the field is one: address line 2 is made required in checkout settings and renamed to district by editing the checkout language. The second path is taking an address confirmation after the order.

Desi is volume turned into a charge

The invoice is issued on whichever is larger, weight or desi. Package volume is found in cubic decimeters, divided by three on a domestic shipment and by five on an international shipment; the result is compared with kilograms.

The data to calculate desi is not on the order

The Shopify product card has no length, width or height field; dimensions live only on the package definition, and a multi-line order uses the store default package. That is why some integrations declare the shipment with a fixed desi.

The branch measures the real desi, the difference hits the invoice

If the declared value and the value measured at the branch differ, the invoice is issued on the measured value. The shipping charge you took from the customer stays fixed while your invoice changes, so the difference comes straight out of margin.

Cash on delivery is a separate declaration type

A cash-on-delivery shipment is not the same declaration as a sender-paid shipment, and the Shopify counterpart is a manual payment method: payment opens as pending and is marked paid after collection. Reconciliation is set up by the integration; region and amount limits are not built into Shopify.

There is one detail to know on the return side: DHL uses a fixed return code, so the code is the same on every return and is not produced per order. This makes setting up the return flow easier, but matching which return belongs to which order is left to you. If you have marketplace channels, label and return flow also split in two: Trendyol and Hepsiburada packages leave with their own labels while store orders go on your agreement. To run the two flows in the same warehouse without mixing them, look at Station.

COMMON MISTAKES

The most common mistakes in a Shopify DHL integration

The nine headings below are the mistakes met most often in setup. At DHL half of them come from mixing the two DHLs.

Opening an Express account for a domestic shipment

A domestic package leaves through DHL eCommerce, an international package leaves through DHL Express, and the two are separate accounts. A setup that starts with the wrong side is done from scratch after the account is opened.

Waiting for the flow on Shopify's help page

The DHL eCommerce label flow in the help center is for shipping origins on the American continent and does not appear in a store in Turkey. Same name, different work; that help center article is the source that most often sends a reader from Turkey down the wrong path.

Counting a portal account as the agreement

The developer portal gives the access key, but the customer number and panel password come from the corporate agreement. Opening an account in the portal is not enough on its own to create a shipment.

Not declaring a fixed address for the live environment

A live subscription is approved by hand and the fixed exit address needs to be put on a whitelist. Stores sitting on shared hosting stay exactly at this step; the fix is an intermediate layer with a fixed address.

Trusting live because it worked in test

A test subscription is approved on its own while a live subscription asks for a separate approval and a separate record. A setup that works in the test environment should not be assumed to work in live.

Not checking an inherited old MNG setup

Old service endpoints are being retired. If an inherited setup one day stops for no reason, this is the first place to look; you need to learn which service structure it was written to from the start.

Going live without fixing the district field

DHL eCommerce expects district as a coded value resolved from its own list. Orders with an empty district or a district buried in free text fail at the declaration step; turning address line 2 into district is part of setup.

Setting up an international shipment like a domestic one

The center of an international declaration is commercial-invoice line data: goods description, tariff code, value and currency. If this data is not kept on the product cards, it is typed by hand on every shipment and waiting at customs becomes inevitable.

Selling abroad without making the terms-of-delivery decision

If the seller takes on customs duty, they need to collect it at checkout. International sales opened without a decision end with an unexpected charge being asked from the customer at delivery and with return requests.

SCENARIO

Three common problems and how we solve them

The three setup scenarios below show how we handle Shopify DHL integration problems we have solved in stores we connected.

A setup that started with the wrong DHL side

ProblemThe store wanted to send domestic orders with DHL. Following steps found on the internet it opened an online business account, took an account number and tried to set up the integration; it could not create any domestic shipment and lost two weeks.

CauseThe account that was opened belonged to the international express side. In Turkey the side that does domestic shipments is DHL eCommerce, the former MNG Kargo, and that means a separate company, a separate account and a separate service structure. The two sides' credentials cannot be used in place of each other.

SolutionA separate corporate agreement was signed for the domestic side, a customer number was taken and the access key was obtained from the firm's developer portal. The international account was not closed; when the store also started selling abroad, the two connections ran side by side.

A setup that worked in test stopped in live

ProblemDuring development everything was fine: shipments were created, barcodes were produced, tracking data arrived. On the day it went live no request was answered and the store had to send that day's orders from the panel by hand.

CauseThere are two separate environments and the two ask for separate records: a test subscription is approved on its own while a live subscription is approved by hand. For the live environment the application name, customer number and fixed exit address also needed to be reported and put on a whitelist. Because the store sat on shared hosting, there was no fixed exit address either.

SolutionAn intermediate layer with a fixed address was put in place and that address was put on the whitelist; live-subscription approval was also completed with these details. The setup worked in live the next day. The same work also confirmed that the new structure was used instead of the old service structure.

International shipments waiting at customs

ProblemA portion of shipments from a store that had started selling abroad were waiting at customs for days. Some customers were asked for an unexpected tax at delivery, and that turned into the package not being accepted and a return request.

CauseThere were two separate gaps. Because tariff code, goods description and origin data were not kept on the product cards, shipment documents were prepared incomplete. Second, the terms-of-delivery decision had not been made: because customs duty was not taken on by the seller, the charge was asked from the customer at the door.

SolutionCustoms data was added to the product cards and mapped so it would be written onto the documents from those fields; tariff codes were confirmed with the firm's free lookup tool. The terms-of-delivery decision was made and checkout was set to that, so the customer saw the cost at the moment of purchase. Waiting times shortened and the number of unaccepted packages dropped.

STATION
Shopify DHL integration

Station is the tool we built to run order, label, tracking and collection flow from one panel. If you also sell on marketplaces, their shipping flow stays separate, so seeing the two side by side makes the work easier.

FAQ

Frequently Asked Questions

How do you set up Shopify DHL integration?
The first decision is which DHL side you will use: a domestic shipment leaves through DHL eCommerce, the former MNG Kargo, an international shipment leaves through DHL Express. On the domestic side a corporate agreement is signed and your customer number is taken, the access key is obtained from the firm's developer portal and your fixed exit address is put on a whitelist for the live environment. The last steps are correcting the address fields, defining the label and desi setup, and a test shipment.
Did MNG Kargo become DHL?
It did. DHL Group bought MNG Kargo, the transfer completed in October 2023 and in May 2025 the brand stopped being MNG Kargo and became DHL eCommerce; branch, vehicle and digital-platform identity changed. The technical infrastructure name is still MNG: the developer portal, service addresses and integration email sit on that domain.
When I ship domestically do I use DHL Express or DHL eCommerce?
A domestic shipment leaves through DHL eCommerce; DHL Express is the international express side and does not carry domestic packages. The two are a separate company, a separate account, a separate panel and a separate service structure. If you sell to both, you need two separate agreements and two separate connections; running both sides on one account is not possible.
Are my old MNG agreement and customer number still valid?
Because the transfer was a corporate share purchase, contracts continue with the firm itself. On the integration side the service structure was renewed: it is known that old service endpoints are being retired. So even if your agreement still stands, an old setup should not be assumed to keep working; you need to check which structure it was written to.
Why does the DHL eCommerce label flow on Shopify's help page not appear for me?
Because that page does not describe DHL eCommerce in Turkey. Even though it was published in Turkish, the content covers buying an international label from a shipping origin on the American continent. Same name, completely different work. That flow does not appear in a store in Turkey; the label is printed from the carrier panel or from an integration tool.
Where do I get my DHL integration credentials?
They come in two pieces. Your customer number and panel password are given with the corporate agreement. You take the access key yourself from the firm's public developer portal: an account is created, approval is waited for, the key is taken. The portal lists tracking, shipment preparation and barcode-creation services separately and you need to subscribe to the services you will use.
Does DHL have a public developer portal?
It does, and this is an advantage most Turkish shipping firms do not have. The portal publishes the firm's service catalog, the account-creation flow and the steps for taking an access key. The portal does not replace the agreement, though: your customer number comes from the corporate contract.
I have no static IP, can I still set up the DHL integration?
Two independent sources write that a fixed exit address needs to be put on a whitelist for the live environment; there is no official confirmation but it is a requirement met in the field. If you sit on shared hosting you have no fixed address, so you stay at this step. The practical fix is using an intermediate layer with a fixed address; you need to ask this requirement before setup.
What is the difference between the test environment and the live environment?
The two are on separate portals and ask for separate records. A test subscription is approved on its own while a live subscription is approved by hand; for the live environment your application name, customer number and fixed exit address are reported to the integration email. That is why a setup that works in the test environment should not be assumed to work in live.
I have an old MNG integration, do I need to renew it?
Third-party sources write that old service endpoints are being retired and new integrations are written to the new structure; no official retirement calendar has been published. If an inherited setup one day stops for no reason, this is the first place to look. Put which service structure is used and the migration plan on your checklist.
Does DHL have an official app in Shopify?
The international express side has its own official app: international shipment, live rate at checkout, bulk labels, paperless customs, order sync and tracking are listed. You need an account from that side to use it. The domestic side in Turkey has no Shopify app of its own; Turkey listings in the app store belong to third-party developers.
Which app should I use in Turkey?
For a domestic shipment the third-party listings in the app store are used; their scope is listed as single and bulk shipping, shipment cancel, document viewing, text notification, cash on delivery, bulk label with packing slip and return barcode. All of them write that you need your DHL account credentials to use them, so the app does not provide the shipping agreement.
Can I set up the integration without an agreement?
Working on your own agreement needs a contract and a customer number. Shipping on an intermediary's bulk rate is also shown as possible at DHL eCommerce; on that path the fee is paid to the intermediary, the invoice comes from them and you do not set the rate. The two models must not be mixed; as your volume grows your own agreement may be more advantageous.
Does Shopify's own shipping label work in Turkey?
It does not. Shopify's own shipping is tied to shipping origins in eight countries and Turkey is not on that list; that is why the buy-a-label flow never appears on the order screen. The label is printed from the carrier's own panel or from an integration. A return label can also be produced only inside the United States.
When is the tracking number added to the order?
After the package enters the system and the declaration is complete. The barcode is an intermediate number produced so the carrier can recognize the package; the tracking number is assigned to the package later. That is why the tracking number is written on the order after the package enters the flow, not at once. When the number is not written, Shopify's notification chain never starts.
What does the shipment has not been declared warning mean?
It means the label was printed but the shipment was not declared to the carrier. Such a label cannot be scanned at the branch and the package does not enter the system. Printing the barcode first and declaring later is not a problem; the reverse is. The flow must always close with a declaration.
What happens if district is entered wrong?
The DHL eCommerce side expects city and district as coded values resolved from its own list. A district buried in free text, misspelled or left empty fails shipment creation; even if the declaration passes, the package goes to the wrong transfer hub and is delayed. That is why correcting the address fields should be part of setup.
How is a district field added at checkout?
On plans other than Plus you cannot add city and district pickers at checkout; a Shopify employee confirms this in a reply to a request from Turkey. The path used in the field is one: address line 2 is made required in checkout settings and renamed to district by editing the checkout language. The second path is taking an address confirmation after the order.
How is desi calculated, do I enter it?
The invoice is issued on whichever is larger, weight or desi. Package volume is found in cubic decimeters, divided by three on a domestic shipment and compared with kilograms; on an international shipment the divisor is five. Rounding is up from one half and down below it; sources that say it is always rounded up to the next whole number contradict official texts.
Why did my invoice come in higher than I expected?
The most common reason is the desi declaration. Because the Shopify product card has no length, width or height field, some integrations declare the shipment with a fixed desi; the branch measures the real desi and the invoice is issued on the measured value. The shipping charge you took from the customer stays fixed, so the difference comes straight out of margin. The fix is defining package standards and producing the declaration from real dimensions.
Does DHL do cash-on-delivery shipments?
Third-party Shopify apps support cash-on-delivery shipments, so the flow works in the field. No official DHL eCommerce Turkey page defining this service was found, though, so we do not give information about the service conditions here. If cash on delivery is part of your business model, you need to confirm the conditions and any service fee in your contract.
When does the money reach my account on a cash-on-delivery shipment?
Because the transfer time is not published in an official source, we do not give a day count here. Some shipping firms write this time on their own page; no such page was found on the DHL eCommerce Turkey side. If you will tie your cash flow to this service, you need to confirm the time in your contract or from your representative.
How is cash on delivery set up on the Shopify side?
In Settings, under payments, cash on delivery sits as a ready manual payment method. On such an order, payment opens as pending and is marked paid after collection happens. The integration's job is to set up this match. Restricting by region, setting an amount limit or adding a cash-on-delivery fee are not built into Shopify.
Is the DHL return code one-time?
On the DHL side a fixed return code is used, so the code is the same on every return and is not produced per order. This makes setting up the return flow easier: sending the customer a single code is enough. Matching which return belongs to which order is left to you, though, because the code does not carry that information.
Can I create a return label in Shopify?
You can turn on the self-service return flow in the store, but in Turkey the create-return-label option does not appear on the approval screen; this feature exists only on shipments inside the United States. The practical path is sending the return code to the customer and using the no shipping needed option on the Shopify side, or uploading an externally produced label to the order.
When I sell abroad, who prepares the proforma invoice?
You give the declaration, the document is produced from your data. DHL's own guide writes that a missing or wrong goods description produces delay and sanction at customs; the critical fields are goods description, tariff code, value and currency. Keeping this data on your product cards and mapping it onto the shipment documents is part of setup; typing it by hand on every shipment is not sustainable.
Where do I find the customs tariff code?
DHL has a free global trade services tool for this work: you can look up tariff codes and country requirements from here. Confirming the codes you write onto your product cards from here directly reduces the number of packages waiting at customs.
What is paperless customs, how is it turned on?
A service that reduces printed customs documents being added to the package on an international shipment. It sits as an admin setting named digital customs invoice on the international panel and is listed as electronic data submission in the official Shopify app's feature list. Which countries accept it changes by shipment, so you need to take the country list from your representative.
Should I take customs duty at checkout or at delivery?
There are two models and the decision changes your checkout setup. If the seller takes on customs duty and import tax, they need to collect it at checkout; in the other model the charge is taken from the customer at delivery. The second model produces unaccepted packages and return requests because of an unexpected cost, so the first model is preferred on regular international sales.
How do marketplace shipping and my own agreement split?
A marketplace order usually leaves with the firm the platform chose and the label it produced, and the fee is cut from your payout; when you ship on your own agreement you produce the label and the invoice comes to you. Two separate label flows run in the same warehouse and shipping cost does not appear on a single screen: marketplace shipping sits on the payout report, your own agreement sits on the monthly invoice, and cash on delivery sits in the collection flow.
Does the app set the shipping price?
It does not. If you work on your own agreement, the rate comes from the bargain you made with the carrier and the invoice comes to you from the carrier; the integration only carries the data. If you ship on an intermediary's bulk agreement, the rate is that intermediary's rate and you pay the fee to them. The two models must not be mixed, because who the invoice comes from changes.

BİZİ TERCİH
EDENLERİN ARASINDA
YER ALIN...

Herkes için Shopify çözümleri üretiyoruz.

Yeni bir Shopify mağazası kurmak, mevcut mağazanızı geliştirmek, özel entegrasyonlar yapmak veya hız problemlerini çözmek mi istiyorsunuz? Biz, teknik işleri sizin yerinize çözen uzman bir Shopify partneriyiz.

Dossha

#shopify

Les Benjamins

#shopify

Nocturne

#shopify

Fellas

#shopify

Mai

#shopify

Karaca

#shopify

Milagron

#shopify

Kiğılı

#shopifySeo

Şölen

#shopify

Adell

#shopifyB2B

Ohora

#shopify

Rendrea

#shopifyBooking

Babeskin

#shopify

The New Lab

#shopify

DTF Town

#shopify

Eczaclick

#shopifySeo

Termos Dünyası

#shopify

Halı.net

#shopify

Blend-r

#shopify

Oioi

#shopifySeo

Nowshopfun

#shopify

Marie Claire

#shopify

Gaziburma

#shopify

Dünyada Kitap

#shopify

NEDEN BİZİMLE
ÇALIŞMANIZ GEREKTİĞİNİ
SİZE ANLATMAK İSTERİZ

Shopify'ı çok iyi anlıyoruz; Türkiye'de her segmentin karşısına biz olarak çıkıyoruz :)

Gülümseyen, siyah saçlı ve siyah kazak giymiş genç adam portresi.Koyu saçlı, koyu renk kazak giymiş düşünceli genç kadın, koyu renk arka planda.Gri kazak ve koyu gömlek giymiş, kısa saçlı gülümseyen erkek portresi.Kısa kıvırcık saçlı, sakallı genç adam siyah kazakla, koyu geometrik desenli arka planda.
Koyu gri arka plan önünde yeşil kazak giymiş, hafif dalgalı saçlı, gülen genç kadın.Düz siyah saçlı, gri kazak giymiş genç kadın, koyu arka planda kameraya bakıyor.Gözlüklü ve koyu kazak giymiş, karanlık desenli arka plan önünde ciddi ifadeli erkek portresi.

Sadece Shopify konuşanlardan oluşan bir takım

çok hızlı İLETİŞİM KURARIZ - tICKET SİSTEMİMİZ SAYESİNDE
Düz siyah saçlı, açık tenli ve nötr ifadeye sahip genç kadın portresi.

Hey!

Bannerlarım kesik gözüküyor :(

Yardım eder misiniz, kampanya dönemindeyim.

Selam Elif!

2 dakikaya çözüyoruz.

Kısa kıvırcık saçlı, sakallı genç adam siyah kazakla, koyu geometrik desenli arka planda.

Transparan
sözleşme modeli

Teklif Alın
Teklif Alın

Start your next project with Nodus Works

Scroll —
Scroll —
Scroll —