Nacházíte se na stránkách dokumentace pluginu Synchronizace skladu, který umožňuje synchronizovat sklad produktů mezi WooCommerce e-shopy. Plugin Synchronizace skladu zakoupíte zde: Toret Synchronizace skladu
Co plugin dělá
Toret Synchronizace skladu udržuje skladové zásoby synchronizované mezi více WooCommerce e-shopy. Jakákoli změna skladu na kterémkoli z propojených e-shopů — prodej, storno, vrácení, naskladnění, ruční úprava i hromadný import — se během několika sekund promítne do všech ostatních.
Plugin pracuje v topologii Master / Spoke:
- Master — jeden „hlavní“ e-shop, který drží závazný (kanonický) stav skladu a rozesílá změny všem ostatním.
- Spoke — každý další e-shop. Své změny hlásí Masterovi a od něj přijímá aktuální hodnoty.
Produkty se mezi e-shopy párují podle SKU (katalogového čísla), volitelně podle EAN/GTIN nebo vlastního meta klíče. Produkt bez párovací hodnoty se nesynchronizuje.
Požadavky
| Součást | Minimální verze |
|---|---|
| WordPress | 6.0 |
| WooCommerce | 6.7 |
| PHP | 8.1 |
| MySQL | 5.0 |
Všechny e-shopy musí běžet na HTTPS — komunikace přes nezabezpečené HTTP je odmítnuta.
Instalace pluginu
Po zakoupení pluginu obdržíte emailem licenční klíč a odkaz na stažení zip souboru s pluginem. Detailní návod, jak do WordPress nainstalovat plugin z počítače, najdete zde.
Pozor! Plugin je třeba nainstalovat, aktivovat a nastavit na všech e-shopech, u kterých chcete synchronizovat sklady.
Aktivace pluginu
Po instalaci pluginu si otevřete plugin Synchronizace skladu, do příslušného pole vložte licenční klíč a tlačítkem ověřte licenci.

Nastavení (záložka Obecné)
(Toret plugins > Synchronizace skladu > Obecné)

Role
Vyberte roli e-shopu:
- Master – drží závazný sklad, rozesílá změny. V celé síti smí být jeden Master.
- Spoke – připojuje se k Masterovi. Počet e-shopů s rolí Spoke není omezený.
Párování produktů
Produkty se párují podle zvoleného párovacího klíče. Na všech e-shopech je třeba tuto hodnotu nastavit stejně. Párují se vždy pouze sklady u produktů se stejnou hodnotou (např. se stejným SKU)
Primární párovací klíč — hlavní klíč, podle kterého se produkty mezi e-shopy párují:
- SKU (výchozí)
- EAN / GTIN — nativní WooCommerce pole „GTIN, UPC, EAN nebo ISBN“ (WC 9.2+)
- Vlastní meta klíč — libovolný vlastní meta klíč produktu
Vlastní meta klíč — název meta klíče pro volbu výše. Může sloužit zároveň jako záložní klíč, pokud je primárním klíčem SKU nebo EAN/GTIN.
Striktní párování — pokud je zapnuto, používá se pouze primární klíč. Pokud je vypnuto, zkouší se při chybějící/nenalezené hodnotě i ostatní klíče jako záloha.
Důležité: Nastavte párování stejně na všech e-shopech, jinak se produkty nemusí spárovat.
Log synchronizace skladu
Retence logu (dny) — kolik dní ukládá záznamy v logu synchronizace (výchozí 14). Starší záznamy se jednou denně automaticky mažou.
Propojení e-shopů (záložka Připojení)
(Toret plugins > Synchronizace skladu > Připojení)
Na e-shopu s rolí Master
- Otevřete záložku Připojení.
- Klikněte na Vygenerovat párovací token (a). Vygeneruje se jednorázový párovací token s platností 1 hodina (b),
- Token spolu s URL adresou Masteru je třeba zadat na e-shopu/eshopech s rolí Spoke (viz níže) do 1 hodiny.
Na téže záložce vidíte tabulku Připojené e-shopy (c) — všechny připojené e-shopy s frontou čekajících změn, časem posledního odeslání a tlačítky Test (ověření spojení) a Odebrat (odpojení e-shopu).

TIP: Pro každý Spoke e-shop je třeba vygenerovat vlastní token.
Na e-shopu s rolí Spoke
- Otevřete záložku Připojení.
- Vyplňte URL Masteru (např. https://hlavni-eshop.cz) a vložte Párovací token z Masteru.
- Klikněte na Spárovat s Masterem.
Po spárování se zobrazí stav spojení a tlačítka Otestovat spojení a Odpojit. Token je jednorázový — po úspěšném spárování přestane platit; pro další e-shop vygenerujte na Masterovi nový.

První naplnění skladu na novém Spoke (záložka Nástroje)
(Toret plugins > Synchronizace skladu > Nástroje)

Po připojení nového Spoke e-shopu si stáhněte kompletní sklad z Masteru:
Na Spoke otevřete Nástroje → Stáhnout kompletní sklad z Masteru.
TIP: Pokud nejdřív kliknete na Náhled rozdílů (dry-run), zobrazí se tabulka produktů, u kterých se místní sklad liší od Masteru (co by se přepsalo). Nic se přitom nemění.
Stažení běží na pozadí po dávkách, takže ani velký katalog nezpůsobí timeout. Průběh (zpracováno / celkem / aktualizováno) vidíte po obnovení stránky. Pokud se stažení přeruší kvůli nedostupnému Masterovi, stránka to oznámí — zkontrolujte spojení a spusťte stažení znovu.
Běžný provoz
Po nastavení funguje synchronizace automaticky:
- Prodej, storno, vrácení, naskladnění, ruční úprava, rychlá/hromadná úprava i CSV import se zachytí a rozešlou. Změny se typicky projeví do několika sekund, nejpozději do minuty (pojistný interval fronty).
- Změny se frontují — pokud je protistrana dočasně nedostupná, nic se neztratí; fronta se opakovaně pokouší o doručení s prodlužujícím se odstupem (souhrnně zhruba dva dny).
- Spoke navíc každých ~5 minut provádí rekonciliaci — porovná se s Masterem a dorovná případný rozdíl.
- U produktů bez řízení skladu se synchronizuje stav skladem / není skladem / na objednávku.
- Desetinné skladové množství je podporováno.
Upozornění „Master nedostupný“
Pokud Master neodpovídá, zobrazí se na Spoke v administraci trvalé varování s časem výpadku. Změny skladu se mezitím frontují a po obnovení spojení se doručí.
Ruční akce v detailu produktu
V detailu produktu najdete metabox Historie synchronizace skladu:
- Historie změn — posledních 10 synchronizovaných změn: kdy, z kolika na kolik, důvod (prodej / vrácení / ruční úprava / storno / rekonciliace…), zdroj (tento e-shop vč. objednávky či uživatele, název Spoke, nebo Master) a verze.
- Na Masterovi: tlačítko Rozeslat aktuální stav do všech e-shopů — rozešle aktuální sklad produktu jako novou závaznou hodnotu do všech e-shopů.
- Na Spoke: tlačítka Náhled rozdílů (porovnání s Masterem, nic nemění) a Načíst stav z Masteru (stáhne a aplikuje aktuální hodnotu z Masteru).
U variabilního produktu akce zahrnují i všechny jeho variace.


Nástroje
(Toret plugins > Synchronizace skladu > Nástroje)
Na e-shopu s rolí Master

Plná synchronizace — znovu rozešle celý závazný sklad všem připojeným e-shopům. Použijte např. po delším výpadku. Aktuální e-shopy zastaralé hodnoty samy zahodí, zaostávající se dorovnají.
Master obnoven ze zálohy / re-inicializovat — pouze po obnově Masteru ze zálohy. Zvýší tzv. epochu a rozešle obnovený stav jako nový závazný. ⚠ Pozor, tato funkce je destruktivní: přepíše na Spoke e-shopech i prodeje novější než záloha. Pokud je potřebujete, poznamenejte si aktuální stavy na Spoke předem.
Na e-shopu s rolí Spoke
Náhled rozdílů (dry-run) a Stáhnout kompletní sklad z Masteru — viz kapitola o prvním naplnění skladu.
Stav a log
(Toret Plugins > Synchronizace skladu > Stav a log)
Na záložce Stav a log můžete kontrolovat, jak plugin pracuje.
V boxu Stav najdete:
- Sledovaná SKU — počet sledovaných položek.
- Hloubka fronty — počet změn čekajících ve frontě na odeslání.
- Poslední úspěšné odeslání — čas posledního úspěšného odeslání.
- Trvalá selhání (vyčerpané pokusy) — počet změn, u kterých se vyčerpaly všechny pokusy o doručení.
Pokud je pole Trvalá selhání nenulové, zobrazí se varování: Dotčené položky byly automaticky označeny k opětovnému srovnání s Masterem, ale nedoručený úbytek mohl zaniknout — hrozí přeprodání. Projděte log a stavy položek ručně ověřte. Počítadlo lze vynulovat tlačítkem Reset.
Níže je náhled posledních 20 záznamů logu a odkaz na celý log (Box Poslední záznamy).

Úplný log
(Toret plugins → Log Synchronizace Skladu)
Kompletní historie všech synchronizovaných změn s filtrem podle SKU nebo ID produktu, stránkováním a rozbalovacím detailem každého záznamu (kliknutím na řádek).
Barevné odlišení: zelená = úspěch, modrá = informace/přeskočeno, červená = chyba.
Tlačítko Smazat všechny logy celý log nevratně smaže.

Diagnostika
(Toret plugins > Synchronizace skladu > Diagnostika)
V záložce Diagnostika můžete zkontrolovat, zda na e-shopu nejsou problematické položky:
Produkty bez párovací hodnoty — nesynchronizují se; doplňte jim SKU/EAN/meta hodnotu.
Duplicitní párovací hodnoty — stejnou hodnotu sdílí více produktů, párování je nejednoznačné; duplicity odstraňte.

Řešení potíží
| Problém | Řešení |
|---|---|
| Párování selhalo (Pairing failed) | Zkontrolujte URL Masteru (HTTPS!), platnost tokenu (1 hodina, jednorázový) a že Master má roli Master. |
| Produkt se nesynchronizuje | Zkontrolujte, že má produkt párovací hodnotu (záložka Diagnostika) a že existuje se stejnou hodnotou i na protistraně. |
| Sklad „skáče“ / neodpovídá | Podívejte se do logu na detail změn — u každé je vidět odkud přišla a proč. |
| Varování o nedostupném Masterovi | Ověřte dostupnost Masteru (tlačítko Otestovat spojení). Fronta změny doručí po obnovení spojení. |
| Trvalá selhání > 0 | Projděte log, ověřte sklad dotčených SKU ručně (riziko přeprodání) a vynulujte počítadlo. |
| Testovací prostředí bez HTTPS | HTTPS lze pro vývoj povolit jen zásahem vývojáře (filtr toret_sync_allow_insecure). |
WP-CLI
wp tsync status # role, počet SKU, hloubka fronty, poslední odeslání, peery
wp tsync sync # Master: plné rozeslání; Spoke: rekonciliace
wp tsync pull # Spoke: synchronní stažení celého skladu z Masteru
wp tsync reconcile # Spoke: jedna rekonciliace
wp tsync reinit # Master: reinicializace po obnově ze zálohy