Tento článek byl původně publikován na LinkedIn dne 8. června 2026.
TL;DR : Od 19. června 2026 musí každý český e-shop nabídnout snadné odstoupení od smlouvy online (lhůta 14 dní). Shopify to nativně umí, je tam už dlouho, a v komunitě se hodně lidí mýlí, když říká opak. V článku ukážu, jak to ve třech krocích zapnout, jaký je rozdíl proti placeným aplikacím, a jedno omezení s textem tlačítka, které je důležité znát.
Co se mění a kdo to vymyslel
Od 19. června 2026 vstoupilo v účinnost novela českého zákona o ochraně spotřebitele, která promítá evropskou směrnici 2023/2673. (K datu publikace tohoto článku je novela ve schvalovacím procesu Parlamentu; datum účinnosti 19. 6. 2026 je dáno EU termínem transpozice.) Konkrétně: každý český e-shop musí mít na webu jasně viditelný způsob, jak může zákazník odstoupit od smlouvy do 14 dnů od převzetí zboží. Mělo by to být stejně snadné, jako bylo nákup uzavřít .
Tlačítko nebo odkaz musí být jasně označený, zákon typicky uvádí formulaci "Odstoupit od smlouvy". Musí být zákazníkovi nepřetržitě dostupný po celou dobu lhůty pro odstoupení a dostupný z každé podstránky webu . Dohledem je v ČR pověřena Česká obchodní inspekce (ČOI), která může uložit pokutu až do výše 5 000 000 Kč nebo 4 % ročního obratu .
Téma se v našem týmu rozjelo v dubnu, kdy se na to začala ptát spousta klientů a v Shopify App Store se začaly objevovat první aplikace pro tento účel. František Seifried z Sounds Good Agency | Shopify Experts potom do detailu zkoumal, jak to nejlépe vyřešit. Nasimuloval celé flow na reálném testovacím storu, ověřil nastavení, zákaznický a obsluhový pohled, e-maily i počítání lhůty.
Co komunita říká špatně
Najdete to na fórech a v diskuzních skupinách: " Shopify není připravený na český zákon, kupte si českou krabicovku nebo řešení na míru. "
Není to pravda.
Shopify je s českým zákonem v souladu - má od roku 2024 (a dále vylepšuje) nativní self-serve return . Celý flow pro odstoupení od smlouvy ze strany zákazníka, bez nutnosti aplikace. Pravidla pro lhůtu (return rules), tlačítko v zákaznickém účtu, automatické e-maily, schvalování obsluhou, vrácení peněz původní platební metodou. To všechno je v Shopify zdarma, dostupné nativně, a (jak ještě uvidíme) souladné s tím, co český zákon vyžaduje, pokud se nastaví správně .
Ano, je tam jedno omezení s textem tlačítka. Ukážu to za chvíli. Ale to neznamená "Shopify to neumí". Znamená to "Shopify to umí trochu jinak, než lidé čekají, a je potřeba jeden konkrétní detail vyřešit jinak". Tomu věnuju samostatnou sekci níže.
Tři cesty, jak to v e-shopu mít
Když to dnes řeším s klientem, na stole jsou tři možnosti.
1. Nativní Shopify (zdarma, doporučeno pro většinu). Zapnete tři věci v adminu (popíšu dál), přidáte na web odkaz s názvem "Odstoupit od smlouvy", a máte hotovo. Pro většinu CZ Shopify e-shopů je to nejlepší volba.
2. Placená aplikace (Revoq EU Withdrawal Button, Widerruf Button EU Compliance a další). Má smysl tehdy, když potřebujete samostatný viditelný formulář mimo e-mail a customer account (například jako landing page nebo widget), automatické PDF potvrzení s datem podpisu, nebo specifický workflow (vlastní stavy, integrace s dalším systémem). Pozor: většina těchto aplikací zatím neumí češtinu/slovenštinu, a označení "EU compliant" automaticky neznamená soulad s českým zákonem. Tu část je třeba ověřit.
3. Neřešit to zatím. Nedoporučujeme, ale realita je, že některé e-shopy se rozhodnou riskovat. ČOI dohledem začne hned po datu účinnosti a sankce mohou být citelné.
V dalších sekcích popíšu cestu (1) detailně, protože pro většinu klientů je to ta správná.
Nativní Shopify v třech krocích
Krok 1: Pravidla pro vrácení (Return rules)
V Shopify adminu jděte na Nastavení → Zásady (Policies) → Return rules → Manage . Nastavte lhůtu na 14 dní , uložte, a nahoře klikněte na Turn on .
Shopify teď ví, že zákazník může požádat o vrácení do 14 dnů od doručení. Nastavení Return rules s 14denním oknem pro vrácení a zapnutými pravidly
Krok 2: Samoobslužné vrácení (Customer accounts)
V adminu jděte na Nastavení → Zákaznické účty (Customer accounts) a zapněte "Allow customers to request and manage returns" .
Tím se zákazníkům aktivuje v jejich účtu možnost vyžádat si vrácení sami, bez nutnosti psát e-mail nebo volat. Sekce Zákaznické účty se zapnutým samoobslužným vrácením (Allow customers to request and manage returns)
Krok 3: Umístění odkazu na web
To je krok, který se v komunitě nejčastěji opomíjí. A přitom je pro soulad se zákonem klíčový.
Zákon vyžaduje, aby odkaz na odstoupení byl jasně viditelný, označený, nepřetržitě dostupný po celou dobu lhůty pro odstoupení (tedy minimálně 14 dní u každé aktivní objednávky), a dostupný z každé podstránky webu . V Shopify to dělá takto:
1. Zkopírujete URL adresu vstupního bodu do zákaznického účtu, konkrétně seznam objednávek. Základní formát je /account/orders na vaší doméně.
2. V adminu jděte na Online Store → Navigace (Navigation) a vyberte hlavní menu i Footer menu (oba, aby byl odkaz dostupný z každé podstránky).
3. Klikněte Přidat položku , jako název dejte "Odstoupit od smlouvy" (to je ten zákonný název) a vložte zkopírovanou URL.
4. Uložte a ověřte na webu, že se odkaz skutečně zobrazuje na všech typech stránek (produktové, kolekce, košík, blog, statické stránky). Editor navigačního menu: přidání položky Odstoupit od smlouvy s URL na seznam objednávek Patička e-shopu s viditelným odkazem Odstoupit od smlouvy
Pozor na dvě věci:
Odkaz se zobrazí jen tam, kde je dané menu v šabloně použité. Pokud zákazník menu na frontendu nevidí (třeba v patičce), je potřeba ho do šablony doplnit v editoru šablony ( Customize ). Přidáte do příslušné sekce blok s daným menu.
Pokud je odkaz v patičce, musí být vizuálně odlišený od ostatního obsahu (kontrastní barvy, jasné umístění, čitelná velikost). To je explicitní požadavek směrnice. Obyčejný šedý odkaz mezi 20 dalšími položkami v patičce nemusí stačit.
Po tomto máte: zákazník po nákupu vidí v patičce a/nebo menu odkaz "Odstoupit od smlouvy", klikne na něj, dostane se do svého účtu, vidí seznam objednávek a u každé objednávky tlačítko pro vrácení.
Jeden detail: text vnitřního tlačítka
Tady přijde to omezení, kvůli kterému se komunita rozhodne, že Shopify to "neumí".
Tlačítko, které zákazník vidí u objednávky v účtu, se jmenuje "Požádat o vrácení". Ne "Odstoupit od smlouvy". Tento text je součástí nových zákaznických účtů (New Customer Accounts) , které jsou v Shopify defaultní od roku 2024 a jsou hostované přímo Shopify (ne v Liquid šabloně). Text tohoto tlačítka nelze zatím přejmenovat.
Zní to jako blocker. Ale není.
Zákon nepožaduje, aby každé tlačítko v celém flow neslo formulaci "Odstoupit od smlouvy". Požaduje, aby zákazník měl jasně viditelný způsob, jak odstoupení iniciovat, a aby použitá terminologie byla srozumitelná.
Tu zákonnou formulaci proto zajistíme dvěma místy, která máme plně pod kontrolou:
1. Viditelný vstupní odkaz na webu (krok 3 výše), pojmenovaný "Odstoupit od smlouvy" .
2. Potvrzovací e-maily, které zákazník dostane (popíšu níže), kde také použijeme zákonnou formulaci.
Vnitřní tlačítko "Požádat o vrácení" je akorát mechanikou. Operativní krok, ne právní formulace. Když na ten odkaz zákazník klikne, ví, že odstupuje od smlouvy (řekl to nadpis odkazu i potvrzovací e-mail). Tlačítko jen mechanicky podá tu žádost.
Pokud klient trvá na tom, aby i vnitřní tlačítko mělo text "Odstoupit od smlouvy", pak je potřeba aplikace nebo řešení na míru. Ale pro většinu klientů to není nutné.
Co vidí zákazník a co dělá obsluha
Zákazník :
Zákazník má dvě nativní cesty, obě bez nutnosti pamatovat si heslo:
A) Z e-mailu (nejčastější, bez přihlášení). Každá objednávková notifikace obsahuje tlačítko "Zobrazit objednávku". Odkaz je podepsaný pro konkrétní objednávku (buyer token), takže zákazníka pustí rovnou na stránku objednávky, bez přihlášení a bez hesla .
B) Z webu (odkaz "Odstoupit od smlouvy" v menu/patičce). Vede do zákaznického účtu na seznam objednávek. Nepřihlášený zákazník nejdřív zadá e-mail (přijde ověřovací kód) a pak vybere konkrétní objednávku.
Dál je flow u obou cest stejný:
1. Na stránce objednávky klikne na tlačítko "Požádat o vrácení". Zákaznický účet v češtině se seznamem objednávek a tlačítkem Požádat o vrácení u objednávky
2. Vybere zboží, důvod, případně dopíše poznámku, vidí odhadovanou výši vrácení. Formulář pro vrácení v účtu: výběr položky, důvod a odhadovaná výše vrácení
3. Potvrdí. Objednávka přejde do stavu "Požadováno vrácení", zákazník dostane potvrzovací e-mail. Stav Požadováno vrácení v zákaznickém účtu po odeslání žádosti
K bezpečnosti (častá obava): "bez přihlášení" neznamená, že kdokoli zruší cizí objednávku. Přístup z e-mailu je autentizovaný podepsaným odkazem, který chodí jen na e-mail kupujícího dané objednávky, a prokazuje tedy držení objednávkového e-mailu. Tím se splní požadavek směrnice na dostupnost bez přihlášení a zároveň zůstává ochrana proti zneužití.
Pro zákazníka je to otázka chvilky, stejně snadné jako sám nákup. Přesně co zákon vyžaduje.
Obsluha :
1. V adminu vidí u objednávky stav "Return requested" a tlačítko "Review request". Objednávka v adminu se stavem Return requested a tlačítkem Review request
2. Otevře žádost, zkontroluje, klikne "Approve". Obrazovka Review return request s volbou dopravy a tlačítky Approve a Decline Schválené vrácení ve stavu Return in progress s tlačítkem Process and refund
3. Pak "Process and refund". Shopify nabídne vrácení původní platební metodou. Obrazovka Process return: vrácení peněz původní platební metodou a souhrn částky
4. Objednávka přejde do stavu "Refunded / Return closed". Objednávka ve stavu Refunded / Return closed s nulovým net payment
Zákazníkovi přitom automaticky chodí e-maily v každém kroku (přijato → schváleno → peníze vráceny).
Důležité : žádost podanou do 14 dní je obsluha povinna schválit. Tlačítko "Decline" je pouze pro žádosti mimo lhůtu nebo neoprávněné. Odstoupení do 14 dní je zákonné právo zákazníka, ne diskreční rozhodnutí prodejce.
Aby o nové žádosti obsluha věděla okamžitě, zapněte upozornění: Nastavení → Oznámení (Notifications) → Staff notifications → "New return request" . Přidejte příjemce do sekce Recipients. Pak při každé nové žádosti přijde personálu e-mail. Staff notifications se zapnutou položkou New return request a sekcí Recipients
14denní lhůta se počítá od doručení, ne od objednání
Zákonná lhůta běží ode dne převzetí zboží zákazníkem. Ne ode dne, kdy objednal. Aby Shopify lhůtu počítal správně, musí vědět, kdy bylo doručeno.
Když je u objednávky sledovací číslo a dopravce (typicky to automaticky doplní aplikace dopravce, třeba Zásilkovna/Packeta, PPL, DPD), a dopravce zásilku označí jako doručenou, Shopify spustí 14denní okno od data doručení. ✓
Když sledování chybí (osobní odběr, ruční odeslání bez čísla zásilky), Shopify samo přesné datum doručení neví a počítá od odeslání plus odhadu doby dopravy, což je jen přibližné. Workaround pro non-standard případy: ručně vyplnit do objednávky sledovací číslo od dopravce, který hlásí doručení - Shopify pak okno spustí od reálného data doručení. Pro osobní odběr to ale neřeší - tam bude flow vždy přibližný a obsluha musí vyřídit ručně, pokud se zákazník ozve hraničně po vypršení okna.
Po vypršení 14denního okna se zákazníkovi tlačítko "Požádat o vrácení" už neukáže. Proto:
Používejte dopravce, který hlásí doručení (pak okno sedí s tím, co zákon vyžaduje).
Pokud se zákazník ozve těsně po automatickém okně, ale podle skutečného doručení je stále do 14 dní (například Shopify lhůtu špatně vypočítal kvůli chybějícímu sledování), obsluha odstoupení vyřídí ručně. Je to zákazníkovo právo, ne čekací doba.
Datum a čas přijetí v potvrzovacím e-mailu
Český zákon vyžaduje, aby potvrzení o přijetí odstoupení obsahovalo datum a čas přijetí.
Toto se do potvrzovacího e-mailu doplní jednoduchou úpravou Liquid šablony:
1. V adminu jděte na Nastavení → Oznámení (Notifications) → Customer notifications → Return request received → Edit code .
2. Do těla e-mailu (HTML část) přidejte následující řádek, typicky hned za potvrzovací větu, před tlačítko "Zobrazit objednávku": Editor kódu e-mailové šablony Return request received v Shopify
3. Uložte ( Save ) a ověřte přes Preview nebo Send test . Náhled potvrzovacího e-mailu s řádkem Datum a čas přijetí žádosti nad tlačítkem Zobrazit objednávku
Liquid filtr date: "%-d. %-m. %Y %H:%M" vytiskne datum a čas ve formátu 4. 6. 2026 14:32. Přesně to, co zákon vyžaduje.
E-mail přitom dorazí bez prodlení. Typicky do několika sekund po podání žádosti.
Na co si dát pozor
Pár věcí, které vás můžou překvapit:
E-maily chodí v jazyce objednávky. Objednávka přes český e-shop, české e-maily zákazníkovi. (U testovací objednávky, kterou vytvoříte ručně v adminu, můžou někdy přijít anglicky. Reálného zákazníka se to ale netýká.)
14denní lhůta platí na nové objednávky , tedy ty, které vzniknou po zapnutí pravidel. Na staré objednávky zpětně ne. Pokud si chcete být jistí, zapněte pravidla s předstihem.
Vrácení peněz je samostatný krok po schválení odstoupení. Defaultně to obsluha potvrzuje ručně - typicky aby ověřila stav vráceného zboží (kompletnost, nepoškozenost). Pokud chcete refund automatizovat (například okamžitě po schválení vrácení), jde to přes Shopify Flow: trigger "Return approved" → akce "Refund order". Pro většinu obchodů má ruční krok smysl jako poslední kontrola, ale automatizace je k dispozici, pokud preferujete rychlost před manuální kontrolou.
Kdy zvážit placenou aplikaci
I když pro většinu klientů je nativní cesta správná, jsou situace, kdy má aplikace smysl:
Když potřebujete samostatný viditelný formulář mimo e-mail a customer account (například jako landing page, widget na produktové stránce, nebo dedikovaná podstránka). Nativní Shopify cesty (přes e-mail nebo přes customer account) vždy zákazníka pošlou do objednávkového kontextu , což je správně, ale ne pro každý use case.
Když potřebujete automatické PDF potvrzení s datem podpisu (některé právní výklady považují PDF za bezpečnější dokumentaci).
Když potřebujete dvoukrokové potvrzení (zákazník zaškrtne souhlas + klikne odeslat).
Když máte specifické workflow (vlastní stavy, integrace s dalším systémem).
Aplikace pro tento účel jsou typicky Revoq EU Withdrawal Button a Widerruf Button EU Compliance. Najdete je v Shopify App Store v kategorii "EU withdrawal button".
Upozornění: většina těchto aplikací aktuálně neumí češtinu nebo slovenštinu. Označení "EU compliant" také automaticky neznamená soulad přesně s českým zákonem. Jednotlivé členské státy mohou mít detaily transpozice odlišné. Tu část je nutné ověřit u konkrétní aplikace.
Disclaimer
Tento článek je praktický návod, ne právní poradenství. Právní výklad (zejména otázku, zda Shopify požadavek na "stejně snadný způsob ukončení jako uzavření" technicky naplňuje, a přesnou paragrafovou formulaci) je vhodné ověřit u kvalifikovaného právníka proti finálnímu znění české transpozice zákona o ochraně spotřebitele a občanského zákoníku.
Závěr
Pokud máte Shopify e-shop a potřebujete být do 19. června 2026 v souladu s novým zákonem, ve většině případů to nepotřebuje aplikaci, externí integraci ani specialistu na vývoj. Tři kliknutí v adminu, jeden odkaz v menu, jeden přidaný řádek v Liquid šabloně potvrzovacího e-mailu, a máte funkční flow, který odpovídá tomu, co zákon vyžaduje.
To, že komunita říká "Shopify to nativně neumí", je opakovaná chyba, která vznikla z toho, že vnitřní tlačítko "Požádat o vrácení" zní jinak, než zákonná formulace "Odstoupit od smlouvy". Když se ten detail vyřeší tak, jak jsem popsal výše (zákonnou formulaci na vstupní odkaz a do e-mailů), technicky i právně to je v pořádku. A i přístup z e-mailu funguje bez nutnosti přihlášení díky podepsanému odkazu na objednávku.
Pokud potřebujete s nastavením pomoct, nebo si chcete ověřit, že máte vše správně, ozvěte se nám. Projdeme to společně.
O autorech : Výzkum a testování : František Seifried Ověřeno na reálném testovacím Shopify storu : 06/2026 Tým : Sounds Good Agency | Shopify Experts