Shopify Shipping Setup: Zones, Rates, Delivery Times & Customs
In short: You set up shipping in Shopify under "Settings > Shipping and delivery": choose a shipping profile, create shipping zones (countries), and define shipping rates for each zone as a flat rate or tiered by weight or order value. For Germany, one zone with a standard rate and free shipping above a minimum order value is enough to start. If goods come from China, the rule since 1 July 2026 is: no more duty exemption below €150, but a flat €3 customs duty per item (per tariff line), plus import VAT from the first euro.
Shopify shipping setup looks confusing at first: profiles, zones, rates, markets. This guide explains the terms, walks you through the settings step by step, shows a shipping cost calculation with real DHL prices and clarifies what applies to customs since July 2026. If you dropship, this article is part of our overview of Shopify dropshipping in Germany.
The terms: markets, profiles, zones, rates
- Market: A country or group of countries you sell to. According to Shopify, a country must belong to an active market before you can deliver there. More on this in Shopify Markets: multiple languages and currencies.
- Shipping profile: A set of rules for specific products. Every store has a general profile that all products go into. For products with different shipping costs, such as bulky goods or goods from a particular supplier, you create separate profiles (up to 99, according to Shopify).
- Shipping zone: A group of countries or regions with the same rates, e.g. "Germany" and "EU".
- Shipping rate (option): What the customer sees at checkout, e.g. "Standard shipping DHL, €4.90".
Shopify is gradually switching shipping profiles over to "shipping options by market". Existing stores keep their settings until they are switched over; the rates are carried over in the process. If your admin looks different from what's described here, your store has probably already been switched. The logic (where to, which products, what price) stays the same.
Shopify shipping setup step by step
- In the Shopify admin, open Settings > Shipping and delivery.
- Under Shipping profiles, click the profile you want to edit (at first, the general profile).
- Check the shipping origin: this is the address you ship from. With dropshipping, it is really the supplier's warehouse (see below).
- Under Shipping zones, click Create zone, give it a name (e.g. "Germany"), select the countries and click Done.
- In the zone, click Add rate, enter a name that customers will understand and choose the calculation under Rate type.
- Click Done and then Save.
These rate types are available (according to the Shopify Help Center):
| Rate type | How it works | Good for |
|---|---|---|
| Flat rate | One fixed price for every order | Uniform, lightweight products; dropshipping |
| Order value | Price tiers based on cart value | Tiers like "under €50: €4.90, from €50: free" |
| Weight | Price tiers based on total weight; products need correct weights | Products of varying weight, shipping yourself |
| Calculated by a carrier or an app | Live prices from the carrier or an app | Many sizes and weights, international shipping |
Setting up free shipping above a minimum order value
When creating or editing a shipping rate, choose Offer free shipping and enter the minimum order value. With weight or order value tiers, free shipping only applies within one tier. So leave the "Maximum" field of the top tier empty; otherwise you create gaps in which customers see no shipping option at all. How to combine the threshold with discounts and upsells is covered in discount codes, bundles and upsells in Shopify.
Charging individual products differently
If a product should not fall under the free shipping rule, such as a bulky item, create a separate shipping profile for it and assign the product there. If the customer buys products from several profiles, Shopify adds up the shipping costs of the profiles.
Delivering only to certain cities
Shipping zones work at country and region level. For delivery in your local area, for example a drinks or food delivery service, Shopify offers local delivery, where you can limit the delivery area and set your own minimum order values.
The "No shipping options available" error: the most common causes
If the customer sees no shipping method at checkout or can't order at all, it's almost always one of these:
| Cause | Solution |
|---|---|
| The customer's country doesn't belong to any active market or shipping zone | Activate the country in the market and add it to a zone with a rate |
| The product is in a shipping profile with no zone for that country ("No shipping" notice on the product) | Create a matching zone in the profile or move the product to the general profile |
| Weight or order value falls into a gap between two tiers | Create tiers without gaps, top tier without a maximum |
| The product isn't marked as a physical product or has no weight | Check "Physical product" on the product and enter a weight |
| The shipping location has no rates (such as a new location or an app warehouse) | Assign the location to the profile and create zones for it |
After every change, test with a test order to an address in the country concerned.
Calculating shipping costs (with DHL prices)
Before you set shipping prices for customers, you need to know what shipping costs you. DHL's consumer prices (as of 1 January 2026) are a good starting point if you ship yourself:
| Product | Dimensions/weight | Price |
|---|---|---|
| DHL Päckchen S | up to 2 kg, 35 × 25 × 10 cm | €4.19 |
| DHL Päckchen M | up to 2 kg, 60 × 30 × 15 cm | €5.19 |
| DHL Paket 2 kg | postage online only | €6.19 |
| DHL Paket 5 kg | up to 5 kg | €7.69 |
| DHL Paket 10 kg | up to 10 kg | €10.49 |
Sources: Deutsche Post price list 01/2026 (German) and DHL domestic prices. With a business customer contract, you usually pay less depending on volume; the terms are individual.
Add the box, filling material and packaging license (Verpackungslizenz) to the postage. The shipping weight is the product weight plus packaging. So if you charge by weight, enter the weight including packaging in Shopify. If you send light items as letters and heavier ones as parcels, map this with weight tiers: a cheap tier up to the letter limit, the parcel rate above it.
Legally, when stating prices in an online store in Germany, you must indicate whether and how much shipping costs are charged on top (§ 6 of the German Price Indication Ordinance, Preisangabenverordnung). Your theme usually displays the notice "plus shipping" (zzgl. Versandkosten) automatically. If you offer completely free shipping, you can adjust the text in the theme settings or language texts. Which other mandatory information applies is covered in protecting your Shopify store against warning letters.
Stating delivery times correctly
When selling online to consumers, you must state before the purchase by when you will deliver. Vague statements such as "delivery time on request" are risky. Give a concrete range in working days, e.g. "Delivery time 2–4 working days", and do so where the customer buys: on the product page and at checkout, not just in your terms and conditions (AGB).
- Factor in the processing time (until handover to the carrier) and the carrier's transit time.
- State different delivery times for products with different shipping locations.
- Use the upper limit, not the best case. Better to surprise positively than to collect complaints.
- Also put the delivery time in the name of the shipping rate, e.g. "Standard shipping (2–4 working days)".
The easiest way to show the delivery time on the product page is with a text block in the product template in the theme editor. If products have different delivery times, create a product metafield "Delivery time" and connect the text block to it. That way you maintain the information per product instead of per theme.
Shipping with dropshipping
With dropshipping, the supplier ships, not you. You still set up shipping rates in Shopify, because they determine what your customer pays at checkout.
- Only enable countries the supplier delivers to. Shopify doesn't know where your AliExpress seller ships. If you enable "worldwide", you'll get orders you can't fulfill.
- Price in the supplier's shipping costs. Either as a flat shipping rate at checkout or in the product price. You shouldn't charge twice, but don't forget that the supplier charges for shipping either.
- A separate profile per supplier. If suppliers take different amounts of time or charge different amounts, each one gets its own shipping profile.
- An honest delivery time. Especially for shipping from China. Customers don't complain about long delivery times they knew about beforehand, but about surprising ones.
With dropshipping, the sender address on the parcel is usually the supplier's. Your imprint (Impressum) and legal texts, on the other hand, show your own address. How to shorten delivery times in principle, namely with suppliers that have EU warehouses, is explained in finding reliable dropshipping suppliers. In the short term, it often helps to choose a faster shipping method with the supplier instead of the cheapest one.
One thing helps above all against the constant question "Where is my parcel?": the supplier's tracking number must end up on the order in Shopify, so the customer automatically receives a shipping confirmation with a tracking link. Dropshipping apps usually transfer it automatically; check this with your first orders.
Catching incorrect delivery addresses
Typos, missing house numbers or swapped postal codes lead to returns to the sender. With dropshipping, this is especially expensive, because the goods then get stranded at the supplier or somewhere in transit and you have to ship again. So check new orders before passing them on to the supplier, and after checking with the customer, correct addresses directly in the order. How to change an order afterwards is covered in editing orders in Shopify. With many orders, address validation apps from the Shopify App Store take over the checks, such as AddressGuard.
Customs, import VAT and IOSS
Shipping within the EU
Within the EU, no customs duty applies and you don't need customs information. But pay attention to VAT: if your sales to consumers in other EU countries exceed €10,000 per calendar year (summed across all EU countries), the VAT of the destination country applies, reported e.g. via OSS. Details in setting up taxes in Shopify.
Goods from non-EU countries to customers in Germany
If the goods come directly to the customer from China or another non-EU country, the following applies:
- Import VAT (Einfuhrumsatzsteuer) has been due from the first euro since 1 July 2021 (IHK Lahn-Dill (German)).
- Customs duty below €150: Since 1 July 2026, low-value consignments from non-EU countries are no longer duty-free. Regulation (EU) 2026/382 sets a duty rate of "EUR 3 per item in a consignment" for consignments with an intrinsic value of up to €150, both for imports via IOSS and for postal consignments. In practice, "per item" means per tariff line, not per piece and not per parcel: articles classified the same way count together. The Austrian Ministry of Finance (German) gives this example: 2 pairs of shoes, 5 T-shirts and 2 blouses are three tariff lines, so €9 in duty. Import VAT comes on top.
- Interim solution: The flat rate applies temporarily until 1 July 2028. After that, with the EU customs reform, goods are to be cleared regularly according to the customs tariff. An additional handling fee for low-value consignments is under discussion; amount and start date had not been set at the time of writing.
| With IOSS | Without IOSS | |
|---|---|---|
| Import VAT | Charged at purchase in the store and reported by the seller; the import is exempt from import VAT | Collected from the customer on delivery |
| Customs duty (up to €150) | Flat €3 per item (tariff line) | For postal consignments also €3 per item; for courier and express services, check with the provider |
| Customer experience | Parcel arrives with nothing extra to pay | Customer pays on delivery, with DHL plus an advance fee (€7.50 since March 2025, according to Händlerbund (German)) |
IOSS (Import One-Stop Shop) is a procedure for distance sales of goods from non-EU countries to consumers in the EU with an intrinsic value of up to €150. German businesses can also take part; registration is with the Federal Central Tax Office (Bundeszentralamt für Steuern) (IHK Gießen-Friedberg (German)). Whether and how you pass your IOSS number on to the supplier so that it ends up in the customs declaration is something to clarify with your supplier and your tax advisor.
Shipping to Switzerland and other non-EU countries
If you ship from Germany to a non-EU country such as Switzerland, you need customs information: country of origin and HS code (tariff number) for each product. You can store both on the product in Shopify. The first six digits of the HS code are internationally uniform; you don't need it for shipments within Germany or the EU. Without further arrangements, your customer pays import duties and fees in the destination country. Point this out in your store, e.g. in the shipping information.
Printing shipping labels
If you ship yourself, it's best to create shipping labels directly from Shopify. According to Shopify, whether you can buy labels via Shopify Shipping depends on the country and carrier. In Germany, there's the official DHL app for Shopify (German), which generates shipping labels manually or automatically from the Shopify backend and also supports return labels. Alternatively, tools like Sendcloud connect several carriers.
For printing, a normal printer and paper in a plastic sleeve are enough. Once you're shipping a few parcels a day, a thermal label printer saves a lot of time, because the labels come out directly as stickers and you don't need ink.
FAQ
Do I need customs information for shipping to other EU countries?
No. There are no customs borders within the EU, so you need neither an HS code nor a customs declaration. VAT becomes relevant instead: from €10,000 in annual sales to consumers in other EU countries, the VAT of the destination country applies. You only need customs information for non-EU countries such as Switzerland, Norway or the UK.
How do I show different shipping costs per product in the cart?
Create a separate shipping profile for products with different shipping costs. Shopify then calculates shipping costs based on the cart contents. The customer sees the final shipping costs at checkout after entering the address. If you want to show them in the cart already, a shipping costs page or a shipping estimate app helps.
Do I have to create a product several times if I want to sell worldwide?
No. A product is created once. You control worldwide sales via markets and shipping zones. For each zone, you define which shipping rates and prices apply. Different prices or languages per country are handled via Shopify Markets, not via duplicate products. But only enable countries that you or your supplier can actually deliver to.
What happens if the cart doesn't reach the minimum order value for free shipping?
Then the customer sees the normal paid shipping rate at checkout. This assumes you have created a rate for that range at all. If it's missing, the customer finds no shipping option and can't order. So after every change, check with a test order just below and just above the threshold.
Where do I set up the shipping policy?
Shopify offers a field for the shipping policy in the policy settings, which can then be linked in the footer and at checkout. For Germany, you should state delivery areas, shipping costs, delivery times and notes on customs for non-EU countries there. Don't copy text from US videos; the information must match your shipping.
Is it worth offering DHL for a surcharge in addition to DPD?
It can make sense if customers prefer a particular carrier, for example because of Packstation lockers or branch pickup. Technically, you create two shipping rates in the same zone, e.g. "Standard (DPD)" and "DHL (+€1.50)". But work out whether two contracts and two pickups justify the effort.
What do I do if the customer says the parcel didn't arrive?
First check the tracking and ask the carrier, for example whether a neighbor or a branch has the parcel. When selling to consumers, you bear the shipping risk: if the parcel is lost, you send a replacement or issue a refund. So only ship with tracking, even for inexpensive items, and then file the claim with the carrier or supplier.
Read next
Last updated: October 2026. Customs and tax rules are currently changing step by step; check the linked sources before making decisions. This article is not legal or tax advice.
Monetais
Rather have your store built?
Monetais, our Shopify agency, builds stores for merchants in Germany, Austria and Switzerland – from theme and product data to legal pages and launch.