Převeďshop.cz
Vývoj a integrace

Automatizace importů a exportů dat v e-shopu

22. 9. 2026 7 min čteníTým Převeďshop.cz

Ruční import CSV jednou týdně funguje, dokud e-shop neroste. Ukážeme, jak z něj udělat spolehlivý automatický proces, který se nerozbije potichu.

Import produktů z tabulky a export objednávek do účetnictví dělá na začátku skoro každý e-shop ručně. Jednou týdně stáhnete CSV, opravíte pár sloupců v Excelu a nahrajete ho zpátky. Funguje to do chvíle, kdy přibude druhý dodavatel, marketplace nebo ERP. Pak ruční krok zabírá hodiny a chyby se objevují tam, kde je vidí zákazník: v ceně, dostupnosti nebo popisu.

Automatizace importů a exportů není jen „naplánovat skript na noc“. Je to proces se vstupem, transformací, validací, zápisem a kontrolou. V článku ukážeme, jak ho postavit tak, aby se nerozbil potichu.

Co všechno se dá automatizovat

V e-shopu teče data oběma směry. Typické toky, které řešíme:

TokSměrTypická frekvenceTypický formát
Katalog od dodavateledovnitřdenněXML feed, CSV, API
Sklad a dostupnostdovnitřminuty až hodinyXML, API, webhook
Ceny a ceníkydovnitřdenně nebo při změněCSV, XLSX, API
Objednávky do ERPvenprůběžněAPI, XML
Faktury a dokladyvendenněXML, PDF
Feedy pro srovnávače a marketplacevenněkolikrát denněXML
Zákazníci do CRM a e-mailinguvenprůběžněAPI

Každý tok má jiné nároky. Katalog snese zpoždění několik hodin. Sklad ne. Objednávka, která do ERP dorazí dvakrát, způsobí víc škody než objednávka, která dorazí o deset minut později. Proto si nejdřív u každého toku ujasněte, jak čerstvá data potřebujete a co se stane, když přijdou dvakrát nebo vůbec.

Formáty a jejich pasti

CSV je univerzální, ale křehké. Rozbije ho jiný oddělovač, jiné kódování nebo středník uvnitř popisu. Příklad z praxe: Shoptet v nápovědě k importu produktů uvádí, že CSV musí používat středník jako oddělovač a podporuje kódování Windows-1250 i UTF-8. Soubor uložený v Excelu s jiným nastavením pak skončí rozsypanou diakritikou nebo posunutými sloupci.

XLSX je pohodlné pro lidi, ne pro stroje. Excel rád přepíše EAN na vědecký zápis nebo odřízne nuly na začátku kódu. Pro automatický proces ho používejte jen jako vstup od lidí, nikdy jako mezikrok mezi dvěma systémy.

XML má pevnou strukturu a dá se validovat proti schématu. Proto je standardem pro feedy dodavatelů a srovnávačů. Víc v hesle XML feed.

JSON přes API je nejlepší volba tam, kde ho obě strany umí. Dostanete typovaná data, chybové kódy a možnost měnit jen to, co se změnilo.

Architektura: extrakce, transformace, zápis

Každý automatický import má stejnou kostru. Odborně se jí říká ETL (extract, transform, load):

  1. Extrakce. Stažení dat ze zdroje: URL feedu, FTP nebo SFTP server, API dodavatele, e-mailová příloha.
  2. Uložení surových dat. Originální soubor si uložte s časovou značkou. Když se něco pokazí, víte, co přesně přišlo.
  3. Transformace. Mapování kategorií a parametrů, přepočet cen a marží, sjednocení jednotek, deduplikace.
  4. Validace. Kontrola povinných polí, rozsahů a počtů. Tady se zastaví většina problémů.
  5. Zápis. Import do e-shopu přes API nebo vestavěný import, v dávkách.
  6. Kontrola a log. Kolik záznamů přišlo, kolik se zapsalo, kolik skončilo chybou a proč.

Klíčové je párování. Každý záznam musí mít stabilní klíč, podle kterého proces pozná, jestli produkt vytvořit, nebo aktualizovat. Typicky kód produktu, EAN nebo kód dodavatele. Když se klíč změní, vznikne duplicita. Proto má import navíc být idempotentní: když ho spustíte dvakrát se stejnými daty, výsledek je stejný.

Plánování: cron, fronty, nebo vestavěný import

Nejjednodušší spouštěč je cron: skript běží každý den ve 3:00 nebo každých 15 minut. Stačí pro katalog a ceníky. Pro sklad a objednávky bývá lepší reagovat na událost, tedy webhook nebo frontu zpráv. Rozdíly rozebíráme v článku Cron joby vs. realtime.

Pronajímané platformy mají vlastní nástroje. Shoptet nabízí automatický import produktů z XML feedu s plánováním do časových oken. Počet aktualizací denně se podle nápovědy liší podle tarifu (k 9/2026, aktuální podmínky ověřte v nápovědě Shoptetu). Pro jednoduchý feed od dodavatele to stačí. Když potřebujete data upravit, spojit více zdrojů nebo přepočítat ceny, vložíte mezi dodavatele a e-shop vlastní transformační vrstvu.

Velké objemy: dávky, asynchronní úlohy a limity API

Import desítek tisíc produktů po jednom přes API je pomalý a naráží na limity. Platformy proto nabízejí hromadné operace. Konkrétní příklady (k 9/2026):

PlatformaHromadná operaceDůležité limity
ShoptetAsynchronní úlohy (jobs), např. snapshot všech produktů ve formátu JSON LinesVýsledek je ke stažení 24 hodin, vyžaduje registrovaný webhook job:finished; max. 3 souběžná spojení na token
WooCommerceEndpoint batch v REST APIVýchozí limit 100 objektů na jednu dávku, lze změnit filtrem
ShopifyBulk operations v GraphQL Admin APIVstupní JSONL soubor max. 100 MB, operace musí doběhnout do 24 hodin

Z tabulky plyne pár pravidel, která platí obecně:

  • Posílejte data v dávkách, ne po jednom záznamu a ne všechno naráz.
  • Respektujte rate limity. Shoptet používá algoritmus leaky bucket a při přetížení vrací HTTP 429 s hlavičkou Retry-After. Skript musí počkat a zkusit to znovu, ne spadnout.
  • Omezte paralelismus. Deset souběžných procesů nad jedním tokenem vám import nezrychlí, jen vyrobí chyby.
  • Posílejte jen změny. Porovnejte nová data s posledním stavem a aktualizujte jen rozdíly. Import je pak rychlejší a méně zatěžuje platformu.

Validace: nejlevnější místo, kde chybu zastavit

Většina škod z automatických importů nevzniká chybou kódu, ale chybou v datech. Dodavatel pošle prázdný feed, cenu bez DPH místo s DPH nebo sklad nula u všech položek. Automat to poslušně zapíše. Proto před zápisem kontrolujeme:

  • Počet záznamů. Když obvykle chodí 12 000 produktů a dnes 300, import se zastaví a pošle upozornění.
  • Povinná pole. Kód, název, cena, DPH. Záznam bez nich se nezapíše.
  • Rozsahy. Cena, která se změnila o víc než stanovené procento, jde do kontroly.
  • Formát. EAN má správnou délku a kontrolní číslici, URL obrázku vrací obrázek.
  • Hromadné výpadky. Pokud má najednou nulový sklad víc než určitý podíl katalogu, je chyba spíš ve zdroji než ve skladu.

Prahy nastavte podle vašich dat. Lepší je import jednou zbytečně zastavit než jednou zapsat nesmysl do celého katalogu.

Exporty: objednávky, doklady a feedy

U exportů je hlavní riziko opačné: data odejdou dvakrát, nebo neodejdou vůbec. Objednávka zdvojená v ERP znamená dvojí expedici. Chybějící faktura znamená problém v účetnictví. Pomáhají tři věci:

  • Stav exportu u každého záznamu. Objednávka ví, jestli už byla předána a kdy.
  • Potvrzení z cílového systému. Export je hotový, až když ERP vrátí své ID dokladu.
  • Opakování s kontrolou duplicit. Při chybě spojení se export zkusí znovu, ale cílový systém podle ID pozná, že objednávku už má.

Feedy pro srovnávače a marketplace generujte tak, aby se neměnila ID produktů. Změna ID znamená pro Google Merchant Center nebo Heureku nový produkt bez historie.

Monitoring: jak se dozvědět, že import neproběhl

Nejhorší automatický import je ten, který tři dny neběží a nikdo to neví. Minimum, které nastavujeme:

  • upozornění, když import neskončí do stanoveného času,
  • upozornění na chybové stavy a na neobvyklé počty záznamů,
  • denní souhrn: kolik vytvořeno, aktualizováno, přeskočeno, chybných,
  • uložené logy aspoň za poslední týdny, abyste mohli zpětně dohledat, co se stalo.

Podrobněji v článku Monitoring integrací.

Jak na to prakticky

Checklist pro každý nový automatický tok dat:

  • Víte, kdo je vlastníkem zdroje dat a na koho se obrátit při chybě?
  • Má každý záznam stabilní párovací klíč?
  • Ukládáte surová vstupní data s časovou značkou?
  • Validujete počty, povinná pole a rozsahy před zápisem?
  • Dá se import bezpečně spustit znovu bez duplicit?
  • Respektuje proces limity API a pracuje v dávkách?
  • Dostanete upozornění, když import neproběhne nebo skončí chybou?
  • Je proces zdokumentovaný tak, aby ho převzal i někdo jiný?

Pokud vám některý bod chybí nebo trávíte ruční prací s tabulkami hodiny týdně, ozvěte se. Navrhneme a postavíme automatické importy a exporty včetně validace a monitoringu, případně celou automatizaci procesů kolem objednávek a skladu. Cenu připravíme po konzultaci podle počtu zdrojů a složitosti transformací.

Zpět na blog

Často kladené dotazy

Pro jednorázové ruční úpravy stačí CSV nebo XLSX. Pro pravidelné automatické importy je spolehlivější XML nebo JSON přes API, protože mají pevnou strukturu a lépe se validují. CSV je citlivé na kódování a oddělovače.

Mohlo by vás zajímat

Máte e-shop a nevíte, kde s růstem začít?

Nezávazná konzultace vám ukáže konkrétní příležitosti — technické, marketingové i obchodní.