Automatické zpracování objednávky krok za krokem

Od přijetí objednávky přes potvrzení platby a rezervaci skladu až po expedici. Prakticky vysvětlujeme, jak navrhnout automatizaci, která je rychlá, přehledná a bezpečná i při chybách.

Automatické zpracování objednávky krok za krokem

Objednávka v e-shopu není jeden záznam a jedno tlačítko „vyřízeno“. Je to sled navazujících rozhodnutí: přijmout data, ověřit je, potvrdit platbu, rezervovat zboží, připravit doklady, předat požadavek skladu, vytvořit zásilku a informovat zákazníka. Když se tyto kroky provádějí ručně, provoz zpomaluje. Když se bez rozmyslu spojí do jedné automatizace, vznikne nepřehledná černá skříňka.

Dobře navržené automatické zpracování objednávky musí splnit dvě zdánlivě protichůdné podmínky: běžné objednávky zpracovat bez zbytečného zásahu a nestandardní případy včas zastavit. Obsluha musí vždy poznat, co se stalo, proč se proces zastavil a jak bezpečně pokračovat.

Následující postup lze použít pro WooCommerce i vlastní e-shop. Konkrétní stavy a pravidla je však potřeba přizpůsobit sortimentu, platebním metodám, skladu, dopravcům a způsobu fakturace.

Nejdříve popište skutečný provoz

Automatizace by neměla začínat výběrem pluginu. Začněte jednoduchou mapou současného procesu. U každého kroku si položte čtyři otázky:

  • Jaká událost krok spouští?
  • Jaká data a podmínky musí být splněny?
  • Co má systém udělat při úspěchu?
  • Kdo a jak řeší výjimku?

U malého e-shopu může cesta vypadat jako objednávka → platba → sklad → dopravce → dokončení. Reálný provoz ale často obsahuje bankovní převod, dobírku, osobní odběr, nedostupnou položku, dělenou zásilku, změnu adresy, neúspěšnou platbu nebo ruční kontrolu rizikové objednávky. Právě tyto větve rozhodují, zda bude automatizace spolehlivá.

Stav objednávky musí popisovat realitu

Stav není dekorativní štítek. Je to informace o tom, co již proběhlo a jaká akce smí následovat. Ve WooCommerce například stav Čeká na platbu označuje přijatou, ale nezaplacenou objednávku. Zpracovává se obvykle znamená, že platba byla přijata, sklad snížen a objednávka čeká na vyřízení. Stav Dokončeno signalizuje, že už není potřeba další akce.

Nepleťte do jednoho stavu několik nezávislých skutečností. „Zaplaceno“, „připraveno ve skladu“ a „předáno dopravci“ nejsou totéž. U složitějšího provozu je vhodné vedle hlavního stavu evidovat samostatně platební, skladový a expediční stav.

Životní cyklus objednávky od přijetí přes platbu a sklad po dokončení
Hlavní cesta má být jednoduchá. Chyby a výjimky se odklánějí do samostatné fronty pro ruční kontrolu, odkud lze proces bezpečně obnovit.

Krok 1: přijetí objednávky

Po odeslání pokladny systém vytvoří objednávku s jedinečným interním identifikátorem. V této chvíli ještě nemusí být zaplacená ani připravená k expedici. Objednávka má zachytit přesný snapshot nákupního košíku a údajů, které zákazník odeslal.

Uložte zejména:

  • produkty, varianty, množství a jednotkové ceny,
  • slevy, dopravu, poplatky, měnu a celkovou částku,
  • fakturační a dodací údaje platné při objednání,
  • vybranou platbu a dopravu,
  • souhlasy a obchodně důležité verze podmínek,
  • technické identifikátory relace a navazujících systémů.

Profil zákazníka může později změnit adresu nebo telefon, historická objednávka se však nemá přepsat. Provozní záznam musí zůstat dohledatelný v podobě, v jaké byl přijat.

Krok 2: kontrola úplnosti a konzistence

Před automatickou platbou, skladem nebo expedicí ověřte, že data dávají smysl. Nestačí kontrola povinného pole v prohlížeči; požadavek lze poslat i mimo formulář a některé chyby vzniknou až při integraci.

  • Objednávka obsahuje alespoň jednu platnou položku.
  • Součet položek, slev, dopravy a poplatků odpovídá celku.
  • Měna je podporována zvolenou platební metodou.
  • Dodací země odpovídá vybrané dopravě.
  • Adresa obsahuje údaje potřebné pro vytvoření zásilky.
  • Produkty lze prodávat v požadovaném množství a kombinaci.
  • Objednávka není technickým duplikátem předchozího požadavku.

Neplatný případ označte konkrétním důvodem. Text „chyba objednávky“ obsluze nepomůže. Lepší je „dopravce nepodporuje cílové PSČ“ nebo „celková částka nesouhlasí s potvrzenou platbou“.

Krok 3: rezervace a změna skladu

Skladová rezervace brání tomu, aby se poslední kus prodal více zákazníkům. Je ale potřeba určit, kdy vzniká a jak dlouho trvá. Příliš časná a dlouhá rezervace blokuje zboží u nedokončených plateb, pozdní rezervace zvyšuje riziko přeprodeje.

WooCommerce rozlišuje stavy objednávek a jejich dopad na sklad. Nezaplacená objednávka může čekat na platbu, zatímco při stavu zpracování je platba přijata a sklad snížen. Zrušení objednávky může sklad vrátit. Konkrétní chování vždy ověřte s použitou platební bránou, pluginy a skladovým napojením.

Pro spolehlivost doporučujeme:

  • rezervovat podle varianty a skutečného skladového identifikátoru, ne pouze podle názvu produktu,
  • uložit vazbu mezi rezervací a objednávkou,
  • mít definovaný čas vypršení rezervace pro nezaplacené objednávky,
  • vracet sklad pouze jednou a jen při správné události,
  • zaznamenat každý skladový pohyb do dohledatelné historie,
  • pravidelně porovnávat e-shop se zdrojovým skladovým systémem.

Krok 4: potvrzení platby

Objednávku nepovažujte za zaplacenou jen proto, že se zákazník vrátil z platební brány na děkovací stránku. Návrat lze přerušit, zopakovat nebo napodobit. Rozhodující má být serverově ověřená informace platební brány, bankovní párování nebo ruční potvrzení odpovědné osoby.

U webhooku ověřte podpis zprávy a pracujte s původním nezměněným tělem požadavku podle dokumentace poskytovatele. Porovnejte identifikátor objednávky, částku, měnu a stav transakce. Teprve potom změňte platební stav.

Platební metody se chovají různě:

  • Online karta: potvrzení může přijít během sekund, ale i se zpožděním.
  • Bankovní převod: objednávka čeká na spárování platby podle variabilního symbolu či jiné reference.
  • Dobírka: expedice nesmí být blokována podmínkou „již zaplaceno“; platba se vyhodnocuje jinak.
  • Odložená platba: je nutné rozlišit schválení poskytovatelem od skutečného vypořádání.
  • Autorizace a pozdější stržení: rezervace prostředků není totéž jako zachycená platba.

Opakované webhooky a pořadí událostí

Platební brána může stejnou událost doručit vícekrát. Stripe ve své dokumentaci výslovně doporučuje evidovat zpracované identifikátory, ignorovat duplicity a zpracovávat webhooky asynchronně. Současně negarantuje, že události dorazí ve stejném pořadí, v jakém vznikly.

Proto nesmí logika znít „pokaždé, když přijde zpráva o platbě, odečti sklad a vytvoř zásilku“. Bezpečný proces:

  1. ověří podpis a typ události,
  2. uloží její jedinečný identifikátor,
  3. atomicky zkontroluje, zda již nebyla zpracována,
  4. načte aktuální stav objednávky a případně ověří stav přímo u poskytovatele,
  5. provede pouze povolený přechod,
  6. zapíše výsledek a na duplicitu odpoví úspěšně bez další akce.
Infografika idempotentního zpracování opakovaných platebních událostí
Idempotence znamená, že opakované doručení stejné potvrzené události vede ke stejnému výsledku, nikoli k druhému odečtení skladu nebo druhé expedici.

Krok 5: rozhodnutí, zda lze objednávku automaticky vyřídit

Zaplacená objednávka nemusí automaticky znamenat „odeslat“. Před předáním skladu vytvořte rozhodovací bránu. Automaticky mohou pokračovat objednávky, které splní předem schválená pravidla. Ostatní se přesunou k ruční kontrole.

Důvodem kontroly může být například:

  • nesoulad částky nebo měny,
  • produkt vyráběný na míru bez schválených podkladů,
  • neobvykle vysoké množství nebo hodnota,
  • nedostupná položka či rozpor mezi sklady,
  • adresa, kterou dopravce odmítá,
  • požadavek na změnu po zaplacení,
  • objednávka čekající na kontrolu věku, licence nebo jiného oprávnění,
  • rizikový signál z platebního nebo antifraud systému.

Automatizace nemá sama „hádat“ opravu. Má nabídnout přesný kontext a bezpečné akce: změnit dopravu se souhlasem zákazníka, doplnit podklady, rozdělit zásilku, objednávku zrušit nebo pokračovat po schválení.

Krok 6: doklady a data pro sklad

Po schválení objednávky mohou vzniknout navazující dokumenty a pracovní úkoly. Faktura, dodací list, skladová výdejka a štítek dopravce však nemusí vznikat ve stejnou chvíli ani ze stejného zdroje.

  • Faktura se řídí účetním a daňovým procesem.
  • Dodací list vychází ze skutečně expedovaných položek.
  • Skladový úkol obsahuje údaje potřebné pro vychystání a kontrolu.
  • Štítek dopravce vyžaduje validovanou adresu, službu a parametry balíku.

Každému výstupu uložte vlastní stav, identifikátor a vazbu na objednávku. Selhání tisku štítku nesmí vytvořit druhou fakturu. Opakovaný tisk štítku nesmí bez upozornění založit druhou zásilku.

Krok 7: kompletace a balení

I automatizovaný e-shop potřebuje fyzickou kontrolu tam, kde člověk vybírá a balí zboží. Systém má práci zjednodušit: řadit úkoly podle priorit, zobrazit skladové pozice, umožnit skenování čárových kódů a upozornit na nesoulad.

Uložte, kdo a kdy objednávku vychystal, které kusy nebo šarže použil a zda kontrola prošla. U citlivého sortimentu může být nutná dvojí kontrola. Pokud položka chybí, objednávka se nemá označit jako expedovaná; vznikne řešitelná výjimka.

Krok 8: předání dopravci

Vytvoření štítku ještě nemusí znamenat, že dopravce zásilku fyzicky převzal. Je užitečné rozlišit alespoň:

  • zásilka založena u dopravce,
  • štítek vytvořen,
  • balík připraven k předání,
  • dopravce zásilku převzal,
  • zásilka je v přepravě,
  • doručena nebo vrácena.

Zákaznický e-mail „objednávka byla odeslána“ posílejte podle události, která odpovídá realitě. Pokud zprávu odešlete už při vytvoření štítku a balík zůstane dva dny ve skladu, zákazník ztratí důvěru v informace e-shopu.

Krok 9: dokončení objednávky

Dokončení má mít jasnou definici. U fyzického zboží to může být předání dopravci nebo potvrzené doručení, podle vnitřního procesu. U digitálního produktu může jít o úspěšné zpřístupnění souboru po platbě. U služby až o její skutečné poskytnutí.

WooCommerce standardně nepřevádí všechny fyzické objednávky ze stavu Zpracovává se na Dokončeno samo; dokončení obvykle následuje po vyřízení. Čistě virtuální a stahovatelné objednávky se mohou chovat odlišně. Automatické dokončení proto zavádějte podle typu produktu, ne jedním globálním pravidlem.

Částečná expedice a více skladů

Jedna objednávka může vytvořit více zásilek. Každá potřebuje vlastní položky, množství, dopravce, sledovací číslo a stav. Hlavní objednávka je dokončena až podle definovaného pravidla, například když jsou všechny zásilky předány.

U více skladů rozhoduje systém, odkud zboží odešle. Má zohlednit dostupnost, rezervace, náklady, rychlost a případné dělení objednávky. Rozhodnutí uložte, aby bylo později jasné, proč byla zásilka směrována právě takto.

Změny, storna a refundace

Zákazník může změnit adresu, položku nebo dopravu. Určete mezní stav, do kterého je změna možná automaticky, a od kdy vyžaduje zásah skladu či dopravce. Po vytvoření zásilky nestačí přepsat adresu pouze v e-shopu.

Zrušení a refundace jsou samostatné procesy. Stav „Refundováno“ v administraci nemusí u ruční refundace sám o sobě dokazovat, že peníze skutečně odešly. Je nutné uložit transakční identifikátor, částku, důvod a výsledek u poskytovatele. Sklad vracejte podle skutečného stavu zboží a pouze jednou.

Fronta úloh místo dlouhé reakce webu

Komunikace s účetnictvím, skladem, dopravcem a e-mailem může trvat nebo selhat. Neprovádějte všechny operace během jednoho požadavku zákazníka. Objednávku bezpečně uložte a navazující kroky zpracovávejte ve frontě.

Každá úloha by měla mít stav čeká, zpracovává se, dokončeno nebo chyba; počet pokusů; čas dalšího pokusu; poslední srozumitelnou chybu a vazbu na objednávku. Dočasný výpadek řešte opakováním s rostoucím intervalem. Neplatné údaje opakováním nezmizí, proto je předejte člověku.

Monitoring: co musíte vidět každý den

Úspěšnost automatizace se neměří jen tím, že „většinou funguje“. Sledujte alespoň:

  • počet objednávek v každém stavu a jejich stáří,
  • objednávky čekající neobvykle dlouho na platbu nebo expedici,
  • velikost fronty a počet opakovaných chyb,
  • rozdíly mezi zaplacenými objednávkami a vytvořenými skladovými úkoly,
  • objednávky bez faktury, zásilky nebo sledovacího čísla, pokud je mají mít,
  • duplicity externích identifikátorů,
  • nesoulad mezi e-shopem a skladem,
  • úspěšnost e-mailů a napojení dopravců.

Upozornění musí vést ke konkrétní akci. „Integrace selhala“ nestačí. Obsluha potřebuje vědět, kterých objednávek se chyba týká, zda je bezpečné krok zopakovat a kdo problém řeší.

Bezpečnost a osobní údaje

Objednávky obsahují osobní a obchodně citlivá data. Přístup do administrace rozdělte podle rolí, používejte vícefaktorové ověření tam, kde je dostupné, a zaznamenávejte citlivé změny. API klíče ukládejte mimo zdrojový kód a přidělte jim jen potřebná oprávnění.

Webhooky přijímejte pouze přes HTTPS, ověřujte podpis a neukládejte celé platební údaje, pokud je nepotřebujete a nesmíte zpracovávat. Logy mají pomoci diagnostice, ne vytvářet druhou nechráněnou databázi zákazníků.

Jak automatizaci testovat

Jedna úspěšná testovací objednávka nestačí. Připravte scénáře pro běžné i chybové větve:

  • úspěšná karta, zamítnutá karta a pozdě potvrzená platba,
  • opakované a obráceně doručené webhooky,
  • bankovní převod a dobírka,
  • poslední kus zakoupený dvěma zákazníky téměř současně,
  • neplatná adresa nebo nedostupná služba dopravce,
  • výpadek skladu, fakturace, e-mailu a dopravce,
  • částečná expedice a více balíků,
  • storno před expedicí a po vytvoření štítku,
  • částečná i úplná refundace,
  • digitální objednávka a kombinace fyzického a digitálního zboží.

Po testu nekontrolujte pouze obrazovku. Porovnejte objednávku, platbu, skladové pohyby, dokumenty, zásilku, e-maily a auditní historii.

Kontrolní seznam před spuštěním

  • Má každý stav jednoznačný význam a povolené přechody?
  • Je platební potvrzení ověřováno serverově?
  • Zpracování stejné události dvakrát nevytvoří druhý výsledek?
  • Je sklad rezervován a vracen podle jasných pravidel?
  • Jsou fyzické, digitální a zakázkové produkty rozlišeny?
  • Mají částečné zásilky vlastní položky a stavy?
  • Je vytvoření dokladu oddělené od e-mailu a expedice?
  • Umí systém bezpečně pokračovat po výpadku?
  • Vidí obsluha nevyřízené výjimky a jejich důvod?
  • Je možné dohledat, kdo změnil adresu, stav nebo částku?
  • Existují denní kontroly mezi platbami, skladem a expedicí?
  • Byly otestovány duplicity, výpadky, storna a refundace?

Automatizace, která zůstává pod kontrolou

Cílem není odstranit člověka z každého kroku. Cílem je, aby se lidé nemuseli věnovat rutinním objednávkám a měli dostatek informací pro výjimky. Běžný případ projde rychle a konzistentně; nestandardní se zastaví dříve, než vznikne chybná faktura, dvojí expedice nebo nespokojený zákazník.

Začněte jednou stabilní cestou, například zaplacenou skladovou objednávkou v České republice. Až bude měřitelná, otestovaná a dohledatelná, přidávejte dobírku, zahraničí, více skladů nebo zakázkovou výrobu.

Chcete zpracování objednávek zjednodušit?

Navrhneme tok podle reálného provozu vašeho e-shopu a propojíme platby, sklad, fakturaci, dopravce, e-maily i CRM. Součástí řešení jsou výjimky, monitoring a bezpečné opakování, ne pouze automatická změna stavu.

Popište nám, kde se vaše objednávky nejčastěji zdržují nebo chybují.

Silicon Scribe

Potřebujete podobné řešení uvést do praxe?

Projdeme váš současný proces a navrhneme další krok bez zbytečné složitosti.
Popište nám svůj projekt

Související obsah

Co všechno lze ve WooCommerce automatizovat

Ve WooCommerce lze automatizovat víc než potvrzovací e-mail. Praktický přehled ukazuje, jak propojit objednávky, platby, sklad, doklady, dopravu, CRM a reporting bez ztráty kontroly nad výjimkami.

Jak propojit e-shop se skladem

Jak navrhnout spolehlivou synchronizaci WooCommerce se skladem: fyzická a prodejná zásoba, rezervace, pohyby, více skladů, výpadky a kontrola rozdílů.

Trvalý odkaz na článekhttps://siliconscribe.cz/blog/automaticke-zpracovani-objednavky-krok-za-krokem/