All articles

Store Management

Shipping Configuration

Create shipping profiles and ordered rules (weight, price, or quantity) with country targeting and return addresses.

Overview

Store settings → Shipping (/en/store/shipping) uses profiles → ordered rules, not a separate “zones / methods” wizard.

Checkout weight display

Global toggles control whether checkout shows actual weight and/or volumetric weight.

Shipping profiles

Create, edit, duplicate, or delete profiles:

  • Name, description, default flag
  • Dimension factor for volumetric weight (defaults differ for metric vs imperial)
  • Weight unit aligned with Store Setup (kg or lb)

Rules (per profile)

Rules are drag-sorted. Each rule can use one basis:

TypeBasis
WeightProduct weight tiers (unit from Store Setup)
PriceOrder total ranges
QuantityItem count ranges

Per rule you can set:

  • Label, optional flat rate, free shipping flag

  • Tiered min/max rows (ranges must abut continuously — no gaps)

  • Countries (empty = worldwide; otherwise multi-select)

  • ETA min/max days

    When editing ranges, the next row’s min auto-fills from the previous max. Leave the last max empty for an open-ended top tier. Invalid decreasing mins block Save.

AI Import

Store settings → Shipping → AI Import lets you turn a shipping rate sheet into profiles and rules without typing each row manually.

Supported inputs:

  • Paste a table directly into the text box
  • Upload one or more CSV, XLSX, PDF, or images (JPG/PNG/WEBP, max 100 MB each)

Steps:

  1. Extract — AI reads the document and returns a draft profile with rules.
  2. Clarify — Answer short questions if anything is ambiguous (currency, weight unit, what “Europe” or “domestic” means, whether prices are per shipment or per kg, free-shipping threshold, Standard vs Express split, tax-inclusive vs shipping-only).
  3. Review — Check the proposed profile name, zones, weight/price/quantity ranges, and confidence. Low-confidence rows are highlighted for manual verification.
  4. Apply — Choose Create a new named profile (default, e.g. “Imported from rate sheet 2026-09-22”) or Replace the default profile, then save.

The assistant never auto-publishes. It also does not invent carrier contracts, prices, or country lists that are not in the document or in your explicit answers. Verify before applying.

Return addresses

Separate section to add, edit, and delete return locations (not a “local pickup” checkout mode).

Live carrier MCP

Store settings → Shipping → Live carrier MCP connects Geliver or Easyship with the merchant’s own credential.

  • Paste the carrier API token.
  • Each carrier row opens and closes. Inside it, the API token, ship-from address, and auto-print setting are separate sections. Choose the country from the list (United Kingdom is saved as GB), then save. Checkout rates for that carrier use this saved address.
  • Ship-from address on that connection is the depot used for rates: contact name, street, city, district, postal code, and country. Phone and email are optional for quotes. Checkout uses this depot first. If it is empty, checkout falls back to the store return address. Geliver label purchase needs the district, phone, email, and postal code, because Geliver’s sender address requires them.
  • On a shipping profile, set Preferred carrier MCP to that connection. Checkout then quotes the carrier from the cart weight and dimensions. Profiles with no MCP link keep using rate-table rules.
  • Address fields in the panel (ship-from, return addresses, customer and store addresses) are plain text boxes: type the street, then fill city, state or district, postal code, and country yourself. Address suggestions appear only for signed-in customers on your storefront (checkout and saved addresses).
  • EasyShip has no Check address button. Saving checks those fields on this page only and does not contact EasyShip. Geliver’s Check address only confirms the required Turkey fields: contact, email, phone, street, city, district, postal code, and country Turkey. Saving a Geliver depot without those fields is rejected.
  • An EasyShip sandbox token (sand_) returns sample rates, often only on some domestic lanes. United States to United States can quote. From Joliet, IL the sandbox test destinations are New York 10001, Los Angeles 90012, Chicago 60601, and Houston 77002. Names that start with Dummy are sandbox test data. Germany, Austria, Canada, and other countries can return no rates. Checkout then says the sandbox has no rates for that route. Worldwide quotes need a production token (prod_).
  • Auto-print label when order is paid buys the label for both EasyShip and Geliver when the switch is on. EasyShip creates the shipment and buys the label. Geliver creates the sender, the shipment, and the label purchase, only for Turkey to Turkey. The label PDF is saved to your store files. The order page shows Shipping label, and the same link is emailed to the store owner. The switch off means no label is bought. When a tracking number is saved, the order status becomes Shipped unless it is already shipped, delivered, or cancelled. The customer receives the Order status — Shipped email. WhatsApp is sent only when the order has a real WhatsApp number. The store email uses the Shipping label ready template.
  • United States (and Canada, Australia, and similar): City is the city name (Joliet). State is the 2-letter code (IL), not Illinois. Street is the street line only (250 Emerald Dr), without a warehouse code. District is only for Geliver in Turkey. EasyShip does not read District as the state.
  • Geliver quotes and labels only inside Turkey. Both the ship-from country and the destination must be Turkey. Rates use Geliver’s price list. Checkout shows the courier brand (Sürat, hepsiJET, PTT, Kolay Gelsin, Aras, Yurtiçi), not the aggregator name. The merchant chooses which of those couriers to offer. Your margin percentage is added to those prices (default 10%). A paid order can buy the label through Geliver when auto-print is on. Those options are hidden outside Turkey.
  • EasyShip checkout uses the ship-from address saved on that connection. A sandbox token uses the EasyShip sandbox. When the sandbox returns no rates, checkout explains that the sandbox has no rates for the route instead of showing free shipping.

The return-address card stays the fallback. A UK depot on the EasyShip connection and a different return address can both exist; EasyShip uses the address saved on that connection.

What this page does not do

  • No standalone “Delivery Zones” entity
  • No dimension-based rule type in the UI
  • No dedicated local-pickup checkout skip

Checkout

Rate-table profiles are quoted from the matching profile rules for the customer’s country and cart. Profiles linked to an active carrier MCP are quoted live from that carrier (EasyShip uses the connection’s ship-from address; Geliver only when both ends are in Turkey).

Choosing a shipping method at checkout

When several shipping methods are offered for the customer's address, the customer picks one on the storefront checkout.

  • The shipping price, the tax on shipping and the most store points the customer can redeem are calculated for the selected method. Payment is locked while the total is recalculated.
  • A checkout link sent after a WhatsApp Flow opens with the shipping method the customer chose in the Flow already selected, so the checkout total matches the Flow summary.
  • If the total changes before the order is placed (shipping, points or discounts), the order is not placed with the old amount. The customer sees “Your total was updated”, the page recalculates, and the customer checks the new total and places the order again.

When shipping refuses an order

The same check runs on the storefront checkout, WhatsApp orders (Flows and the AI assistant), the AI chat, AI agent shopping (ACP) and the voice assistant (phone line and WhatsApp calls).

SituationResult
The store has no shipping rules and no live carrierShipping is 0 and the order goes through (as before)
The store has rules, but none covers the delivery countryRefused: “We do not ship to this country.”
A rule covers the country, but the cart is outside every weight, price or quantity rangeRefused: “There is no shipping option for this cart.”
Only a live carrier can ship the order and it returns no rateRefused: shipping could not be calculated
The cart contains only digital products or servicesNo shipping, nothing is refused

A refused order is never shipped at 0. If the shipping settings cannot be read because of a temporary error, the order is stopped too (no 0 shipping) and the customer is asked to try again.

The customer is told why, in their own language:

  • Storefront checkout — the message appears in the shipping section, the total shows “—” and payment stays locked until the address or the cart changes.
  • WhatsApp Quick Order Flow — the order is saved but no payment link is sent; the customer gets the reason and a note that your team will get back to them, and an urgent task is created for your team.
  • WhatsApp Checkout Flow (sent by the AI assistant) — no payment link; the customer gets the reason and a link to update the delivery address or the cart.
  • AI chat — the assistant does not share a checkout link and explains the reason.
  • AI agent shopping (ACP) — no shipping option is offered and the agent gets an error on the delivery address; the checkout cannot be completed.
  • Voice assistant (phone line and WhatsApp calls) — the assistant does not present a total to pay or send a checkout link; it tells the caller the reason and that your team will get back to them, and offers to pass the order to your team.

Inside a WhatsApp Flow the shipping step offers no method for such an address; the refusal is sent when the customer submits the Flow.

Make sure your rules cover every country you sell to and that the ranges reach your largest carts (leave the last max empty for an open-ended top tier).

Address without a country

If your store has shipping settings and the delivery address has no country, shipping cannot be calculated, so no payment link is created (WhatsApp Flows; from the panel only with your confirmation, see below). On WhatsApp the customer is asked to complete the address with the country; in the panel you see the same reason. Shipping is calculated once the country is there. Stores without shipping settings are not affected.

Creating the order anyway from the panel

In Sales → Carts → Create Payment Link, a cart outside your shipping coverage is not turned into an order at 0 shipping. The panel shows Shipping is not covered for this cart with the reason: country not served, no matching shipping rule, no delivery country, or no live carrier rate. You can still create the order: enter the shipping amount to charge (0 for no shipping charge), tick the confirmation and press Create anyway. The order detail page then shows the line Out of shipping coverage — created with … confirmation, with the name of the team member who confirmed and the reason.

If the shipping settings could not be read (a temporary error), there is no Create anyway: try again in a moment.

Need more help?

Chat with the Help assistant about OrderInChat, or open My Support Tickets while signed in (free trial included).