Shopify UPS Integration
In Turkey the shipping charge at checkout is, as a rule, a fixed rate set by hand, because Shopify cannot pull a live rate from Turkish shipping firms. UPS is the one exception to this rule. On Shopify's official carrier list UPS sits as the carrier that can give a calculated rate at checkout for shipping origins anywhere in the world; so the charge your customer sees can come from your contracted UPS rate. That comes with three conditions. On the label side a part of the flow still does not work in Turkey, and two separate integration paths are needed together most of the time.
growing on Shopify with Nodus Works
Shopify UPS integration what is it?
The Shopify UPS integration covers two separate things and they must not be mixed. The first is connecting your UPS account directly to Shopify as a carrier account: this makes your contracted UPS rate appear at checkout and does not require an app. The second is the label, declaration and tracking side; in Turkey this side runs from UPS's own panel or from an integration tool.
Setup starts with an agreement, not with writing code. UPS Turkey shows a single channel for corporate pricing: the sales operations email. After the meeting your account and shipper number are defined; the Shopify-side connection asks for this number. Login credentials for your corporate portal are also not self-service; they come from your representative. To define this information flow cleanly on the Shopify side, you can take support from Nodus Works' Shopify integration and custom app development service.
Once the connection is live, your real rate appears at checkout, 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. If you sell abroad, customs documents and the tax side also become part of this flow.
What a UPS integration actually does
At UPS the flow has one extra heading compared with other shipping firms: the rate at checkout is also a topic of the integration. The six headings below cover the questions asked most often about the Shopify UPS integration.
A contracted rate at checkout
When your UPS account is connected to Shopify, the shipping charge the customer sees is calculated from your contracted rate. This is also valid for a store in Turkey; the permission that no Turkish shipping firm has is this one.
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. A label printed without a declaration has no counterpart, so this step is the first link in the flow.
Printing the label
In Turkey a label is not bought from Shopify; it is printed from UPS's own panel or from the integration tool you use. This is a separate topic from the rate permission at checkout, and the two must not be mixed.
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.
The customs side on an international shipment
UPS offers a service that reduces paper customs documents on an international shipment, and showing customs duty and tax at checkout also sits in its own app. What is valid in which country changes by shipment.
Return and cancel flow
A return label can be produced in UPS's own shipment panel; producing a return label from Shopify's approval screen is possible only on shipments inside the United States. On an order cancel the declaration also needs to be pulled back.
Why does UPS stand apart from other shipping firms?
Shopify's shipping limits in Turkey lift in part at UPS, but not all of them; the two need to be known together.
Live rates are open worldwide
Shopify's official carrier-eligibility table writes on the UPS row that a calculated rate at checkout can be used for shipping origins anywhere in the world. This is the only carrier permission that is also valid for a store in Turkey.
Buying a label is only in the United States
The same official table opens label purchase only to shipping origins in the United States. So even if you connect your account, you cannot buy a UPS label through Shopify from Turkey; the label is printed from the UPS panel or from an integrator.
There is a plan requirement
Connecting a carrier account is available on Advanced and Plus plans. On Grow it opens with a monthly add-on fee or by switching to annual billing; on Basic and Starter this capability does not exist at all. If your plan is not suitable you continue setting a fixed rate at checkout.
A shipper number is required
During the connection your UPS account or shipper number is requested. This number comes with a corporate UPS account; a live rate cannot be connected at checkout as an individual sender.
The contracted rate taking its place takes time
After the account is connected, your contracted rate appearing at checkout can take three business days. List price may appear in the meantime; setup should not be put on a campaign day.
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. The UPS connection does not change this limit; the return label is produced in the UPS panel and uploaded to the order.
The summary of these six points is this: at UPS the checkout side is actually solved, the label side is not. That is why most stores set up two connections together; we describe the two separately below.
How do you set up Shopify UPS integration?
The six steps below cover the whole setup, from the corporate agreement to the contracted rate appearing at checkout. The fourth step is specific to UPS: the connection is built from Shopify's own settings, no app is needed.
Sign your corporate agreement with UPS Turkey
UPS Turkey shows a single channel for corporate pricing: the sales operations email given next to the shipment-cost calculator on the home page. You write through ups.com and request a meeting; there is no self-service corporate application form filled on the site.
Take your account and shipper number
After the agreement your UPS account is opened and your shipper number is defined. This number is a required field of the Shopify-side connection; a live rate cannot be connected at checkout as an individual sender. You also ask your representative for your corporate-portal login credentials at this stage.
Check your Shopify plan
Connecting a carrier account exists on Advanced and Plus plans; on Grow it opens with a monthly add-on fee or by switching to annual billing, on Basic and Starter it does not exist at all. If your plan is not suitable you need to decide in this step, not in the middle of setup.
Connect your UPS account to Shopify
In Settings, under shipping and delivery, there is a carrier-accounts heading; from here connect account is chosen, you sign in to UPS and on return the account or shipper-number field is filled. Then you need to choose the carrier-calculated rate type on your shipping profile.
Set up the label and tracking side
The rate at checkout and the label are two separate jobs. In Turkey the label is printed from UPS's own panel or from an integration tool; writing the tracking number on the order and reading delivery status back also come from that side. Correct your address fields in this step; district must be a separate value.
Confirm both sides with a test order
First check that the rate appears at checkout; because your contracted rate taking its place can take three business days, you may see list price on the first day. Then create a shipment from a single order, print the label, and check that the tracking number is written on the order and delivery status is read back.
The table below shows side by side what the two integration paths solve.
| What you need | Direct carrier account | Integration tool |
|---|---|---|
| Contracted rate at checkout | Yes | Depends on the tool |
| Shipment declaration | No | Yes |
| Label printing | No in Turkey | Yes |
| Writing the tracking number on the order | No | Yes |
| Reading delivery status back | No | Yes |
| Bulk label and packing slip | No | Yes |
| Shopify plan requirement | Advanced or Plus | None |
| Your own UPS agreement | Required | Required |
The last row of the table is an important detail at UPS: at some shipping firms a shipment can leave on the tool's bulk rate without an agreement, while at UPS this path appears closed. So whichever path you choose, your own UPS agreement is required.
Tell us about your catalog and current setup, and we will work out how the Shopify UPS 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.
Which panel on the UPS side does what?
UPS has a corporate-customer portal specific to Turkey and its official name is UPS Kurumsal. According to its definition it shows the current status of inbound and outbound shipments, invoice and current-account movements, reports and delivery reports; a courier request can be placed, and address and payment-method changes can be made on a shipment. Login credentials are not self-service: the portal's own page writes that the username and password need to be requested from the sales or customer representative.
The second panel name is UPS Smart and it is featured as an ecommerce panel on the Turkey home page: it is built on combining global marketplaces on one platform to ship and track. No channel list of whether it supports Shopify has been published; if you are considering using it you need to ask your representative. For high-volume shipping there is also a Windows desktop software named WorldShip; it is defined for operations above ten packages a day and can connect to your own business system.
The developer side is open and global: UPS publishes a service catalog and an authentication guide on its own developer portal. The most important check item here is this: the old access-key authorization was closed and the authentication model was renewed. If an old UPS integration you inherited one day stopped working for no reason, this is the first place to look; in a custom build, authentication needs to be moved to the current model.
On who the agreement belongs to, UPS looks a bit stricter than other firms. At some shipping firms, stores without their own agreement can ship on an intermediary's bulk rate; at UPS this path appears closed, so whichever path you choose your own UPS agreement is required. The invoice also comes directly from UPS.
Does UPS have its own Shopify apps?
On this question UPS stands apart from the seven shipping firms: no Turkish shipping firm publishes an app in its own name in the App Store, UPS sits with three apps. Care is needed on the Turkey scope, though.
The shipment-dashboard app
Order sync, bulk labels, tracking, return labels, pick lists, shipping rules, splitting an order and package-size matching are listed. Setup is free; the carriage fee is invoiced to your UPS account.
The live-rate app
It shows your contracted rate at checkout, allows a plus or minus share on the rate and a warehouse with more than one origin. It does the same job as Shopify's own carrier-account connection by a different path.
The international-checkout app
Showing customs duty, tax and fees at checkout on an international shipment and automatic customs-tariff-code classification are listed. That it works on a shipment leaving Turkey could not be confirmed.
The Turkey scope was not confirmed
All three listings are in English and the developer address is in the United States. Whether they can be installed from Turkey and whether they have Turkish-language support could not be confirmed.
Local integrators support UPS Turkey
The practical path for the label and declaration side in Turkey is local panels. UPS is among the relatively newly added carriers on these panels; setup credentials also come from the representative by email, not from a self-service portal.
The two paths do not replace each other
For the rate at checkout, the direct carrier account or UPS's live-rate app; for label, declaration and tracking, the shipment dashboard or a local integrator. Most stores need both sides.
What you need to confirm before setup
UPS's global documents are open, but many topics on the Turkey scope are not published. The nine headings below are what you should ask your representative before setup; English content on the internet answers most of these questions with a United States assumption.
Is there cash on delivery, how does it work
No official page defining a cash-on-delivery shipment on the UPS Turkey side was found. The corporate portal mentions a payment-method change but does not give a cash-on-delivery definition. If cash on delivery is part of your business model, you need to ask this from the start.
Which documents are requested, how long approval takes
The document list requested on a corporate application and the approval time are not published. Because the process depends on a meeting with a sales representative, you should set your calendar to that; day counts on the internet are generalizations from other firms' flows.
What your domestic-shipment rate will be
UPS Turkey's cost calculator asks for domestic and international shipments separately, so domestic shipments are done. Content that describes UPS as international only is wrong; you do need to learn in the meeting where your domestic rate sits compared with other firms.
Can customs duty be shown at checkout
UPS's international-checkout app lists showing customs duty and tax at checkout, but that it works on a shipment leaving Turkey could not be confirmed. If you do e-export, do not promise this before seeing it on a test order.
In which countries paperless customs documents are valid
UPS offers a service that reduces paper customs documents on an international shipment, and Shopify's UPS page mentions this when you ship with your own account. Which countries accept it changes by shipment, so you need to take the country list from your representative.
Is the authentication of your old integration current
The old access-key authorization was closed and the authentication model was renewed. If you have an inherited UPS integration and it stopped working for no reason, this is the first place to look; in a custom build it needs to be moved to the current model.
Do you need the desktop shipping software
The Windows desktop software defined for high volume is recommended for operations above ten packages a day and can connect to your own business system. You should settle how it will sit together with Shopify by saying your volume.
Does the ecommerce panel support Shopify
The channel list supported by the ecommerce panel featured on the Turkey home page is not published. If you are considering using this panel you need to ask about Shopify support directly.
Which format and size the label comes in
The file format of a UPS label in Turkey could not be confirmed. If you will buy a thermal printer, you need to ask the size and format question to the provider of the panel or tool you will print the label from.
Why does the tracking number not arrive at once?
Even if the checkout side is solved, the label and tracking side in Turkey runs by its own rules. A barcode and a tracking number are not the same thing, and the two are created at different moments.
A barcode and a tracking number are not the same thing
The barcode is an intermediate number produced so the carrier can recognize the package. The tracking number is assigned after the package enters the system and the declaration is complete. That is why the tracking number is written on the order after the package enters the flow, not at once.
An undeclared label cannot be scanned
A label printed without a declaration has no counterpart in the system and the package does not enter the flow. Printing the barcode first and declaring later is not a problem; the reverse is. The flow must always close with a declaration.
If the tracking number is not written, the customer sees nothing
Shopify's notification chain starts when the tracking number is written on the order. When the number is not written, the customer cannot learn that the package has left, and the support load comes back to you; if you also sell on a marketplace, the same delay hits your score on that channel.
The checkout connection does not carry tracking data
The carrier-account connection only calculates a rate; it does not create a shipment, print a label or write a tracking number. If the rate appears at checkout but orders sit in unfulfilled status, the missing piece is the second connection.
If delivery status is not read back, the order does not close
When status is not read back, the order list swells in unfulfilled status and the start of the return window is tracked by hand. When status arrives, the order closes on its own and end-of-day checks get shorter.
Label size decides whether the barcode will scan
The common size in ecommerce is a fifteen-by-ten-centimeter thermal label. You can print without a thermal printer, but printing a label-size design on large paper shrinks the barcode until it will not scan; in that case a packing-slip format is preferred.
If the order is cancelled, the declaration must be cancelled as well; if the address changes, the declaration is cancelled and created again. UPS's corporate portal officially lists address and payment-method changes on a shipment, so there is a correction path on a shipment that has left; this does not fix missing data in your declaration, though.
Why does your shipping cost come in above your estimate?
Showing your real rate at checkout closes part of the cost gap but not all of it. Two topics that come from Shopify's data structure sit the same way at UPS as well.
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. The data that would enter a volumetric-weight calculation is not on the order.
Volumetric weight can decide the invoice
The invoice is issued on whichever is larger, real weight or the value calculated from volume. Desi calculation on a domestic shipment and volumetric weight on an international shipment work by the same logic; the gap grows on bulky but light products.
The gap between declaration and measurement hits the invoice
If the declared value and the measured value differ, the invoice is issued on the measured value. Even if the charge you took from the customer at checkout was calculated from the correct rate, if the package size was declared wrong the difference comes out of margin.
District must be a separate, recognizable value
The carrier side expects district as a separate field. A district buried in free text, misspelled or left empty fails shipment creation; the package goes to the wrong transfer point and is delayed.
The fix is turning address line 2 into district
On plans other than Plus you cannot add city and district pickers at checkout. The path used in the field is one: address line 2 is made required and renamed to district by editing the checkout language. The second path is taking an address confirmation after the order.
On an international shipment product data is also a cost line
If the customs tariff code, product description and origin data are missing on an international shipment, the shipment waits at customs; waiting sometimes turns into an extra fee. Keeping this data on your product cards should be part of setup.
Defining your package standards and declaring shipments on their real dimensions helps twice at UPS: it closes the surprise on your invoice and it makes the rate shown to the customer at checkout correct. The value of a live-rate connection is only as good as the package data you declare.
The most common mistakes in a Shopify UPS integration
The nine headings below are the mistakes met most often in setup. At UPS half of them come from thinking the checkout connection and the label connection are the same thing.
Connecting the carrier account and waiting for a label
The checkout connection only calculates a rate; it does not create a shipment, print a label or write a tracking number. A UPS label cannot be bought through Shopify in Turkey; this permission is open only to shipping origins in the United States.
Learning the plan requirement later
Connecting a carrier account exists on Advanced and Plus plans; on Grow with an add-on fee, on Basic and Starter not at all. A setup that starts without checking the plan gets stuck at the last step.
Thinking list price on the first day is an error
Your contracted rate appearing at checkout can take three business days. Removing the connection and building it again when list price appears on the first day starts the process from scratch.
Trying to connect a live rate with an individual account
The connection asks for a shipper number and this number comes with a corporate UPS account. A contracted rate cannot be connected at checkout before a corporate agreement is signed.
Planning to ship UPS on the tool's bulk rate
At some shipping firms a shipment without an agreement is possible, while at UPS this path appears closed. A plan built without your own UPS agreement ends with the UPS option not appearing on the tool's panel.
Following the United States assumption in English sources
Foreign content describes buying a discounted UPS label; this is not possible in Turkey. The same sources also describe a return label as a ready button, while that too exists only on shipments inside the United States.
Going live without fixing the district field
Orders with an empty district or a district buried in free text fail at the declaration step, and the package goes to the wrong transfer point. Turning address line 2 into district should be part of setup.
Showing a rate without declaring package size
Showing the correct rate at checkout does not help when the correct package data is not declared: the invoice is issued on the measured value and the difference comes out of margin. The value of a live rate is only as good as the accuracy of your declaration data.
Not updating the authentication of an old integration
The old access-key authorization was closed. When an inherited UPS integration stops working for no reason, the cause is most often this; authentication needs to be moved to the current model.
Three common problems and how we solve them
The three setup scenarios below show how we handle Shopify UPS integration problems we have solved in stores we connected.
The real rate at checkout never appears
ProblemThe store had signed its corporate agreement with UPS and connected the account to Shopify, but the charge it saw at checkout was clearly above its contracted price. The connection had been removed and rebuilt twice, and the result had not changed.
CauseTwo separate things had stacked. The contracted rate taking its place at checkout can take three business days, and every reconnect started this time from scratch. Also the carrier-calculated rate type had not been chosen on the shipping profile, and the old fixed rate had stayed open.
SolutionThe correct rate type was chosen on the shipping profile, the fixed rate was closed, and three business days were waited without touching the connection. After the contracted rate took its place the real price started appearing at checkout; later changes were planned so they would not fall on campaign days.
The rate appears, orders sit unfulfilled
ProblemThe store was showing the UPS rate at checkout and the customer side was working without trouble. The order list was piling up in unfulfilled status, though, labels were being printed by hand from the UPS panel and tracking numbers were being copied one by one.
CauseThe connection that had been built was only the carrier-account connection that calculates a rate. This connection does not create a shipment, print a label or write a tracking number; there is also no permission to buy a UPS label through Shopify in Turkey.
SolutionThe second connection was built: an integration tool was put in place for the label, declaration and tracking side, and the checkout connection was left as it was. When the tracking number started being written on the order, customer notifications went out on their own and orders closed when delivery status was read back.
Waiting at customs on international shipments
ProblemA portion of shipments from a store that had started selling abroad were waiting at customs, and customers were complaining about the length of the delivery time. On some shipments an unexpected tax being asked from the buyer turned into return requests.
CauseThere were two gaps. Customs tariff code, product description and origin data were not kept on the product cards; without this data shipment documents were prepared incomplete. Second, because customs duty and tax were not shown at checkout, the cost appeared to the customer at delivery.
SolutionCustoms tariff code and origin data were added to the product cards and mapped so they would be written onto the shipment documents from those fields. The setup needed to show tax and customs lines at checkout on an international shipment was evaluated; because the scope changes by the country shipped to, it was confirmed with test shipments.
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.
Frequently Asked Questions
How do you set up Shopify UPS integration?
Can I connect my own UPS account to Shopify, does it work from Turkey?
Which Shopify plan is needed for this?
What is a shipper number, where do I get it?
I connected my UPS account but my contracted price does not appear, how long should I wait?
If I connect my UPS account, can I also print a UPS label from Shopify?
How is a corporate agreement made with UPS Turkey, who do I write to?
Where do I get my UPS Kurumsal portal login?
Does UPS have its own Shopify app?
Which path should I use in Turkey, the app or a local integrator?
What is UPS Smart, does it support Shopify?
Do I need to use WorldShip, does it work together with Shopify?
My old UPS integration stopped working, what could the reason be?
Can I ship with UPS without my own agreement?
Does UPS Turkey do domestic shipments?
Is there cash on delivery at UPS?
When I sell abroad, can I show customs duty at checkout?
What are paperless customs documents, are they valid on my shipment?
My international shipments are waiting at customs, what should I look at?
When is the tracking number added to the order?
The rate appears at checkout but orders are not fulfilled, why?
What does the shipment has not been declared warning mean?
If I cancel the order, is the shipment cancelled too?
Why did my invoice come in higher than I expected?
How is a district field added at checkout?
Can I create a return label in Shopify?
How do I call the courier?
Can I work with more than one shipping firm at the same time?
How do marketplace shipping and my own agreement split?
Does the app set the shipping price?
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 :)







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

Hey!
Bannerlarım kesik gözüküyor :(
Yardım eder misiniz, kampanya dönemindeyim.
Selam Elif!
2 dakikaya çözüyoruz.





.webp)
.webp)


