Integrace e-shopu s ERP a skladovým systémem: napojení

Napojení e-shopu na ERP a skladový systém: Integrace

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 odstranit ruční přepisování, minimalizovat chyby, zkrátit cyklus order-to-cash 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ů.

Datové domény a datové toky

  • Katalog: produkty, varianty, atributy, kategorie, média, lokalizace, stavebnice (BOM, bundly), sady a náhradní díly.
  • Ceny a promoakce: základní ceny, ceníky, slevy, kupóny, akce, individuální ceny B2B.
  • Zásoby: dostupnost, rezervace, alokace, š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/faktury, dobropisy, skladové převodky, inventury.

Architektonické vzory integrace

  • Point-to-point API: e-shop ↔ 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 toků.
  • Event-driven: pub/sub s událostmi (ProductUpdated, StockChanged, OrderPlaced) přes message broker.
  • Batch/ETL: pravidelné dávky pro velké objemy (např. hromadná aktualizace cen) s kontrolovaným časovým oknem.
  • Hybridní: real-time pro zásoby a objednávky, batch pro katalog a média.

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

  • Katalog: PIM/ERP jako autorita; e-shop zajišťuje prezentaci a merchandising.
  • Ceny: ERP/pricing engine; e-shop ukládá data do mezipaměti a počítá ceny v košíku podle pravidel.
  • Zásoby: WMS/ERP; e-shop zobrazuje ATP a provádí rezervace přes API.
  • Objednávky: e-shop je přijímá, ERP je účetní autoritou; WMS je autoritou pro expedici.

Synchronizační strategie a konzistence

  • Téměř v reálném čase (sekundy až minuty) pro zásoby, stavy objednávek a ceny citlivé na trh.
  • Dávkově (hodiny) pro obrázky a popisy; využijte delta feedy a change data capture (CDC).
  • Konzistence: eventual consistent pro dostupnost; strong consistent pro finanční doklady a rezervace.
  • Idempotence: všechny integrační operace musí být idempotentní (opakovatelné bez vedlejších efektů).

API kontrakty a formáty

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

Řízení identit a mapování

  • Klíče: jednotné SKU/GTIN, mapování variant (barva, velikost), křížové reference mezi ERP a e-shopem.
  • Adresy a zákazníci: jedinečné 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 vychystávání (picking)

  • ATP/ATS: Available to Promise vs. Available to Sell (po odečtení rezervací, vratných obalů a poškozených zásob).
  • Rezervace: měkké (košík) vs. tvrdé (po zaplacení), expirace košíku, kombinace skladů (omnichannel).
  • Lot/Serial: požadavky na sledovatelnost (expirace, šarže) – musí se předávat do WMS.
  • Bezpečnostní zásoba a backorder: pravidla zobrazování a příslibu termínů (ETA) v uživatelském rozhraní.

Cenotvorba: ceníky, promoakce a kalkulace v reálném čase

  • Hierarchie: B2C/B2B ceníky, smluvní ceny, množstevní slevy, slevové kupóny, věrnostní programy.
  • Kalkulace: výpočet na straně serveru (ERP/pricing engine), e-shop provádí scénáře what-if s krátkou dobou uložení do mezipaměti.
  • Pravidla promoakcí: kolize a priorita (kombinování slev, vzájemné vyloučení), auditovatelnost.
  • Daně a doprava: výpočet DPH podle dodací adresy, daňové výjimky, dopravné a palivové příplatky.

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

  1. Přijetí v e-shopu: validace, 3-D Secure, antifraud skóre, idempotentní platební tokeny.
  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), upozornění zákazníka.
  5. RMA: vratky, výměny, dobropisy, opětovné naskladnění, kontrola kvality.

Omnichannel: Click&Collect, Ship-from-Store, tržiště

  • Click&Collect: rezervace v konkrétní prodejně, synchronizace zásob pro jednotlivé prodejny, SLA vyzvednutí.
  • Ship-from-Store: výběr místa vyřízení objednávky podle vzdálenosti a zásob, pravidla rozdělení objednávky.
  • Tržiště: export feedů, objednávky jako externí kanál, zpětný import stavů a finanční vypořádání.

Integrace dopravců a poslední míle

  • Tarify a služby: dobírka, pojištění, nadrozměrné zásilky, doručení v konkrétním čase.
  • Label API: generování štítků, sledování zásilek, manifesty, plán svozů.
  • Validace adres a výpočty doručení D+X (SLA, státní svátky, časová okna, kdy se nedoručuje).

Bezpečnost, identita a audit

  • Autentizace: OAuth2/OIDC (stroj–stroj), mTLS, rotace tajemství, role s nejnižšími potřebnými oprávněními.
  • Validace: schémata (JSON Schema, OpenAPI), obchodní pravidla, limity požadavků a kvóty.
  • Audit: korelační identifikátory, neměnné logy (WORM), řetězení hashů pro kritické transakce.

Monitorování, SLO a observabilita

  • SLI: latence API p95, chybovost, zastaralost katalogu, přesnost zásob, úspěšnost synchronizací.
  • Tracing: distribuované trasování (OpenTelemetry) napříč e-shopem, middlewarem, ERP, WMS a dopravci.
  • Upozornění: porušení SLA (výpočty ETA, fronty, dead-letter fronty), automatická náprava (opakování s prodlevou).
  • Dashboardy: konverzní trychtýř objednávek, stock drift, stavy konektorů, fronty zpráv, opakované pokusy/chybné zprávy.

Výkon a škálování

  • Vrstvy mezipaměti: edge CDN pro katalog, aplikační mezipaměť pro ceníky a dostupnost s krátkým TTL, invalidace prostřednictvím událostí.
  • Fronty a řízení zpětného tlaku: vyrovnávání špiček (Black Friday), prioritizace kritických zpráv (platby vs. média).
  • Hromadné API a komprese: dávkový upsert, delta přenosy, gzip/br, field projection v GraphQL.

Kvalita dat a správa dat

  • Validace katalogu: povinná pole, taxonomie, jednotky, obrázky, pravidla pro varianty.
  • Správa kmenových dat 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í promoakcí.

Chybové stavy a idempotence

  • Idempotency-Key pro platby, vytváření objednávek a rezervace; bezpečné opakování i po vypršení časového limitu.
  • Opakování s exponenciálním backoffem a jitterem; dead-letter fronty, ruční opětovné zpracování.
  • Kompenzační transakce: zrušení rezervace při selhání expedice, storno plateb při zrušení objednávky.

Testování a nasazení

  • Kontraktové testy (Pact) mezi e-shopem, middlewarem a ERP/WMS; definují očekávání od API.
  • Sandboxy pro ERP/WMS, seed data, anonymizace výřezů produkčních dat.
  • Scénáře E2E: od vytvoření produktu až po fakturaci a RMA; zátěžové testy pro promoakce.
  • Blue/Green & canary pro konektory; metriky error budget a rychlé návraty k předchozí verzi.

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 podle segmentů, kreditní limity, delší splatnost a dodací okna.
  • B2C: rychlá logistika, časté promoakce, výrazné špičky, retence zákazníků a věrnostní programy.

Právní a účetní aspekty

  • Fakturace: náležitosti podle země, EET/online evidence (pokud se uplatňuje), elektronická archivace.
  • DPH a clo: OSS/IOSS, Intrastat, exportní doklady, sazby a osvobození.
  • Ochrana osobních údajů: minimalizace osobních údajů v integračních tocích, pseudonymizace, zásady uchovávání.

Kontrolní seznam 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); zaveďte kontraktové testy.
  3. Zaveďte upozornění event-driven pro zásoby a stav objednávek; dávkové zpracování pro média.
  4. Nastavte idempotenci, opakování/backoff a kompenzační scénáře.
  5. Implementujte monitoring, trasování a SLO pro integrační toky.
  6. Řešte kvalitu dat a správu dat (taxonomie, jednotky, lokalizace).
  7. Připravte škálování (fronty, mezipaměť, CDN) pro období promoakcí.
  8. Ošetřete bezpečnost (OAuth2/mTLS, RBAC, auditní logy, šifrování v klidu i př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 závisí na jasně definovaných autoritách dat, robustních API kontraktech, orchestraci řízené událostmi, idempotenci a měřitelné observabilitě. Dobře navržená integrace snižuje provozní rizika, zrychluje obrátku zboží, zlepšuje zákaznickou zkušenost a umožňuje firmě škálovat bez neúměrného růstu nákladů.