Torsdag kl. 14:23. En kunde klikker "Køb". Ordren oprettes i Shopify. Webhook sendes til WMS. WMS modtager ingenting. Webhook-endpoint var nede i 12 sekunder under deployment. Ordren forsvinder. Stille fejl. Opdages først fredag morgen når kunden ringer: "Hvorfor er min ordre ikke afsendt?"
Hvad er dataflow i e-handel?
Dataflow beskriver, hvordan information bevæger sig mellem systemer i håndteringen af en ordre. Fra kundens klik i webshopen til pakken er afleveret hos fragtmanden involverer en moderne e-handelsoperation typisk 4-7 systemer, der udveksler data med hinanden.
De primære systemer:
- Webshop (Shopify, WooCommerce): ordremodtagelse, kundekommunikation
- WMS: lageroperationer, pluk, pak, forsendelse
- ERP: økonomi, fakturering, indkøb (e-conomic, Business Central)
- Fragtmand: transportbestilling, label-generering, tracking
- Betalingsgateway: betalingsverifikation (Stripe, Quickpay, Nets)
Det fulde dataflow , trin for trin
Trin 1: Ordre modtages i webshop
Kunden gennemfører checkout. Webshop opretter ordre og bekræfter betaling via betalingsgateway, sender ordrebekræftelse til kunden og trigger webhook orders/create til WMS.
Trin 2: WMS modtager og validerer ordre
WMS modtager webhook, validerer HMAC-signatur og opretter intern ordre. Validering: kendes alle varenumre? Er der tilstrækkelig beholdning? Er leveringsadresse komplet? Matcher fragtmetode en konfigureret fragtprofil? Fejler validering: ordre placeres i review-kø med fejlårsag.
Trin 3: Plukopgave genereres
WMS opretter plukopgave, beregner TSP-optimeret rute for plukkeren, konsoliderer eventuelt med andre ordrer i batch pick og tildeler til ledig medarbejder via håndterminal.
Trin 4: Pluk udføres
Plukker modtager opgave på håndterminal. Rute vises trin for trin. Hvert pluk bekræftes med scanning (stregkode/QR). WMS opdaterer reserveret lager i realtid.
Trin 5: Pakning
Plukker ankommer til pakkestation. Pakkeseddel printes. Varer pakkes og vejes. WMS kalder fragtmand-API og booker forsendelse. Fragtlabel modtages og printes. Pakke scannes og afsendelse registreres.
Kritisk data til fragtAPI:
- GLS: metode-nøgle (
gls_private_droppoint,gls_business_delivery,gls_flex_delivery), pakkedata - PostNord: MISKOS-nummer (9-cifret, obligatorisk)
- Bring: telefonnummer i format +47 efterfulgt af 9 eller 4 cifre
Trin 6: Fulfillment-status sendes til webshop
WMS sender fulfillment-bekræftelse til Shopify/WooCommerce. Ordre markeres som fulfilled. Tracking-nummer registreres. Shopify sender automatisk forsendelsesmail til kunden.
Trin 7: ERP opdateres
e-conomic: fakturakladde oprettes ved pakning, godkendes til faktura. Business Central: afsendelsespost oprettes, lagerpostering bogføres.
Trin 8: Lagertal synkroniseres til webshop
WMS opdaterer lagerbeholdning i webshop: fratrukket det solgte antal plus eventuel ny beholdning fra varemodtagelse. Webshop viser korrekt antal for kunder.
👉 Har du tekniske integrationsproblemer? Se SmartPacks integrationer
Hvad koster dataflow-brud reelt?
| Brudpunkt | Hyppighed (ved 500 ordrer/dag) | Direkte omkostning | LTV-tab | Total årlig omkostning |
|---|---|---|---|---|
| Webhook leveres ikke (Trin 1 til 2) | 5% af ordrer = 25/dag | 25 × 350 kr. = 8.750 kr./dag | 25 × 0,43 × 2.400 = 25.800 kr./dag | 12.605.625 kr./år |
| Varenummer matcher ikke (Trin 2) | 2% af ordrer = 10/dag | 10 × 350 kr. = 3.500 kr./dag | Manuel review: 1.500 kr./dag | 1.825.000 kr./år |
| Fragtmand-API fejler (Trin 5) | 1% af ordrer = 5/dag | Manuel bestilling: 500 kr./dag | Forsinkelse: 2.000 kr./dag | 912.500 kr./år |
| Fulfillment sendes ikke (Trin 6) | 3% af ordrer = 15/dag | Kundeservice: 1.500 kr./dag | 15 × 0,22 × 2.400 = 7.920 kr./dag | 3.438.000 kr./år |
Det opdager de fleste for sent
- At webhook-tab er usynlige: Shopify sender webhook kl. 14:23. Dit WMS er nede i 12 sekunder under deployment. Webhook forsvinder. Ingen alarm. Ordren behandles aldrig. Opdages først når kunden ringer fredag morgen.
- At varenummer-mismatch strander ordrer stille: ny vare tilføjes i Shopify torsdag. Første kunde bestiller fredag morgen. Ordre placeres i review-kø. Ingen alarm. Opdages mandag morgen.
- At fragtmand-API-fejl ikke altid giver alarm: GLS API returnerer 500 Internal Server Error. WMS logger fejlen. Ingen alarm sendes. Pakke står klar, men label mangler. Opdages først ved cut-off.
Typiske fejl
- Antage at data flyder automatisk uden monitorering. Dataflow er ikke sæt-og-glem. Det kræver aktiv monitorering af hvert trin.
- Ingen end-to-end test på nye varer. Nye produkter testes ikke i det fulde flow. Opdages ved første rigtigt salg.
- Mangle fallback ved fragtAPI-fejl. Hvis fragtbestilling fejler, bør der være en manuel backup-procedure.
Sådan gør du det rigtigt
- Visualisér flowet: Tegn det præcist. Hvem sender hvad til hvem, hvornår? Identificér alle integrationspunkter.
- Test med edge cases: Ordre med 20 varelinjer, ordre med ukendt fragtmetode, ordre til udlandet, ordre der annulleres midt i plukket.
- Hav en plan for partielle fejl: Hvad sker der, hvis trin 5 fejler? Trin 7? Definer fallback-procedure for hvert kritisk trin.
Tjekliste
- Er det fulde dataflow dokumenteret (systemkort)?
- Monitoreres hvert integrationspunkt aktivt?
- Er fragtmand-API testet med alle brugte fragtprodukter?
- Er fulfillment-tilbagekald til webshop verificeret?
- Er der fallback-procedure ved fragtAPI-fejl?
SmartPack understøttelse
SmartPack implementerer hele dataflowet fra ordremodtagelse til fulfillment-bekræftelse. Webhooks modtages, valideres og behandles asynkront. TSP-optimerede plukruter beregnes automatisk. Fragtintegrationer (GLS, PostNord, Bring og andre) er præ-konfigurerede. Fulfillment sendes automatisk til Shopify/WooCommerce ved afsendelse. Lagertal opdateres via SignalR i realtid.