Edit Content

Zlyhaná objednávka vo WooCommerce a sklad: nastavenie stavov

Zlyhaná objednávka vo WooCommerce nesmie automaticky znamenať ani „tovar držíme“, ani „tovar je určite voľný“. Správne rozhodnutie závisí od toho, či sa sklad už znížil, či platobná brána potvrdila alebo zamietla platbu a či objednávku už prevzal sklad, ERP alebo kuriérska integrácia. Pre malý e-shop je najbezpečnejšie nastaviť každý stav objednávky ako jednoznačný prevádzkový pokyn: čo sa deje so skladom, kto má konať, aký e-mail odchádza zákazníkovi a akú informáciu dostane externý systém.

Táto téma je aktuálna najmä pri aktualizácii na WooCommerce 11.0. Vývojárske upozornenie WooCommerce z 17. júla 2026 opisuje zmenu, pri ktorej prechod objednávky so už zníženým skladom do stavu Failed vráti zásobu späť. Pre bežné platobné zlyhania je to logické. Riziko však vzniká, ak váš e-shop používa „neúspešnú“ objednávku aj na iný interný proces – napríklad problém s expedíciou, rezervovaný kus alebo objednávku, ktorú už prevzalo ERP. ([developer.woocommerce.com](https://developer.woocommerce.com/2026/07/17/failed-order-stock-update/?utm_source=openai))

Čo sa môže pokaziť pri zlyhanej platbe a sklade

Najčastejší problém nie je samotná zamietnutá karta. Problémom je nesúlad medzi štyrmi miestami, ktoré „vedia“ niečo o objednávke:

  • WooCommerce eviduje stav objednávky a vlastnú skladovú zásobu.
  • Platobná brána eviduje, či platba čaká, vyžaduje ďalšie overenie, prebieha, zlyhala alebo je úspešná.
  • ERP, sklad alebo expedičný systém môže automaticky vytvoriť rezerváciu, výdajku alebo zásielku.
  • Produktová stránka a produktový feed komunikujú zákazníkom a vyhľadávačom dostupnosť tovaru.

Ak sa tieto vrstvy nerozprávajú podľa rovnakých pravidiel, nastanú dva opačné, ale rovnako nepríjemné scenáre:

  • Falošná nedostupnosť: zákazník platbu nedokončí, ale kus ostane znížený alebo rezervovaný. Pri poslednom kuse tak zbytočne stratíte ďalší predaj.
  • Falošná dostupnosť: WooCommerce vráti sklad po stave „neúspešná“, ale firma tovar stále považuje za pridelený, prípadne ho už fyzicky vychystala. Ďalší zákazník ho môže kúpiť, hoci ho neviete dodať.

Správny cieľ preto nie je „čo najviac automatizácie“. Cieľom je jedna pravda o dostupnosti a jasná hranica, od ktorej môže sklad tovar reálne vychystať.

Čo znamenajú stavy objednávok vo WooCommerce pre sklad

Vizualizovaný tok objednávky od čakania na platbu po spracovanie a expedíciu.
Stav objednávky má byť jasným pokynom pre sklad, nie iba administratívnym označením.

Pred nastavovaním automatizácií si zjednoťte význam základných stavov. Názvy sa môžu v slovenskom preklade mierne líšiť, no rozhodujúce je správanie jadra WooCommerce a vašej platobnej brány.

Stav objednávky Čo zvyčajne znamená Pravidlo pre sklad a expedíciu
Čaká sa na platbu
Pending payment
Objednávka je prijatá, ale platba ešte neprebehla. Neexpedovať. Časová rezervácia zásoby sa riadi nastavením „Hold Stock“; toto nastavenie platí iba pre tento stav.
Pozastavená
On hold
Platbu treba potvrdiť manuálne alebo sa čaká na oneskorené potvrdenie. Neexpedovať bez overenia. WooCommerce pri tomto stave uvádza znížený sklad, preto ho treba zahrnúť do kontroly ERP.
Neúspešná
Failed
Platba zlyhala, bola zamietnutá alebo objednávka nebola dokončená. Po overení, že platba naozaj neprešla, nemá zostať aktívna rezervácia ani expedícia. Pri správaní opísanom pre WooCommerce 11.0 sa pri už zníženom sklade zásoba obnoví.
Zrušená
Cancelled
Objednávku zrušil zákazník alebo administrátor. Zastaviť expedíciu a skontrolovať vrátenie zásoby. Pri zapnutej správe skladu WooCommerce zásobu položiek vracia.
Spracováva sa
Processing
Platba je prijatá a fyzický tovar čaká na vybavenie. Toto je štandardný signál pre sklad na vychystanie a expedíciu, nie však automaticky dôkaz, že balík už odišiel.

Oficiálna dokumentácia WooCommerce uvádza, že „On hold“ je stav čakania na potvrdenie platby so zníženým skladom, „Processing“ znamená prijatú platbu a čakanie na fulfillment a „Failed“ znamená neúspešnú alebo zamietnutú platbu. Stav „Cancelled“ pri správe skladu vracia položky do zásoby. ([woocommerce.com](https://woocommerce.com/document/managing-orders/order-statuses/?utm_source=openai))

Praktické pravidlo: stav objednávky nie je iba štítok pre administratívu. Je to udalosť, ktorá môže spustiť zmenu skladu, e-mail, prenos do ERP, vytvorenie zásielky aj zmenu dostupnosti produktu.

Dôležité upozornenie pri WooCommerce 11.0

WooCommerce v upozornení z 17. júla 2026 uviedol, že pri prechode objednávky do stavu Failed bude vo verzii 11.0 automaticky obnovený sklad, ak bol pri objednávke predtým skutočne znížený. Nejde o rovnaký mechanizmus ako dočasné držanie zásob počas nedokončenej platby. Zmena sa týka zníženého skladu pri objednávke, nie samostatnej checkout rezervácie. ([developer.woocommerce.com](https://developer.woocommerce.com/2026/07/17/failed-order-stock-update/?utm_source=openai))

Pre koho je zmena potenciálne citlivá:

  • e-shop používa stav „Neúspešná“ aj pre situácie, ktoré nie sú platobným zlyhaním,
  • ERP rezervuje alebo odpíše sklad pri stave „Pozastavená“ či inom vlastnom stave,
  • expedičný systém začne vychystávať skôr než po potvrdení platby,
  • vlastný plugin mení objednávky medzi stavmi bez doplnenia vlastnej logiky skladu,
  • predávate posledné kusy, limitované produkty alebo tovar s dlhým dodaním.

Podstatná výhrada: neodstraňujte automatické vracanie zásob iba preto, že sa po aktualizácii zmenilo správanie. Najprv pomenujte reálny pracovný postup. Ak „Failed“ na vašom e-shope naozaj znamená „platba zlyhala a nič sa neexpeduje“, vrátenie skladu je žiaduce. Ak týmto stavom označujete napríklad zlyhané doručenie už vychystaného tovaru, používate nesprávny stav pre danú situáciu. Vhodnejší je samostatný vlastný stav, napríklad „Problém s doručením“ alebo „Čaká na rozhodnutie skladu“, s presne definovaným správaním integrácií.

Vlastné stavy musia mať určené, či sa považujú za zaplatené, či vyžadujú platbu alebo sú neutrálne. Inak môže vzniknúť rozpor v prístupoch zákazníka, e-mailoch, reportoch a napojeniach. WooCommerce pri nástrojoch na vlastné stavy rozlišuje práve tieto tri obchodné významy. ([woocommerce.com](https://woocommerce.com/document/woocommerce-order-status-manager/?utm_source=openai))

Ako nastaviť bezpečný tok od platby po expedíciu

Pracovník e-shopu kontroluje potvrdenie platby pred odoslaním balíka.
Expedícia má začať až po spoľahlivom potvrdení platby.

1. Rozhodnite, ktorý systém je zdrojom pravdy o sklade

Ak sklad vediete iba vo WooCommerce, skladová zásoba produktu je zdrojom pravdy tam. Ak používate Pohodu, OMEGU, KROS, vlastné ERP, skladový systém alebo marketplace konektor, zdrojom pravdy býva externý systém. V takom prípade musí integrácia jednoznačne riešiť:

  • kedy sa sklad iba rezervuje,
  • kedy sa sklad reálne odpíše,
  • kedy sa rezervácia uvolní,
  • ako sa zabráni dvojitému odpisu alebo dvojitému vráteniu,
  • čo sa stane, keď WooCommerce a ERP dostanú tú istú udalosť opakovane.

Pre e-shop bez fyzického skladu môže postačiť jednoduchší model. Pri obmedzenom sklade však nestačí formulácia „ERP sa synchronizuje s WooCommerce“. Potrebujete presnú mapu: stav objednávky → akcia v sklade → správa zákazníkovi → ďalší povolený krok.

2. Nastavte rozumné držanie skladu pri nezaplatenej objednávke

V administrácii otvorte WooCommerce → Nastavenia → Produkty → Sklad a skontrolujte položku Hold Stock (minutes). Tá drží produkty pri nezaplatených objednávkach počas zvoleného času; po jeho uplynutí WooCommerce čakajúcu objednávku zruší a držanú zásobu uvoľní. Dokumentácia výslovne upozorňuje, že toto nastavenie platí pre „Pending payment“, nie pre „On hold“. ([woocommerce.com](https://woocommerce.com/document/configuring-woocommerce-settings/products/?utm_source=openai))

Neexistuje univerzálny počet minút. Nastavte ho podľa typu platby:

  • pri okamžitej platbe kartou má byť okno dostatočné na presmerovanie, 3D Secure a návrat z brány,
  • pri manuálnom prevode nepoužívajte „Čaká sa na platbu“ ako dlhodobú skladovú rezerváciu bez vlastného procesu; objednávka zvyčajne patrí do „Pozastavená“,
  • pri posledných kusoch si stanovte, či je prioritou čo najvyššia dostupnosť pre ďalších kupujúcich, alebo krátkodobá férová rezervácia pre zákazníka, ktorý už checkout začal.

3. Posielajte skladové dáta až po potvrdenej platbe

Pri fyzickom tovare je bezpečný základný model jednoduchý: spracovanie objednávky v sklade začína až pri stave „Spracováva sa“, prípadne pri inom vlastnom stave, ktorý má výslovne označenú potvrdenú platbu. „Pozastavená“ objednávka je kontrolná fronta, nie automatický pokyn na balenie.

Výnimku môžete vedome vytvoriť pri dobierke alebo pri špecifickej B2B dohode. Aj tam však integrácia nesmie zameniť „objednávka prijatá“ za „platba prijatá“. Každá výnimka potrebuje vlastné pravidlo rezervácie, zrušenia a zodpovednú osobu.

4. Pracujte s webhookmi, nie s návratom zákazníka na ďakovnú stránku

Zákazník môže po platbe zavrieť okno, stratiť pripojenie alebo sa vôbec nevrátiť na ďakovnú stránku. Preto návratová URL sama osebe nie je spoľahlivým dokladom úspechu platby. Stripe odporúča potvrdenie plnenia riešiť na serveri cez webhook udalosti, najmä preto, že zákazník môže stránku opustiť po platbe, ale pred spustením ďalšieho kroku objednávky. Pri platobných metódach s oneskoreným potvrdením môže platba určitý čas zostať v stave spracovania a výsledok príde až neskôr. ([docs.stripe.com](https://docs.stripe.com/payments/payment-intents/verifying-status?locale=en-GB&utm_source=openai))

Pri akejkoľvek bráne si preto overte štyri veci: doručuje webhooky, overuje ich podpis, zapisuje výsledok do poznámok objednávky a spracuje opakovaný webhook bez vytvorenia duplicity. Konkrétne názvy udalostí a mapovanie na stavy WooCommerce sa líšia podľa použitého pluginu brány.

Pri väčšom zásahu do objednávkového toku odporúčame spojiť tento audit aj s auditom bezpečnosti WooCommerce e-shopu. Platobné webhooky, používateľské oprávnenia a aktualizácie pluginov spolu priamo súvisia.

Kontrolný postup: sklad, brána, e-maily, ERP a produktové dáta

Nasledujúci checklist si prejdite pred aktualizáciou WooCommerce, pred pripojením nového ERP alebo vždy, keď riešite objednávky so zlým stavom.

Sklad vo WooCommerce

  • Je v e-shope zapnutá správa skladu a je správne nastavená na úrovni produktu alebo variantu?
  • Majú všetky predajné varianty vlastné SKU a správne množstvo? Pri variantoch kontrolujte sklad na úrovni variantu, nie len rodičovského produktu.
  • Viete, pri ktorom stave sa sklad zníži, pri ktorom sa obnoví a kto môže stav meniť ručne?
  • Máte nízkoskladové a vypredané e-mailové upozornenia posielané na správnu adresu?
  • Prešiel posledný kus testom s dvoma súčasnými nákupmi?

Platobná brána

  • Máte zapnutý testovací režim a viete vytvoriť úspešnú, zamietnutú aj nedokončenú platbu?
  • Vidíte v poznámkach objednávky identifikátor transakcie, odpoveď brány a zmenu stavu?
  • Sú webhooky dostupné z internetu, správne autorizované a bez chýb v logoch?
  • Viete, ako brána spracuje 3D Secure, oneskorené platby, opakovaný pokus o platbu a refundáciu?
  • Spúšťa sa ERP až po spoľahlivom potvrdení platby, nie pri samotnom vytvorení objednávky?

E-maily a interné upozornenia

  • Dostane zákazník jasný e-mail pri neúspešnej platbe s možnosťou zaplatiť znova alebo zvoliť inú metódu?
  • Dostane sklad e-mail iba pri stave, pri ktorom má začať vychystávanie?
  • Má tím samostatné upozornenie na objednávky, ktoré sú „Pozastavené“ dlhšie než stanovený čas?
  • Neodosiela e-shop zákazníkovi protichodné správy, napríklad potvrdenie expedície pred potvrdením platby?

ERP, skladový a expedičný systém

  • Má integrácia zdokumentované, ktoré stavy importuje a exportuje?
  • Rozlišuje externý systém rezerváciu, výdaj a storno?
  • Je pri udalosti „Failed“ definované, či má ERP uvoľniť rezerváciu, a je to po WooCommerce 11.0 stále správne?
  • Dokáže integrácia spracovať opakovaný prenos bez duplicitnej výdajky, zásielky alebo pohybu skladu?
  • Existuje denná kontrola objednávok, ktorých stav alebo sklad sa medzi systémami rozchádza?

Produktové dáta, dostupnosť a Google

Ak e-shop zobrazuje produkt ako dostupný, no sklad ho považuje za rezervovaný alebo vypredaný, problém sa neprejaví len na košíku. Google odporúča pri produktových stránkach poskytovať údaje o dostupnosti; tieto dáta môžu pomôcť zobrazovať informáciu o sklade v rôznych produktových zobrazeniach vo Vyhľadávaní, Google Images a Google Lens. Aktuálnosť údajov vo WooCommerce, štruktúrovaných dátach a Merchant Center feede preto kontrolujte spolu. ([developers.google.com](https://developers.google.com/search/docs/appearance/structured-data/product?utm_source=openai))

Na detailnejšiu kontrolu údajov na produktovej stránke využite aj náš checklist produktovej stránky WooCommerce pre Google Shopping a AI vyhľadávanie.

Testovací scenár pred nasadením aktualizácie alebo integrácie

Nestačí overiť, že zákazník dokáže zaplatiť kartou. V testovacom prostredí vytvorte jednoduchú tabuľku výsledkov a pre každý scenár skontrolujte stav objednávky, množstvo skladu vo WooCommerce, rezerváciu v ERP, odoslané e-maily, poznámky objednávky a zobrazenie dostupnosti produktu.

  1. Úspešná karta: objednávka prejde do „Spracováva sa“, sklad sa zníži a ERP dostane pokyn na vychystanie.
  2. Zamietnutá karta: objednávka skončí ako „Neúspešná“, nevznikne zásielka a sklad sa správa podľa vašich definovaných pravidiel vrátane zmeny vo WooCommerce 11.0.
  3. Opustený checkout: po uplynutí nastaveného času sa pri „Čaká sa na platbu“ uvoľní držaná zásoba a objednávka nezostane visieť bez dohľadu.
  4. Bankový prevod: objednávka je „Pozastavená“, sklad sa nevychystá bez kontroly a po prijatí platby sa stav správne zmení.
  5. Oneskorené potvrdenie platby: webhook neskôr dorazí a objednávka sa presunie do správneho stavu bez ručného zásahu a bez duplicitného odpisu skladu.
  6. Ručná zmena na „Neúspešná“: overte, či sa tým neotvorí predaj tovaru, ktorý už fyzicky drží sklad alebo kuriér.
  7. Posledný kus: simulujte dve objednávky v krátkom slede a skontrolujte, či ani jedna integrácia nepredá viac kusov, než máte.
  8. Opakovaný webhook: simulujte doručenie rovnakej udalosti dvakrát a overte, že nevznikne druhá zásielka, druhá faktúra ani druhý skladový pohyb.

Testujte na kópii e-shopu s testovacími platbami, nie priamo na produkcii. Pri aktualizáciách si vždy urobte zálohu, kompatibilitnú kontrolu témy a pluginov a naplánujte postup návratu späť. Pomôcť môže aj náš checklist aktualizácie WordPressu bez výpadku, ktorý sa dá prispôsobiť aj WooCommerce aktualizáciám.

Kedy potrebujete úpravu e-shopu na mieru

Predvolený WooCommerce tok je pre veľa malých obchodov dostatočný. Úpravu na mieru však zvažujte, ak máte kombináciu platobnej brány, ERP, viacerých skladov, predobjednávok, rezervácií, B2B cien, dropshippingu alebo vlastných stavov objednávok.

Varovným signálom je situácia, keď tím musí každý deň ručne porovnávať WooCommerce, banku a sklad; objednávky sa expedujú podľa e-mailu namiesto potvrdeného stavu; alebo nikto nevie vysvetliť, čo presne urobí systém pri stave „Neúspešná“. Vtedy nejde o drobnú administratívnu chybu, ale o nejasne navrhnutý objednávkový proces.

Pomego vie preveriť tok objednávky od checkoutu cez platobnú bránu až po skladový alebo ERP systém, pripraviť bezpečné pravidlá stavov a otestovať ich pred nasadením. Pri e-shope na mieru nie je dôležité iba to, aby sa objednávka vytvorila. Dôležité je, aby sa pri každom výsledku platby správne zachovali zásoby, tržby aj dôvera zákazníka.

FAQ

Vráti WooCommerce sklad automaticky pri neúspešnej objednávke?

Pri správaní oznámenom pre WooCommerce 11.0 sa sklad obnoví pri prechode do stavu „Neúspešná“, ak sa pri danej objednávke predtým reálne znížil. Overte si to však na testovacom prostredí spolu s vašimi pluginmi, vlastným kódom a ERP integráciou. ([developer.woocommerce.com](https://developer.woocommerce.com/2026/07/17/failed-order-stock-update/?utm_source=openai))

Aký je rozdiel medzi „Čaká sa na platbu“ a „Pozastavená“?

„Čaká sa na platbu“ označuje prijatú, ale nezaplatenú objednávku. „Pozastavená“ zvyčajne znamená čakanie na potvrdenie platby – napríklad pri bankovom prevode, oneskorenom potvrdení alebo oddelenej autorizácii a inkase. Nastavenie časového držania skladu platí iba pre „Čaká sa na platbu“. ([woocommerce.com](https://woocommerce.com/document/managing-orders/order-statuses/?utm_source=openai))

Môže sklad vychystávať objednávku v stave „Pozastavená“?

Nie automaticky. Tento stav neznamená spoľahlivo prijatú platbu. Vychystanie povoľte až po manuálnom overení platby alebo po automatickom prechode do stavu, ktorý vo vašom procese jednoznačne označuje zaplatenú objednávku.

Prečo sa objednávka po úspešnej platbe zasekne na stave „Pozastavená“?

Môže ísť o očakávané správanie pri oneskorenom potvrdení platby, nastavenie brány na samotnú autorizáciu bez inkasa alebo problém s komunikáciou platobnej brány. Skontrolujte metódu platby, poznámky objednávky, ID transakcie, webhooky a logy pluginu brány. ([woocommerce.com](https://woocommerce.com/document/managing-orders/troubleshooting-orders/?utm_source=openai))

Stačí potvrdiť platbu podľa toho, že zákazník videl ďakovnú stránku?

Nestačí. Návrat zákazníka do e-shopu nie je spoľahlivý dôkaz výsledku platby. Platobné procesy majú potvrdzovať serverové webhooky od brány, pretože zákazník môže stránku opustiť aj po dokončení platby. ([docs.stripe.com](https://docs.stripe.com/payments/payment-intents/verifying-status?locale=en-GB&utm_source=openai))

Máme vlastný stav „Čaká na expedíciu“. Čo s ním?

Definujte, či ide o zaplatený stav, stav vyžadujúci platbu alebo neutrálny stav. Následne určite, či spúšťa odpis alebo rezerváciu skladu, prenos do ERP, e-mail zákazníkovi a zahrnutie do reportov. Nevyužívajte „Neúspešná“ ako náhradu za interný problém s logistikou.

Prečo riešiť dostupnosť produktu aj z pohľadu SEO?

Neaktuálna dostupnosť zhoršuje nákupný zážitok a môže sa rozchádzať s údajmi, ktoré e-shop poskytuje Googlu cez produktové štruktúrované dáta alebo Merchant Center feed. Google odporúča odosielať údaje o dostupnosti, aby zákazníci vedeli, či je produkt skladom. ([developers.google.com](https://developers.google.com/search/docs/appearance/structured-data/product?utm_source=openai))

Sources