MMirandaMedia

Pohoda a e-shop: Průvodce automatizací přes XML a mServer

Autor: Michal Baloun, Spoluzakladatel & COO · MirandaMedia Group

Jak na bezchybné propojení e-shopu s účetnictvím Pohoda? Zjistěte rozdíly mezi dávkovým exportem a mServerem, vyhněte se chybovým kódům a automatizujte sklady.

  • 50 000 Kč až 120 000 Kč stojí kompletní obousměrná integrace zahrnující fakturaci, ceníky a monitoring.
  • Synchronizace dat v reálném čase přes mServer vyžaduje spuštění dvou instancí Pohody pro souběžnou manuální práci.
  • Chyba 113 indikuje verzi Pohody, která neumí zpracovat novější XML schéma požadavku.
  • Overselling hrozí u dávkových přenosů, které ignorují skladové rezervace a synchronizují pouze fyzické stavy.
  • 25 znaků je limit pro pole „Jméno“ v Pohodě, delší řetězce systém při importu ořízne.

Představte si pondělní ráno po úspěšném marketingovém víkendu. V administraci e-shopu svítí 150 nových objednávek, ale skladník v Pohodě vidí u klíčového produktu stále 20 kusů skladem, přestože reálně už zbývají poslední dva. Než se provede ruční export a import XML souborů, e-shop prodá dalších deset kusů. Následuje kolečko omluvných e-mailů a vratek.

Tento scénář je realitou pro e-shopy, které podcenily technické základy propojení účetního systému s prodejním kanálem. Správně nastavená synchronizace dat není jen o „překlápění“ faktur, ale o ochraně vaší marže. Ať už používáte Shoptet, Upgates nebo vlastní řešení, pochopení mechanismů jako je mServer nebo XML dataPack je pro škálování byznysu nezbytné.

V MirandaMedia se při auditech klientů setkáváme s tím, že e-shopy využívají pouze zlomek možností Pohody. Tento průvodce vás provede technickými detaily i ekonomickou realitou automatizace.

Proč nativní modul často nestačí: Dávky vs. real-time

Stormware Pohoda obsahuje modul „Internetový obchod“, dostupný od varianty Jazz (Shoptet Podpora, 2024). Tento modul umožňuje definovat cesty k externím skriptům, ale postrádá vestavěné automatické spouštění synchronizace. Operátor musí buď ručně klikat v průvodci, nebo využít externí plánovač úloh Windows.

Dávková synchronizace u tarifů Shoptet Classic probíhá v intervalech minut až hodin. To představuje riziko během špiček, jako je Black Friday. Pokud data neproudí v reálném čase, vzniká prodleva mezi prodejem na webu a odpisem ze skladu v Pohodě. Pro e-shopy s desítkami objednávek denně je toto řešení sice ekonomicky dostupné, ale z provozního hlediska rizikové.

Každé spuštění jedné konfigurace POHODA mServeru rezervuje jednu instanci programu výhradně pro jeho komunikaci (Stormware, 2024). Tato instance je pro manuální práci v účetnictví nedostupná. Pokud chcete v Pohodě účtovat a zároveň mít aktivní automatický můstek, musíte program spustit dvakrát — jednou v režimu mServer a podruhé pro standardní práci.

Technické základy: Jak funguje mServer a XML export

POHODA mServer je HTTP server využívající HTTP protokol pro přenos XML dat prostřednictvím dvojice požadavek-odpověď. Komunikace probíhá v XML formátu s hlavičkou Content-Type: text/xml. Pro přenos dat do účetní jednotky se používá metoda POST, zatímco metoda GET slouží výhradně pro stahování souborů, jako jsou PDF reporty nebo obrázky (Stormware, 2024).

Bezpečnost a autorizace

Autentizace probíhá pomocí HTTP hlavičky STW-Authorization. Přihlašovací údaje se spojí do řetězce jméno:heslo, zakódují se pomocí Base64 a odešlou v požadavku. Pokud tato hlavička chybí, mServer vrátí chybu 401 Unauthorized.

V MirandaMedia zdůrazňujeme, že mServer je určen pro komunikaci v rámci lokální sítě. Pokud k němu přistupujete přes veřejný internet, je nezbytné zajistit komunikaci přes HTTPS (TLS 1.2) nebo VPN. Přímý přístup k databázi Pohody přes NetBIOS je považován za závažné bezpečnostní riziko.

Struktura datového balíčku a automatizace skladu

Logika detekce duplicit spoléhá na atribut id v elementu dataPack a dataPackItem. Pokud je tato funkce zapnuta, Pohoda ověří, zda již dokument s daným ID nebyl importován, a v případě shody import přeskočí (Stormware, 2024). Pro automatizaci skladu je klíčové, aby objednávka z e-shopu okamžitě vytvořila v Pohodě rezervaci, která sníží dostupný stav, a teprve po potvrzení platby se převedla na výdejku.

Nejčastější chybové kódy v synchronizaci

Při integraci narazíte na specifické chybové zprávy, které mohou zastavit celý tok dat:

  • Chyba 113: Verze Pohody je příliš stará a neumí zpracovat novější XML schéma. Vyžaduje instalaci nejnovější aktualizace softwaru (Stormware, 2024).
  • Chyba 400: Syntakticky nesprávný požadavek, často způsobený prázdným souborem nebo nepodporovanými filtry.
  • Chyba 404: Dokument nenalezen. V kontextu mServeru to znamená, že cesta v URL není přesně /xml.
  • Chyba 101: Nedostatečná práva uživatele. Pro zápis dokumentů musí mít uživatel v Pohodě přidělena práva k dané agendě.
  • Chyba 627: Varování, že stav zásob klesl pod limitní množství.

Při přenosu velkých objemů dat, například u e-shopu Nejbaby.cz s 20 000 položkami, může dojít k překročení časového limitu. Standardní limit pro odeslání dat bývá 30 sekund; pokud se do této doby nepodaří balíček zpracovat, spojení se ukončí (ByznysWeb, 2024).

Ekonomika integrace: Kolik si připravit?

Investice do propojení e-shopu s Pohodou se skládá z jednorázových nákladů a pravidelných poplatků. Kompletní obousměrná integrace zahrnující fakturaci a ceníky se pohybuje v rozmezí 50 000 Kč až 120 000 Kč (Proceder, 2024).

U hotových konektorů jsou ceny následující:

  • Instalace konektoru: Od 6 000 Kč (balíček Doklady) do 15 000 Kč (balíček Komplet) (ShopSync, 2024).
  • Měsíční údržba: Od 250 Kč do 700 Kč podle zvoleného balíčku.
  • B2B funkce: Jednorázový příplatek 5 000 Kč pro synchronizaci registrací a ceníků.
  • Individuální úpravy: Hodinová sazba za programátorské práce se pohybuje kolem 1 500 Kč.

Vývoj vlastního konektoru na míru vyjde přibližně na 10 000 až 14 000 Kč bez DPH. Provozovatelé více e-shopů na stejné platformě mohou využít slevu 50 % na napojení druhého obchodu. Pro detailnější pohled na to, kdy se taková investice vyplatí, doporučujeme náš článek Propojení e-shopu s ERP: Kdy se investice vrátí.

Strategie pro produktová data a varianty

Pohoda a Shoptet mají odlišný pohled na strukturu produktů. Zatímco Shoptet vnímá varianty jako podpoložky jednoho produktu, Pohoda přistupuje ke každé variantě jako k samostatné skladové kartě.

Doporučená architektura je hybridní přístup. Pohoda by měla být „zdrojem pravdy“ pro kmenová data: SKU, název pro fakturaci, nákupní a prodejní cena, DPH, EAN a hmotnost. Shoptet by naopak měl spravovat marketingové texty, popisy a obrázky (Proceder, 2024).

Pozor na limity polí v Pohodě:

  • Jméno zákazníka: Limit 25 znaků.
  • Název produktu: Limit 90 znaků.
  • Krátký popis: Limit 240 znaků (Shoptet Podpora, 2024).

Pokud tyto limity ignorujete, může dojít k oříznutí dat při zpětném exportu z Pohody do e-shopu. Proto je bezpečnější marketingové texty z Pohody do e-shopu vůbec nepřenášet.

Závěr a doporučení pro praxi

Automatizace skladu přes Pohodu vyžaduje precizní nastavení číselných řad a skladových hospodářství. Pokud provozujete e-shop na platformě Shoptet, zvažte přechod na tarif Premium, který díky API a webhookům umožňuje real-time synchronizaci bez čekání na dávkové exporty.

Nezapomínejte, že po přenosu objednávky do Pohody by veškeré další úpravy měly probíhat už jen tam. Editace objednávek v obou systémech současně vede ke konfliktům. Cílem je mít systém, kde lidská ruka zasahuje pouze při balení zboží, nikoliv při přepisování údajů z e-mailu do účetnictví.

Komentář editora — Michal Baloun, spoluzakladatel MirandaMedia

Integrace Pohody je v českém e-commerce prostředí standardem, ale i rizikem. Za roky praxe jsem viděl desítky e-shopů, které na tomto propojení buď vyrostly, nebo se na něm zasekly. V MirandaMedia se setkáváme s nešvarem: majitelé e-shopů zůstávají na dávkovém XML exportu u základních tarifů, i když už mají stovky objednávek.

V naší praxi je položka, která operátory překvapí, nutnost běžící instance Pohody pro mServer. Často se stává, že si klient koupí integraci, ale zapomene, že mu na serveru musí „viset" otevřené okno Pohody, aby synchronizace vůbec fungovala. To s sebou nese náklady na Windows Server nebo dedikované PC, které musí běžet 24/7.

Moje upřímná rada? Pokud to s e-shopem myslíte vážně a míříte nad obrat 10 milionů Kč ročně, neřešte „jak to udělat co nejlevněji", ale „jak to udělat co nejstabilněji". Rozdíl v ceně mezi amatérským můstkem a profesionální integrací přes mServer se vám vrátí v prvním týnu vánoční sezóny, kdy nebudete muset řešit naštvané zákazníky kvůli chybám v dostupnosti zboží. Pohoda je skvělý sluha, ale špatně nastavené XML je zlý pán.

Takhle by to MirandaMedia řešila

Většina článků skončí u věty „mělo by se to změřit". My končíme až u toho, kdo a jak to v praxi udělá. Konkrétní kroky, které bychom doporučili:

  • Vysoká priorita "Implementujte mServer pro real-time synchronizaci u všech e-shopů s více než 20 objednávkami denně." Dávková synchronizace u tarifů Classic zvyšuje riziko oversellingu kvůli zpoždění v přenosu dat. Služba: Shoptet / vývoj e-shopu
  • Vysoká priorita "Nastavte synchronizaci na základě dostupné zásoby, nikoliv fyzické, aby systém automaticky započítal rezervace." Sync fyzické zásoby vede k přeprodání zboží, které je již v Pohodě blokováno. Služba: Analytika & reporting
  • Střední priorita "Auditujte délku názvů produktů a polí pro jména zákazníků před prvním ostrým exportem do Pohody." Pohoda limituje jméno na 25 znaků a název produktu na 90, což může vést k ořezání dat. Služba: SEO
  • Střední priorita "Využijte STW-Authorization hlavičku s Base64 kódováním pro zabezpečení přístupu k mServeru." Nesprávná autorizace vede k chybě 401 a úplnému zastavení toku dat. Služba: Shoptet / vývoj e-shopu

Některý z těch kroků zní jako něco, co máte v plánu, ale „časem"? Napište nám — MirandaMedia je Shoptet Premium Partner a děláme to denně.

Časté otázky

Je rozdíl v syncu mezi Shoptet Classic a Premium?

Ano. Tarify Shoptet Classic podporují pouze dávkovou synchronizaci přes XML feedy v intervalech minut až hodin. Shoptet Premium umožňuje real-time synchronizaci s latencí v řádu sekund díky REST API a webhookům (Proceder, 2024).

Proč mi Pohoda vrací chybu 404?

Chyba 404 v integraci s mServerem nejčastěji vzniká, pokud cesta v URL adrese pro import/export není nastavena přesně na /xml. Další příčinou může být nesprávně zadaná URL adresa v nastavení „Internetové obchody“ v Pohodě (Shoptet Podpora, 2024).

Mohu pracovat v Pohodě, zatímco běží mServer?

V rámci jedné instance programu to není možné. Instance Pohody vyčleněná pro mServer je blokována pro HTTP komunikaci. Pokud potřebujete manuálně účtovat, musíte spustit Pohodu podruhé jako samostatný proces (Stormware, 2024).

Co znamená chyba 113 při importu XML?

Chyba 113 značí verzi neshody. Znamená to, že verze programu POHODA je příliš stará na to, aby dokázala zpracovat danou verzi XML schématu. Řešením je instalace nejnovější aktualizace softwaru (Stormware, 2024).

Zdroje

  1. POHODA mServer - Stormware
  2. Příručka POHODA Online: XML import-export
  3. Shoptet a ERP: Průvodce integrací
  4. Stormware Pohoda - Shoptet Podpora
  5. API Stormware - XML zpracování a chyby
  6. Pricing Fox: Napojení cenotvorby na mServer
  7. ShopSync: Propojení Pohoda a Upgates
  8. ByznysWeb: Napojení na účetní systém Pohoda

O autorovi: Michal Baloun je spoluzakladatel a COO v MirandaMedia Group — kreativní digitální agentuře specializované na ziskové e-shopy a výkonnostní marketing. MirandaMedia je Shoptet Premium Partner, Google Partner a Meta Business Partner; pod Michalovou taktovkou vyrostly projekty pro značky jako Petcenter, Rituals nebo Philips.

Michal Baloun — author photoSpoluzakladatel & COO · MirandaMedia Group
8 min čtení