YUXI: velkoobchodní B2B e-shop pro asijské restaurace v šesti jazycích

YUXI s. r. o.

2026-09-07

YUXI je bratislavský velkoobchod, který zásobuje asijské restaurace a sushi bary — obaly na jídlo s sebou, omáčky, rýži, řasy, spotřební materiál. Zboží chodí od dodavatele ve Vídni, prodává se po kartonech a platí se na fakturu. Zadání přišlo jako ceník v PDF: 202 řádků, jen anglicky a čínsky, ani jedno slovenské slovo. Kupující je přitom šéfkuchař nebo majitel podniku v Bratislavě, který často nemluví slovensky — a stejně často ani anglicky. Postavili jsme e-shop, který mluví šesti jazyky až do adresního řádku, objednává se v něm po kartonech bez registrace a bez platby kartou, fakturační údaje si po zadání IČO doplní sám z obchodního rejstříku a hotovou objednávku pošle do SuperFaktury. Každé zboží stojí jako výřez bez pozadí na barevném poli — jediný způsob, jak z fotek pořízených na pěti různých podkladech udělat jeden katalog. Celý katalog si klient od té doby vede sám v Sanity Studiu. Dodáno za 10 pracovních dnů s rozpočtem €650.

B2B e-shop + katalog v CMS

Typ projektu

Objednávky po kartonech od restaurací, které nakupují v šesti jazycích

Hlavní cíl

€650

Cena tohoto projektu

Zobrazit živý web

Vybrané obrazovky z hotového webu

Vizuální náhled projektu ukazuje, jak vypadá web na různých zařízeních. Responzivní design zajišťuje perfektní zobrazení na mobilech, tabletech a desktopech.

Hero na indigovém poli: výřez zboží, poster typografie a telefon hned pod ním.

Šest věcí, které tento obchod dělaly náročným

Velkoobchod pro gastro se nepodobá běžnému e-shopu v ničem podstatném: jiná jednotka nákupu, jiná platba, jiný doklad a kupující, který čte v jiném jazyce než prodejce. Toto jsou ty rozdíly a to, jak jsme je vyřešili.

Problém #1

Kuchyně, která nakupuje v šesti jazycích

Asijské provozy v Bratislavě vedou Vietnamci, Číňané a Ukrajinci; zboží chodí od německy mluvícího dodavatele ve Vídni a fakturuje se slovensky.

Naše řešení

Web běží v šesti jazycích a lokalizovaná je i adresa stránky — německý zákazník čte /de/ueber-uns, vietnamský /vi/ve-chung-toi. Titulní stránka přitom vede vždy na slovenštinu, ne podle nastavení prohlížeče: majitel s vietnamským telefonem nakupuje pro slovenskou firmu.

Technologie a implementace

Vlastní i18n vrstva + proxy s trvalými přesměrováními

1
Problém #2

Ceník na 202 řádcích bez jediného slovenského slova

Zdrojový dokument měl jen anglický a čínský sloupec, katalogová čísla se v něm opakovala a osm položek nemělo anglický název vůbec.

Naše řešení

Katalog jsme přenesli do Sanity jako 202 dokumentů, kde každý název drží šest jazykových polí. Značky — Yamasa, Kikkoman, Sriracha, Sambal Oelek — se nepřekládají, přeložený je typ zboží. Klíčem je identifikátor položky, ne katalogové číslo, které ve zdroji není jedinečné.

Technologie a implementace

Sanity CMS + migrační skript + typová generace ze schématu

2
Problém #3

Restaurace nekupuje kus, kupuje karton

Jeden karton bývá 500 nebo 600 kusů a cena se porovnává v centech za kus. Běžný e-shopový košík počítající kusy by v tomto obchodě udával nepoužitelná čísla.

Naše řešení

Množství se všude zadává v kartonech a přepočet na kus stojí vedle ceny. Košík je zásuvka s výřezy zboží, které jsou rozpoznatelné i při 48 pixelech, a platí se na fakturu nebo na dobírku — platba kartou tu nedává smysl a formulář to říká nahlas.

Technologie a implementace

Zustand košík + přepočet jednotek na serveru

3
Problém #4

Firemní nákup potřebuje fakturační údaje, ne e-mail

Bez přesného názvu, sídla a IČO se objednávka nedá vyfakturovat a manažer ji musí telefonicky doplňovat. Rakouské firmy přitom IČO nemají vůbec.

Naše řešení

Nákupčí napíše IČO nebo DIČ a název i adresa se doplní samy. DIČ jde přes VIES, které pokrývá všechny jurisdikce EU, IČO přes slovenský a český rejstřík — díky tomu formulář dokončí i rakouský odběratel. Modul zásadně nikdy nevyhodí chybu: když je rejstřík nedostupný, formulář se chová přesně tak jako předtím, než doplnění existovalo.

Technologie a implementace

VIES + RPO / ARES, s cache a bezpečným pádem do ručního vyplnění

4
Problém #5

Objednávka se nesmí ztratit mezi webem a účetnictvím

Firma fakturuje v SuperFaktuře. Přepisování řádků z e-mailu do dokladu je práce navíc a místo, kde vzniká překlep v katalogovém čísle.

Naše řešení

Odeslaná objednávka odchází e-mailem a současně zakládá doklad v SuperFaktuře se všemi řádky, katalogovými čísly a počty kartonů. Pokud má každý řádek cenu, vznikne rovnou faktura pro odběratele; pokud byť jeden řádek cenu nemá, vznikne přijatá objednávka, kterou manažer dokončí. Doklad, který by mlčky vyfakturoval méně, než zboží stojí, tu nesmí vzniknout.

Technologie a implementace

SuperFaktura API + Resend + regresní test cen v CI

5
Problém #6

Sortiment se mění každý týden a klient ho musí vést sám

Za tři týdny přišly tři dávky vlastních fotografií zboží a s nimi nové položky. Poslední doprovázela jediná věta: „dajte fotky do galérie a pridajte slnečnicový olej, tašku a šalátový box.“

Naše řešení

Všechno, co se mění — zboží, ceny, fotografie, galerie, kontakty i status plátce DPH — je dokument v Sanity a klient ho upravuje ve vlastním Studiu. Fotografie se při nahrávání porovnávají kontrolním součtem, takže se tatáž snímka nezaloží dvakrát. Fotografii, kterou by bylo třeba přiřadit odhadem, nepřiřazujeme: špatná fotka na potravině je tvrzení o zboží, za které zákazník platí.

Technologie a implementace

Sanity Studio + revalidace webhookem + idempotentní skripty

6

Podobné problémy ve vašem byznysu? Pomůžeme vám je vyřešit moderním tech stackem.

Výsledná struktura

Kompletní webová struktura navržená pro maximální konverzi a user experience. Každá stránka má jasný účel a optimalizovanou navigaci.

Domů
Katalog
Oddělení (6×)
Stránka zboží
Objednávkový formulář
O firmě
Kontakt

Nejdůležitější sekce webu

Každá sekce řešila konkrétní byznys problém a zvyšovala konverze

1

Hero a šest oddělení

První obrazovka řekne, co firma prodává a jak se u ní objednává — po kartonech, na fakturu nebo na dobírku — a hned pod ní je telefonní číslo. Následuje mřížka šesti oddělení, kde každé nese vlastní barevné pole a jeden výřez zboží.

2

Katalog s filtrem a dvěma zobrazeními

Oddělení, dostupnost, třídění a vyhledávání podle názvu nebo katalogového čísla. Přepínač Karty / Tabulka je tam proto, že nákupčí, který objednává každý týden totéž, čte raději řádky než dlaždice.

3

Stránka zboží v jednotkách kartonu

Katalogové číslo, velikost, počet kusů v kartonu, dostupnost a cena za karton i přepočet na kus. Množství se zadává v kartonech a pod polem stojí, kolik kusů to je. Kde cenu ještě neznáme, zboží to řekne přímo a nabídne poptávku místo tiché nuly.

4

Objednávkový formulář s doplněním z rejstříku

Formulář začíná polem IČO nebo DIČ. Po zadání se název a adresa firmy doplní z veřejných rejstříků, zbývá vyplnit kontakt, způsob převzetí a platbu. Ruční vyplnění je stále o jedno kliknutí dál — rejstřík nikdy nesmí zablokovat objednávku.

5

Sanity Studio v šesti jazycích

Zboží, oddělení, ceny, galerie fotografií, kontakty i status plátce DPH jsou dokumenty v CMS. Každý název má šest jazykových polí a změna je na webu do minuty díky revalidaci přes webhook.

6

O firmě a kontakt

Registrační údaje, rok vzniku, jméno jednatele a šest oddělení s vysvětlením, komu slouží. Kontakt vede na telefon, WhatsApp a Telegram — kanály, na kterých firma reálně odpovídá.

Použitý stack

Frontend

Katalogové rozhraní pro nákupčího, který objednává rychle a opakovaně — filtry, vyhledávání podle katalogového čísla, košík v zásuvce.

Server komponentyKošík v prohlížečiObjednávání po kartonech
TypeScript
React 19
Next.js 16
Tailwind CSS v4
Zustand
Motion
Lenis

Obsah a jazyky

Šest jazyků včetně lokalizovaných URL segmentů a hreflang na každé stránce. Katalog, ceny a fotografie jsou dokumenty v Sanity, které klient upravuje sám.

6 jazyků: sk · de · en · uk · vi · zhLokalizované adresy stránekKatalog v CMS
Sanity CMS
next-sanity
Sanity Studio
i18n (6 languages)
hreflang + x-default

Objednávky a fakturace

Doplnění firemních údajů z rejstříků, výpočet DPH podle nastavení v CMS, notifikační e-mail a automatické založení dokladu.

Doplnění údajů podle IČO / DIČDoklad v SuperFaktuřePlatba na fakturu nebo dobírku
VIES
RPO / ARES
SuperFaktura API
Resend

Nasazení a kontrola

GitLab CI nasazuje web i hostované Studio a při každém buildu proběhnou regresní testy na ceny, kartonové přepočty a status DPH.

CI/CDRegresní testy cenRevalidace obsahu webhookem
Vercel
GitLab CI/CD
Sanity webhooks

💡 Moderní tech stack = rychlý web + jednoduchá údržba + dlouhodobá podpora

Průběh realizace

Projekt běžel od 19. srpna do 7. září 2026 a odpracováno je deset dnů. Pořadí fází určoval klient: nejprve jsme potřebovali katalog, pak jeho fotografie, pak jeho ceny — a němčina přišla jako samostatná objednávka až po předání.

19. – 24. 8.

Art direction, katalog a kostra obchodu

3 dny

Zvolili jsme motiv výřezu a tříbarevnou paletu, vytěžili jsme 202 položek z klientova PDF i s fotografiemi a postavili katalog, stránku zboží, košík a objednávkový formulář. Přibyla ukrajinská verze a nasazení přes GitLab CI.

25. – 27. 8.

CMS, rejstřík firem a fakturace

3 dny

Katalog se přestěhoval do Sanity, formulář se naučil doplnit firmu podle IČO a později i podle DIČ pro celou EU, objednávka začala zakládat doklad v SuperFaktuře. Klient poslal 55 vlastních fotografií — 20 z nich nahradilo výřezy z PDF. Adresy stránek se staly lokalizovanými.

31. 8. – 1. 9.

Ceny, galerie a automatická faktura

2 dny

Klient potvrdil ceník a svůj status DPH, takže ceny se zapnuly — za karton i s přepočtem na kus — a status se stal přepínačem v CMS. Přibyla galerie fotografií zboží a plně oceněná objednávka začala vystavovat fakturu sama. Ceny, kartonové přepočty a DPH hlídá regresní test v CI.

2. 9.

Kontakty do CMS a pořádek v jazycích

1 den

Telefon, e-mail, sociální sítě i adresa sídla se přesunuly do Sanity, takže se mění bez nasazení a jsou na webu do minuty. Čínština zmizela z rozhraní všech ostatních jazyků — čínské názvy patří do čínské verze, ne do slovenského popisu balení.

4. – 7. 9.

Němčina jako šestý jazyk a další zboží

1 den

Němčina přišla jako samostatná objednávka po předání: 379 řetězců rozhraní, 268 německých názvů v CMS, vlastní URL segmenty bez přehlásek a formát ceny 1.234,50 €. Šest zkratek se už do hlavičky nevešlo, takže přepínač jazyků se stal rozbalovacím menu, kde je každý jazyk napsaný ve svém jazyce. O tři dny později přibyly dvě nové police a další dávka klientových fotografií.

FAQ k projektu

Rychlé shrnutí case study

Case study ukazuje konkrétní problém, řešení a výsledek. Pomáhá porovnat váš projekt s podobným scénářem.

Definice: case study je popis reálného projektu s jasnými vstupy a výsledkem.

Potřebujete B2B e-shop, který prodává po kartonech a fakturuje sám?

Navrhneme katalog, objednávkový tok i napojení na fakturaci tak, aby objednávka odešla s kompletními firemními údaji a sortiment jste si vedli sami — v tolika jazycích, kolik váš trh potřebuje.

Nechte nám kontakt (stačí e-mail nebo telefon)

Napsat na WhatsApp

Tato stránka je chráněna službou reCAPTCHA od Google. Platí Zásady ochrany osobních údajů a Podmínky služby společnosti Google.

✨ Objednávání po kartonech • Údaje firmy z rejstříku • Katalog ve vašich rukou