Help · Sales & Checkout · Shipping

Set Up Shipping & Delivery

Create shipping methods with prices by country, specify delivery countries, set up free shipping, and generate shipping labels for DHL, GLS, UPS, Hermes, and other carriers directly in the backend. Here’s the most common question: Why isn’t a shipping method offered for a particular country?

At a Glance

  • Shipping methods: under Settings → Checkout → Shipping Methods, calculated by weight, order value, quantity, or as a flat rate, with prices by country zone.
  • Shipping Countries: The country zones under Settings → Country / Tax → Country Zones determine which countries customers can select. By default, these are the EU countries.
  • Free Shipping: via the “Free Shipping” module with thresholds per country and customer group or per item.
  • Shipping labels: DHL, DPD, GLS, Hermes, Planzer, Post AT, Post CH, and UPS directly from the order; switch to live mode after testing.
  • Delivery time: Set via traffic light profiles for each item, depending on inventory.

In this guide


How the Store Calculates Shipping Costs

Each shipping method is a module with a module type and prices based on country zones. During checkout, the customer sees all shipping methods that are available for their shipping address and shopping cart.

Module TypePrice is based onApplies to
by weightTotal weight of the order, in tiersItems with widely varying weights
Based on merchandise valueOrder value, in tiers“Free shipping on orders of … or more” directly in the shipping method
Flat rateFixed amount per orderSimple pricing structure
per itemNumber of itemsItems of the same type
For weight-based calculations, each item requires a realistic weight, including packaging. If this information is missing, the shipping costs will be incorrect.

Create a shipping method

Under Settings → Checkout → Shipping Methods, you can view all shipping methods. Several modules are preconfigured by default; only DHL is active. Edit an existing one or create a new one in the “Add” tab.

  1. Enable“Shipping Module Status” and select the service provider under “Shipping Provider.”
  2. Select“Module Type ”: by weight, by order value, flat rate, or per item.
  3. Define“Shipping Zone ”: In which countries the shipping method is offered.
  4. Fill in“Country Zones ”: For each zone (tabs “Zone 1,” “Zone 2,” …; add more via “New Zone”), select the countries under “Countries” and set up the pricing tiers: for each row, enter a price and the value at which it applies. Add additional tiers using “New Row.” Prices are net.
  5. If necessary, set minimum and maximum values for weight or merchandise value, as well as “Maximum Package Weight.”
  6. Enterthe “Tracking URL” so the customer receives a link for tracking the shipment (see Shipment Tracking).

Example: Tiered pricing based on order value

Two lines are sufficient: €4.12 for merchandise values starting at €0 and €0 for merchandise values starting at €50. This means that shipping costs €4.12 net for merchandise values up to €50, and nothing for values of €50 or more. You can set up a weight-based tier in the same way, for example, €4.19 starting at 0 kg, €5.87 starting at 2 kg, and €8.39 starting at 5 kg.

Shipping Method Based on Order Value: Shipping Zone, Module Type, Zone 1 with rates of 4.12 euros for orders of 0 euros or more and 0 euros for orders of 50 euros or more, and the country Germany

Tiered rates based on order value in Zone 1: €4.12 for orders of €0 or more and €0 for orders of €50 or more (net). Germany is selected under “Countries.” Click to enlarge.

Combine Shipping and Payment

The “Accepted Payment Methods” column in the list shows which payment methods are available for a given shipping method. You can change this in the “Shipping and Payment” tab. If it says “Module not assigned to any payment method!” there, the customer cannot pay using this shipping method.

List of shipping methods with accepted payment methods, status, and order; for DPD Standard, the note "Module not assigned to any payment method"

The shipping methods are found under Settings → Checkout → Shipping Methods. No payment method is assigned to “DPD Standard,” so customers cannot pay using this shipping method. Click to enlarge.


Shipping Countries and Country Zones

Country zones group countries together for shipping costs and taxes. They also control which countries customers can select in the address field.

Country Selection in the Store

Under Settings → Country / Tax → Country Zones, each zone has a value for “Sorting in the Country Box.” Customers can only select countries from zones where this value is not 0. By default, these are the EU countries. If you also ship to Switzerland or worldwide, set the value for the appropriate zone and set up a shipping method for it.

Limiting Delivery Countries

If you want to ship to fewer countries, set “Sorting in the Country Box” to 0 for their respective zones. You can further restrict shipping per shipping method using “Shipping Zone” and “Country Zones,” and per payment method using “Zone for This Payment Method.”

Edit the European Union country zone with sorting in country box 3 and sorting in the destination country preselection box 1

"European Union" country zone: The sorting in the country box is set to 3 by default. For the example below, the sorting for the delivery country preselection is set to 1 here. Click to enlarge.

Do not remove a country from its tax zone. For a country without a tax zone, the store calculates 0 percent tax. Standard zones associated with a tax rate are therefore protected against renaming and changes to country assignments.

Why isn’t a shipping method offered for a particular country?

Check these points in order. It’s usually due to one of the first four.

  1. Is the country selectable? The country’s zone has a value other than 0 under “Sorting in the Country Box” in Country Zones.
  2. Is the shipping method active? “Shipping Module Status” is enabled, including for this domain in Multishop.
  3. The shipping method’s “Shipping Zone” includes the country.
  4. “Country Zones” for the shipping method: The country is in a zone with a price scale. If it’s not listed there, there’s no price and therefore no shipping method.
  5. The weight or order value is outside the minimum and maximum values or outside the pricing tier.
  6. Bulky items: A shipping method with “bulky items” only appears if there are bulky items in the shopping cart; all others will not appear.
  7. Items with restricted shipping options: An item in the shopping cart allows only certain shipping options.
  8. Island surcharge: The shipping method is blocked for the island specified in the delivery address.
  9. Customer group or customer: The shipping method is excluded under Customers → Customer Groups (“Shipping modules for this customer group”) or for the specific customer.
  10. Free shipping applies: In this case, the store will only display “Free Shipping” and the shipping methods enabled under “*additionally* accepted shipping modules.”

Free Shipping

Free shipping for orders above a certain value, for specific customer groups, or for individual items: There are several ways to set this up.

“Free Shipping” Module

Under Settings → Checkout → Shipping Methods, enable the “Free Shipping” module. In “Free Shipping Thresholds,” set the order value for each country and customer group at which shipping becomes free. With “*Additional* Accepted Shipping Modules,” selected shipping methods—such as express shipping—remain available as options.

Individual Items

In the product details, under the “Prices” tab, enable “Free Shipping.” With “Exclude from Free Shipping Threshold,” however, an item does not count toward the order value for the threshold. Under Settings → Checkout → Shipping/Packaging, “Shipping Priority” determines whether a single free-shipping item makes the entire order eligible for free shipping.

In the shipping method

It’s often easier to set this directly in the tiered pricing for a shipping method based on order value: A line that says “0 € starting at 50 €” means “free shipping on orders of 50 euros or more (net).” This way, all other shipping methods remain available.

Since XONIC 4.9.135, the threshold and item flags apply only in the countries and domains for which the “Free Shipping” module is enabled. There is no category toggle for free shipping; to apply it to multiple items at once, use the import feature or marketing automation.


Pre-selection of Delivery Country

A window asks visitors for their delivery country before they make a purchase. The store then displays prices, tax, and shipping costs for that country.

Enable

Go to Settings → Checkout → Shipping/Packaging and enable “Pre-select Delivery Country.” You can specify which countries the window offers in the country zones using “Sorting in the Pre-select Delivery Country Box.” By default, the value is set to 0 everywhere, so the window does not appear. It appears only if there is more than one country to choose from.

What the window displays

Search and quick selection of the most important countries (“Pre-selection of Delivery Countries: Quick-Select Countries,” available since XONIC 4.8.3), delivery time, the minimum order value for free shipping, the currency, VAT rates (if desired, available since 4.9.124), and a customs notice for countries outside the EU.

"Country of Delivery" preselection window in the online store, featuring a search function, quick selection options for Germany, Austria, and Switzerland, as well as delivery times, the threshold for free shipping, and currency"

The delivery country preselection in the store. “Free shipping on orders of €59.50 or more” is based on the tiered pricing above: €50 net plus VAT. Click to enlarge.


Oversized Items and Surcharges

Bulky Items

Mark bulky items in the “General” tab as “Bulky Items” and create a shipping method with “Bulky Items” enabled. If there are bulky items in the shopping cart, the store will only offer this shipping method.

Island Surcharge

Under Settings → Checkout → Summary, install “Island Surcharge.” In the “Edit Islands” tab, set a separate surcharge for each country and ZIP code or block shipping methods.

Surcharges per Item

For each product, there is an “Individual Shipping Cost Surcharge (net),” a special shipping option, and a different shipping weight. For the surcharge to apply, “Add individual shipping cost surcharges for products” must be enabled in the shipping method.


Generate Shipping Labels

With an integration with your shipping provider, you can generate the label directly from the order. The tracking number is automatically added to the order.

Individual Order

Open the order under Orders → Orders; in the “Shipping” tab, under “Generate Shipping Label,” select, for example, “Request DHL Shipping Label.” You can then print the label by clicking “Print Shipping Label….”

Multiple orders

Select the orders in the order list and, under “Action for Selected Orders,” choose, for example, “Request DHL Shipping Label(s).” The options will only appear once the service provider’s login credentials have been entered.

You can enter the login credentials under Settings → Interfaces → Shipping Providers. The operating mode is also listed there. By default, it is set to Test (“sandbox” or “TEST”); set it to Live before going into production.

DHL

Business customer account with API access. “DHL Customer Number,” “DHL Partner ID,” “DHL Password,” “DHL Mode”; you define which DHL products are booked for each shipping method in “DHL Product Assignments.” Return labels are also available.

GLS

GLS ShipIT with OAuth2 credentials from GLS (“GLS API - Mode,” “GLS API - Variant”). Older Basic Auth credentials will continue to work until December 31, 2026.

UPS

UPS business account and OAuth 2.0 credentials from the UPS Developer Portal. You specify the booked service using “UPS Service Product” and the operating mode using “UPS API Mode.”

DPD

“Activate DPD API,” “DPD API Mode,” and “DPD Service Product.”

Hermes

Certified integration with Hermes; see the Hermes section for details.

Other

Planzer, Post AT, Post CH, SendCloud, ShippyPro, and DHL Easylog—each listed under “Shipping Providers.”


Hermes Shipping (HSI REST API)

Create Hermes shipping labels and return slips directly in the XONIC backend—with the click of a button via the Hermes Shipping Interface (HSI) using OAuth2 authentication.

New in XONIC 4.8.5: Native integration with the Hermes Order API—no CSV export, no portal login. XONIC is an official Hermes software partner; the integration was certified and approved by Hermes Germany in July 2026.

Prerequisites

  • XONIC 4.8.6 or newer—the software ID that XONIC uses to identify itself as a Hermes software partner is already stored. You do not need to enter anything there.
  • Your Hermes business customer account —the login credentials you receive depend on your shipping volume:
    • Self-Service (300–100,000 shipments/year): You register yourself on the Hermes business customer portal and set your username and password there.
    • Key Account (over 100,000 shipments/year): You’ll be supported by Hermes and will receive your login credentials from Hermes.
You’ll find the settings under Settings → Interfaces → Shipping Providers → Hermes. An info box there will guide you step by step through the setup process.
Still on XONIC 4.8.5? The software ID isn’t included there yet—we’ll activate the integration for you once. To do this, please contact our support team.

Setup in three steps

  1. Enterthe username and password for your business customer account—both are required; without this information, Hermes will not grant access
  2. Selectthe customer segment that matches your contract (self-service or key account)—see the warning below
  3. Under “Shipping Method Assignment,” specify the packaging type (package, bag, bicycle, bulky item) and the desired additional services for each shipping method
The customer segment is the most common source of errors: Self-Service books shipments based on the package class (XS–XL, automatically derived from the weight), while Key Account books based on weight and dimensions/volume. Hermes rejects shipments if both fields are entered together—an incorrectly set segment will cause every shipment to fail.
Before going live: Test using sandbox mode—this does not generate actual shipments. Only switch to live mode afterward.

Create shipping labels

  1. Go to Orders → Orders and open the order to be shipped
  2. In the Shipping tab, under “Generate Shipping Label,” click “Request Hermes Shipping Label”
  3. If the package weights differ from the standard, use “Request Hermes Shipping Label with Custom Data” —there you can enter the weights yourself
  4. The shipping label is generated directly as a PDF —print it out and affix it to the package
  5. The tracking number is automatically added to the order, including a link to Hermes tracking
Multiple orders at once: Select the orders in the overview and choose “Request Hermes shipping label(s).” Under “Documents, ” “Hermes shipping labels” groups the labels that have already been generated for batch printing. Multiple packages from a single order are generated as separate shipments, each with its own tracking number.
No media disruption: No manual CSV export, no Hermes portal login—everything directly in the XONIC backend!

Create Return Labels

  1. In the Hermes settings, toggle the “Show Returns Label Button” switch (disabled by default)
  2. Click “Request Hermes Return Label” in the order
  3. You’ll receive the return label as a PDF to include with the package or send separately
For domestic returns, the tracking number from the original shipment is sufficient—Hermes automatically updates the addresses. Returns from abroad are generated with the full address. A return label can also be created without a prior Hermes shipping label, for example, if the merchandise was delivered to the customer via a different method.

Additional Services – Automatically Generated from the Order

You don’t need to select the most important services for each shipment. XONIC derives them from the data already available in the store:

  • Bulky items: applies automatically as soon as an item in the order is marked as bulky—the same flag used in the shipping cost calculation
  • Cash on delivery: Is only processed if the order is actually paid for via cash on delivery. XONIC retrieves the amount from the order—this ensures the delivery person never collects payment for an order that has already been paid for
  • Customs declaration: Generated automatically for destinations outside the EU—based on the item’s tariff code and country of origin, as well as your customs data (EORI, VAT ID, optional IOSS)
  • Package Notification, WunschPaketShop, Express Service, and more: Enable these per shipping method in the shipping method assignment
Customs shipments require two pieces of information per item: the customs tariff number (exactly 11 digits) and the country of origin. You enter both as additional fields in the product editor. If the customs tariff number is missing, the shipment will intentionally not be generated—it’s better to have a clear notification than an incorrect customs declaration.

OAuth2 Security

Communication with Hermes is exclusively encrypted using the industry-standard OAuth2 protocol. Access is granted only through a combination of the software ID and your business customer account—your login credentials remain within your XONIC installation and are never shared with third parties.

GDPR-Compliant Package Notification

Email addresses and phone numbers are only transmitted to Hermes if your customer has consented to shipment tracking. Cash-on-delivery and PaketShop deliveries require this notification—if consent is missing, the shipment is intentionally not created, rather than passing on the data without permission.


Shipment Tracking

With a shipping label integration, the store enters the tracking number itself. Without an integration, you enter it manually.

Enter Tracking Number

In the order, on the “Shipping” tab, click “Edit” under “Carrier Tracking Number(s)” and enter the number.

Shipping Tracking Link

The store generates the link using the shipping method’s “Tracking URL” and the tracking number, which it appends directly. Therefore, enter the service provider’s address so that it ends with the tracking number—for example, with …?piececode= at the end.


Delivery Time with Traffic Light Profiles

Traffic light profiles display a delivery time with a colored icon on the product page, depending on inventory.

Create a Profile

Under Products → Traffic Light Profiles, you can define levels for each profile using “Stock Level,” “Delivery Time in Days” (from and to), “Delivery Days” (weekdays), “Text,” and an icon.

Assign to items

In the product details, go to the “General” tab and select “Traffic Light Profile (Availability Traffic Light).” The display automatically updates based on inventory. Starting with XONIC 4.10, you can also specify delivery days by country.

Traffic-light profile with three levels: inventory level, lead time in days, delivery days, icon with color and text

A traffic light profile with three levels: out of stock; “Only a few left” starting at 1 unit; “In stock” starting at 10 units. Click to enlarge.



Frequently Asked Questions

A customer from Switzerland cannot place an order. Why is that?

By default, only EU countries are selectable. For the country zone including Switzerland, set “Sorting in the Country Box” to a value greater than 0 and add Switzerland with a price tier to the “Country Zones” for a shipping method. Keep in mind customs duties and taxes for shipments outside the EU.

How do I offer “free shipping on orders of 50 euros or more”?

Either use the “Free Shipping” module with a threshold per country and customer group, or add a line “0 € for orders of 50 € or more” directly to the pricing tier of a shipping method based on order value. Note that the pricing tier calculates net amounts.

Can I sell individual items with free shipping?

Yes, by selecting “Free Shipping” in the “Prices” tab of the product. You can determine whether such an item makes the entire order eligible for free shipping using “Shipping Priority” under Settings → Checkout → Shipping/Packaging.

Why is the button for the shipping label missing?

The options for requesting shipping labels will only appear once the service provider’s login credentials have been entered under Settings → Interfaces → Shipping Providers.

Why does the tracking link lead nowhere?

The store appends the tracking number directly to the “Tracking URL” of the shipping method. The address must therefore end exactly where the tracking number belongs.

Further Guides

We’ll set up your shipping with you

We’ll help you with shipping methods, country zones, and integrations with DHL, GLS, Hermes, and UPS.

Contact Support Now