ERP a skladový systém pro e-shop

Proč integrovat e-shop s ERP a skladem

Napojení e-shopu na ERP a skladový systém (WMS) je zásadní pro přesná data o dostupnosti, cenotvorbu, účetnictví, plnění objednávek a řízení zásob. Cílem je eliminovat ruční přepisování, minimalizovat chyby, zkrátit order-to-cash cyklus a umožnit škálování při sezónních špičkách. Dobře navržená integrace vytváří jednotný zdroj pravdy (single source of truth) pro katalog, zásoby, ceny, zákazníky a objednávky s měřitelnými SLA a auditovatelností procesů.

Domény dat a datové toky

  • Katalog: produkty, varianty, atributy, kategorie, média, lokalizace, stavebnice (BOM, bundly), sady a náhradní díly.
  • Cenotvorba a promo: základní ceny, ceníky, slevy, kupony, akce, individuální ceny pro B2B.
  • Zásoby: dostupnost, rezervace, alokace, dávky/šarže, expirace, sériová čísla, více skladů.
  • Zákazník: účty, adresáře, účetní segmenty, hierarchie B2B, platební a kreditní limity.
  • Objednávka: položky, stavy, platby, fakturace, dodací listy, expedice, vratky a reklamace (RMA).
  • Doklady: nabídky, zálohové/faktury, dobropisy, skladové převodky, inventury.

Architektonické vzory integrace

  • Point-to-point API: přímá komunikace e-shopu ↔ ERP/WMS. Nízká latence, menší flexibilita při rozšiřování.
  • Middleware/iPaaS/ESB: centrální integrační vrstva (např. iPaaS) pro mapování, validaci a orchestraci datových toků.
  • Event-driven: publikačně-odběratelský model s událostmi (ProductUpdated, StockChanged, OrderPlaced) přes message broker.
  • Batch/ETL: periodické dávkové zpracování pro velké objemy (např. hromadná aktualizace cen) s řízeným časovým oknem.
  • Hybrid: real-time synchronizace pro zásoby a objednávky, batch processing pro katalog a média.

Směrování autority („system of record“)

  • Katalog: PIM/ERP jako autorita; e-shop provádí prezentaci a merchandising.
  • Ceny: ERP nebo pricing engine; e-shop ukládá do cache a kalkuluje ceny v košíku podle pravidel.
  • Zásoby: WMS/ERP; e-shop zobrazuje ATP a provádí rezervace prostřednictvím API.
  • Objednávky: e-shop přijímá objednávky, ERP je účetní autoritou; WMS je autoritou pro expedici.

Synchronizační strategie a konzistence

  • Near-real-time (sekundy až minuty) pro zásoby, stavy objednávek a tržně citlivé ceny.
  • Batch (hodiny) pro obrázky a popisy; využití delta feedů a change data capture (CDC).
  • Konzistence: eventual consistency pro dostupnost; strong consistency pro finanční doklady a rezervace.
  • Idempotence: všechny integrační operace musí být idempotentní (opakovatelné bez nežádoucích efektů).

API kontrakty a formáty

  • REST/JSON pro CRUD operace a synchronní dotazy (cenotvorba, košík, rezervace).
  • GraphQL pro selektivní čtení katalogu a složené pohledy; pozor na složitost dotazů.
  • gRPC pro nízkou latenci (např. cenový kalkulátor, dostupnost).
  • EDI (EDIFACT/ANSI X12) v B2B řetězcích s partnery, dopravci a marketplace.

Řízení identit a mapování

  • Klíče: jednotné SKU/GTIN, mapování variant (barva, velikost), křížové odkazy mezi ERP a e-shopem.
  • Adresy a zákazníci: unikátní identifikátory, deduplikace, validace adres (DPV), IČO/DIČ pro B2B.
  • Daňové zóny: pravidla DPH/DP/OSS/IOSS, kódy zemí a regionů.

Zásoby: dostupnost, rezervace a předsběr (picking)

  • ATP/ATS: Available to Promise versus Available to Sell (po odečtení rezervací, vratných obalů, poškozených zásob).
  • Rezervace: měkké (např. košík) versus tvrdé (po zaplacení), expirace rezervace košíku, kombinace skladů (omnichannel).
  • Dávky/Šarže a sériová čísla: požadavky na sledovatelnost (expirace, šarže) – musí být synchronizovány s WMS.
  • Bezpečnostní zásoby a backorder: pravidla zobrazování a uvádění slíbených termínů (ETA) v uživatelském rozhraní.

Cenotvorba: ceníky, promo a real-time kalkulace

  • Hierarchie: B2C/B2B ceníky, kontraktní ceny, množstevní slevy, slevové kupony, věrnostní programy.
  • Kalkulace: server-side výpočty (ERP/pricing engine), e-shop provádí what-if scénáře s krátkodobou cache.
  • Promo pravidla: kolize a precedence (stacking, vzájemné vyloučení), auditovatelnost.
  • Daně a doprava: výpočet DPH dle dodací adresy, daňové výjimky, dopravné a palivové příplatky.

Objednávky: životní cyklus a toky do ERP/WMS

  1. Přijetí objednávky v e-shopu: validace, 3-D Secure, antifraud skóre, idempotentní tokeny plateb.
  2. Rezervace a alokace zásob ve WMS/ERP (pravidla výběru skladu, wave picking).
  3. Fakturace a účetní zápisy v ERP po potvrzení expedice.
  4. Expedice: čísla zásilek, štítky, integrace dopravců (API/EDI), notifikace zákazníkovi.
  5. RMA: vratky, výměny, dobropisy, opětovné naskladnění, kontrola kvality.

Omnichannel: Click&Collect, Ship-from-Store, Marketplace

  • Click&Collect: rezervace v konkrétní prodejně, synchronizace zásob podle prodejen, SLA vyzvednutí.
  • Ship-from-Store: výběr fulfillment lokace podle vzdálenosti a zásoby, pravidla dělení objednávek.
  • Marketplace: exportní feedy, objednávky jako externí kanál, zpětné importy stavů a finanční srovnání.

Integrace dopravců a poslední míle

  • Tarify a služby: dobírka, pojištění, nadrozměrné zásilky, doručení v čase.
  • Label API: generování štítků, tracking, manifesty, plánování rozvozů.
  • Adresní validace a výpočty D+X doručení (SLA, státní svátky, blackout okna).

Bezpečnost, identita a audit

  • Autentizace: OAuth2/OIDC (stroj-stroj), mTLS, rotace tajemství, princip least privilege pro role.
  • Validace: schémata (JSON Schema, OpenAPI), business pravidla, omezování počtu požadavků (rate-limits, kvóty).
  • Audit: korelační identifikátory, neměnné logy (WORM), hash řetězení u kritických transakcí.

Monitorování, SLO a observabilita

  • SLI: latence p95 API, chybovost, aktuálnost katalogu, přesnost zásob, úspěšnost synchronizací.
  • Tracing: distribuované trasování (OpenTelemetry) napříč e-shopem, middlewarem, ERP, WMS a dopravci.
  • Alerting: porušení SLA (výpočty ETA, fronty, dead-letter fronty), automatická náprava (opakování s exponential backoff).
  • Dashboardy: order funnel, stock drift, stavy konektorů, fronty zpráv, retry a poison messages.

Výkon a škálování

  • Cache vrstvy: edge CDN pro katalog, aplikační cache pro ceníky a dostupnost s krátkým TTL, invalidace na základě událostí.
  • Fronty a backpressure: vyrovnání špiček (Black Friday), prioritizace kritických zpráv (platby versus média).
  • Bulk API a komprese: dávkové upsert, delta přenosy, gzip/br, field projection u GraphQL.

Datová kvalita a governance

  • Validace katalogu: povinná pole, taxonomie, jednotky, obrázky, pravidla pro varianty.
  • Master Data Management: deduplikace zákazníků, pravidla slučování, odpovědné osoby.
  • Data lineage: sledování původu hodnot (cena, zásoba), audit změn, schvalování promo akcí.

Chybové stavy a idempotence

  • Idempotency-Key pro platby, vytvoření objednávek a rezervace; bezpečné opakování i po časových výpadcích.
  • Retry s exponenciálním backoffem a jitterem; dead-letter fronty, manuální opětovné zpracování.
  • Kompenzační transakce: vrácení rezervace při selhání expedice, zrušení plateb při stornu objednávky.

Testování a nasazení

  • Kontraktové testy (např. Pact) mezi e-shopem, middlewarem a ERP/WMS; fixují API očekávání.
  • Sandboxy pro ERP/WMS, seed dat, anonymizace produkčních výřezů.
  • E2E scénáře: od vytvoření produktu přes fakturaci až po RMA; testy zatížení při promo akcích.
  • Blue/Green & canary nasazení konektorů; metriky error budget a rychlé rollbacky.

Datové modely a příklady payloadů

Příklad ProductUpsert (zkráceně):

{ "sku": "TSHIRT-001-BLACK-M", "name": {"cs": "Triko Black", "en": "T-Shirt Black"}, "attributes": {"color": "black", "size": "M"}, "prices": [{"list": 499.0, "currency": "CZK", "pricelist": "B2C"}], "inventory": [{"warehouse": "CZ-01", "onHand": 120, "reserved": 15}], "media": [{"url": "https://cdn.example/img1.jpg", "type": "image/jpeg"}], "status": "active" }

Příklad události StockChanged:

{ "eventId": "c1a2...", "occurredAt": "2025-10-26T08:25:12Z", "sku": "TSHIRT-001-BLACK-M", "warehouse": "CZ-01", "delta": -2, "reason": "ORDER_ALLOCATED", "correlationId": "ord_987654" }

Specifika B2B vs. B2C

  • B2B: schvalovací workflow, cenové nabídky a ceníky segmentované dle zákazníků, kreditní limity, delší platební lhůty a dodací okna.
  • B2C: rychlá logistika, časté promo akce, vysoké špičky, zákaznická retence a věrnostní programy.

Právní a účetní aspekty

  • Fakturace: náležitosti dle země, EET/online evidence (pokud platí), elektronická archivace.
  • DPH a clo: OSS/IOSS, Intrastat, exportní dokumenty, sazby a osvobození.
  • Ochrana osobních údajů: minimalizace osobních údajů (PII) v integračních tocích, pseudonymizace, retenční politiky.

Checklist pro úspěšnou integraci

  1. Definujte system of record pro každou doménu (katalog, ceny, zásoby, objednávky).
  2. Navrhněte API kontrakty a schémata (OpenAPI/JSON Schema); aktivujte kontraktové testy.
  3. Zaveďte event-driven notifikace pro zásoby a stav objednávek; batch zpracování pro média.
  4. Nastavte idempotenci, retry/backoff a kompenzační scénáře.
  5. Implementujte monitoring, tracing a SLO pro integrační toky.
  6. Řešte datovou kvalitu a governance (taxonomie, jednotky, lokalizace).
  7. Připravte škálování (fronty, cache, CDN) pro promo období.
  8. Zajistěte bezpečnost (OAuth2/mTLS, RBAC, auditní logy, šifrování v klidu i přenosu).

Závěr

Integrovaný e-shop s ERP a WMS se stává digitálním provozním systémem obchodu. Úspěch stojí na jasně definovaných autoritách dat, robustních API kontraktech, event-driven orchestraci, idempotenci a měřitelné observabilitě. Dobře navržená integrace snižuje provozní rizika, zrychluje obrat zboží, zlep