G.STANCUTA
Published · 2026 · 05 · 178 min read

Sell Your South Tyrol Products Online: A Shop That Ships Beyond the Valley

  • ecommerce
  • shop
  • suedtirol
  • producers

Your speck, wine, and honey deserve customers in Munich and Milan — not just the Tuesday market. Here is how a small producer in South Tyrol can build a proper online shop and keep the margin.

Every autumn the farm shop fills up — cyclists, hikers, a few regulars from Bolzano. Then January comes and the phone goes quiet. Your Vinschger Speck is still just as good. Your Eisacktaler wine is still sitting in the cellar. The problem is not the product. The problem is geography. An online shop does not fix everything, but it does one thing very well: it lets a customer in Munich order on a Sunday afternoon and have your Kastelruther honey on their table by Thursday.

Why bother with your own shop at all?

Platforms like Pur Südtirol and Roter Hahn do real work. They bring traffic, handle some logistics, and put your product in front of people who are already looking for South Tyrol goods. Use them. But a marketplace relationship has a ceiling: commissions chip away at thin margins on food products, you rarely get the buyer's email address, and your product page looks like everyone else's. Your own shop gives you the customer relationship and the data. You know who bought, what they bought, and when they are likely to reorder. That is the asset. Marketplaces and your own shop are not competitors — they are different funnels pointing at the same jar of honey.

Farm shop products flowing through an online cart into a shipping box, with EU route arrows.
A small producer's product moving from shelf to customer — simplified.

The multilingual shop: German, Italian, English

South Tyrol is already bilingual by law and trilingual in practice. Your shop should be the same. A German-speaking customer from Bavaria wants to read product descriptions in German, see prices in euros, and trust that shipping to Germany is straightforward. An Italian customer from Milan expects Italian. A tourist who discovered you hiking the Rittner Horn will probably land on the English page. Getting all three right is not as complicated as it sounds — modern shop platforms handle locale routing cleanly, and you only need to write the text once per product per language.

What a product entry actually needs

Good product data is the foundation. Name, description, price, and a photo that shows the real thing — not a stock image, not a flat lay from a phone with bad light. The other fields matter too: weight (for shipping cost calculation), VAT class (food in Italy is taxed at 4%, not 22%), and a shipping class that tells the system whether the item needs cooling. The code block below shows a typed product model that covers all of this.

typescript
// Product data model — South Tyrol producer shop
type Locale = "de" | "it" | "en";

interface ProductName {
  de: string;
  it: string;
  en: string;
}

type VATClass = "standard" | "reduced" | "food";   // IT: 22 / 10 / 4 %
type ShippingClass = "ambient" | "chilled" | "frozen" | "fragile";

interface Product {
  id: string;
  name: ProductName;
  description: ProductName;
  priceEur: number;          // gross, including VAT
  weightGrams: number;       // net product weight
  vat: VATClass;
  shippingClass: ShippingClass;
  inStock: boolean;
  images: string[];          // URLs or local paths
}

// Example: Vinschger Speck
const speck: Product = {
  id: "vinschger-speck-500g",
  name: {
    de: "Vinschger Speck 500 g",
    it: "Speck della Val Venosta 500 g",
    en: "Vinschger Speck 500 g",
  },
  description: {
    de: "Luftgetrockneter Bergspeck aus dem Vinschgau, mind. 22 Wochen gereift.",
    it: "Speck di montagna stagionato all'aria aperta in Val Venosta, min. 22 settimane.",
    en: "Air-cured mountain speck from the Vinschgau valley, aged at least 22 weeks.",
  },
  priceEur: 18.5,
  weightGrams: 500,
  vat: "food",               // 4 % IT reduced food VAT
  shippingClass: "ambient",  // cured — no refrigeration needed
  inStock: true,
  images: ["/products/speck-500g-front.webp", "/products/speck-500g-pack.webp"],
};

Shipping: the part that scares people

Shipping food across EU borders is legal and quite normal — you just need to be honest about costs and times. Most cured meats, wines, honeys, and jams ship ambient (no refrigeration). Fresh cheeses and some dairy are the exception and need cold chain, which roughly doubles the shipping cost. The practical rule: start with your ambient products and add chilled shipping only when you have volume to justify it. For zones, three tiers cover most of your business: Italy domestic (cheapest), DACH meaning Germany, Austria, and Switzerland (your natural market), and the rest of the EU.

typescript
// Shipping cost calculator — EU zone rules
// Zones: IT domestic | DACH (DE/AT/CH) | EU rest
type Country = string; // ISO 3166-1 alpha-2

function shippingCost(weightGrams: number, country: Country): number {
  const kg = weightGrams / 1000;

  // Italy domestic
  if (country === "IT") {
    if (kg <= 2)  return 5.9;
    if (kg <= 5)  return 7.9;
    if (kg <= 10) return 10.9;
    return 14.9;
  }

  // DACH — DE, AT, CH (non-EU but practical neighbour)
  if (["DE", "AT", "CH"].includes(country)) {
    if (kg <= 2)  return 9.9;
    if (kg <= 5)  return 12.9;
    if (kg <= 10) return 16.9;
    return 22.9;
  }

  // Rest of EU
  const EU = ["FR","ES","BE","NL","PL","CZ","SK","HU","SI","HR","LU","PT","SE","DK","FI"];
  if (EU.includes(country)) {
    if (kg <= 2)  return 12.9;
    if (kg <= 5)  return 17.9;
    if (kg <= 10) return 24.9;
    return 32.9;
  }

  // Non-EU / not supported — return -1 to block checkout
  return -1;
}

// Usage
console.log(shippingCost(1800, "DE")); // => 9.9
console.log(shippingCost(4200, "IT")); // => 7.9
console.log(shippingCost(900,  "FR")); // => 12.9
Schematic product catalogue grid with price and weight tags.
A clean catalogue structure — price and weight visible at a glance.

Payment: keep it simple

Credit and debit cards via Stripe or Mollie, PayPal, and SEPA bank transfer will cover the large majority of your customers. Italians lean toward cards and PayPal. Germans still use bank transfer more than most Europeans. SEPA is free to process but adds two to three days of delay before you ship — decide whether you want to wait for confirmation or ship on order. For food with short shelf life, waiting is usually fine; for wine subscriptions or large orders, most shops ship once payment clears.

VAT and invoicing: what you actually need to know

If you are selling to private consumers in the EU (B2C), Italian VAT rules apply until you exceed the EU OSS threshold of 10,000 euros in cross-border sales per year — after that you register for the One-Stop Shop and handle VAT for each destination country centrally. Below the threshold, you charge Italian VAT rates: 4% for basic foods, 10% for processed foods, 22% for everything else. Your shop should generate electronic invoices (fattura elettronica) for Italian customers automatically. For German and Austrian business customers, they provide their VAT ID, you zero-rate the sale, and they handle VAT in their country. A good shop plugin does all of this — you just configure the rules once.

  • Start with 5–10 bestsellers, not the full catalogue
  • Real photos on a neutral background, shot in good daylight
  • Write descriptions in all three languages before launch
  • Set honest shipping times — 3 to 5 days for Italy, 5 to 7 for DACH
  • Offer a minimum order to keep small-order logistics worthwhile
  • Add a short story about your farm — people buy provenance
  • Connect to one marketplace (Pur Südtirol or similar) in parallel

The digitalisation grant

Provincia Autonoma di Bolzano runs recurring digitalisation vouchers for local businesses. A new e-commerce shop — including design, development, and platform fees — can qualify for partial reimbursement. The exact percentages shift every call, but the principle has been consistent for several years. If you are planning a shop anyway, it is worth timing the investment to coincide with an open call. I can point you toward the current status when we speak.

  1. 01Pick a platform (WooCommerce, Shopify, or a custom build) based on your volume and technical comfort
  2. 02Configure the three locales: de, it, en
  3. 03Enter your first 5–10 products with proper photos and all data fields
  4. 04Set up shipping zones and carrier integration (BRT, DHL, or GLS all cover South Tyrol well)
  5. 05Connect payment providers — Stripe and PayPal as minimum
  6. 06Configure VAT rules and invoicing
  7. 07Test a real order end to end before going live
  8. 08Submit to one or two regional marketplaces alongside your own shop

The farmers who do well online are not the ones with the fanciest website. They are the ones who answer emails quickly, pack honestly, and ship when they say they will.

If you produce something good in South Tyrol and want to reach customers beyond the valley, the infrastructure to do it is ready and it costs less than you think. I build these shops — multilingual, technically solid, connected to the carriers you already use. If you want to talk through what a shop would look like for your products, write to me.

Portfolio · Drawing Stamp
Drawn by
G. STANCUTA
Discipline
AI & AUTOMATION
Location
MORTER · SÜDTIROL
Status
Available
Languages
IT · EN · RO · DE+
Stack
PLOI · HETZNER
Revision
REV 2026.A
2026

© 2026 Gabriel Stancuta · jumpinotech.com — Architected with AI, built to run itself.