Torsdag kl. 15:34. Pakken er forseglet. Fragtlablen er printet. Scanner pakken ved afsendelse. WMS registrerer: "Afsendt". Fulfillment-API-kald til Shopify, timeout. Retry, fejler. Pakken er afsendt. Shopify ved intet. Kunden modtager ingen forsendelsesmail. Fredag morgen: "Hvorfor er min ordre ikke afsendt?" Pakken er allerede hos GLS.

Hvad er fulfillment sync?

Fulfillment sync er processen, hvor WMS bekræfter til webshopen, at en ordre er plukket, pakket og afsendt, komplet med tracking-nummer og fragtinformation. Det er den sidste del af ordreflowet, der lukker cirklen og fortæller kunden: "Pakken er på vej."

I teknisk forstand: WMS sender en POST-request til webshopens fulfillment-API med:

  • Ordre-ID
  • Tracking-nummer
  • Fragtmand-kode
  • Pakkens vægt og dimensioner (i nogle systemer)
  • Tidsstempler for pluk og afsendelse

Webshop markerer ordren fulfilled, gemmer tracking, og sender automatisk forsendelsesmail til kunden.

Hvad koster fulfillment-sync-fejl?

FejltypeHyppighed (ved 500 ordrer/dag)Direkte omkostningLTV-tabTotal årlig
Fulfillment-API timeout (ingen retry)5% af ordrer = 25/dagKundeservice: 2.500 kr./dag25 × 0,22 × 2.400 = 13.200 kr./dag5.737.500 kr./år
notify_customer=false10% af ordrer = 50/dagKundeservice: 5.000 kr./dag50 × 0,15 × 2.400 = 18.000 kr./dag8.395.000 kr./år
Tracking-nummer format fejler3% af ordrer = 15/dagKundeservice: 1.500 kr./dag15 × 0,10 × 2.400 = 3.600 kr./dag1.862.500 kr./år

Fulfillment-processen i detaljer

Trin 1: Afsendelse registreres i WMS

Plukker/pakker scanner pakken ved afsendelse. WMS registrerer tidsstempler (plukket, pakket, afsendt), bekræfter at fragtlabel er genereret og opdaterer intern ordrestatus til "Afsendt".

Trin 2: WMS kalder webshop-API

WMS sender fulfillment til Shopify:

POST /admin/api/2024-01/orders/{order_id}/fulfillments.json
{
  "fulfillment": {
    "tracking_number": "GLS-1234567890",
    "tracking_company": "GLS",
    "notify_customer": true
  }
}

notify_customer: true er kritisk, det trigger forsendelsesmailen.

Trin 3: Shopify bekræfter

Shopify returnerer 201 Created med fulfillment-objekt. WMS gemmer fulfillment-ID fra Shopify som kvittering.

Trin 4: Fejlhåndtering

Fejler API-kaldet: WMS gemmer afventende fulfillment i retry-kø, forsøger igen med eksponentiel backoff og sender alert efter N fejlede forsøg.

👉 Har du tekniske integrationsproblemer? Se SmartPacks integrationer

Specielle tilfælde

Delvis fulfillment: En ordre på 3 varer, men kun 2 er på lager. WMS sender delvis fulfillment for de 2 varer. Shopify opretter delforsendelse. Den resterende linje forbliver open.

Multi-pakke forsendelse: En stor ordre pakkes i 2 kasser med separate tracking-numre. WMS sender to fulfillment-objekter til Shopify, begge tilknyttet samme ordre.

Retur: Kunden returnerer varen. WMS registrerer returnering, lager opdateres. I Shopify oprettes evt. refund/return-objekt via API.

Typiske fejl

  1. notify_customer udelades eller sættes til false. Kunden modtager ikke forsendelsesmail. Verificér altid at notify_customer er true i produktionsopsætning.
  2. Tracking-nummer formatteres forkert. GLS, PostNord og Bring har specifikke tracking-nummer-formater. Forkert format medfører, at Shopify ikke kan vise tracking korrekt.
  3. Ingen retry ved fulfillment-fejl. API-kald til Shopify fejler (timeout, 500-fejl). Uden retry forbliver ordren "Unfulfilled" for evigt.

Sådan gør du det rigtigt

  1. Log fulfillment-ID fra Shopify: Gem Shopify's fulfillment-ID i WMS ved succesfuldt kald. Det er din kvittering.
  2. Verificér fulfillment næste dag: Daglig kontrol: har alle "afsendt" ordrer i WMS en tilsvarende fulfilled-status i Shopify? Afvigelser er fejlsignal.
  3. Test med alle fragtmænd: Fulfillment-sync varierer lidt pr. fragtmand. Test eksplicit med GLS, PostNord, Bring og eventuelt med delvise forsendelser.

Tjekliste

  • Sendes fulfillment automatisk til webshop ved afsendelse?
  • Er notify_customer sat til true?
  • Gemmes Shopify fulfillment-ID i WMS?
  • Er retry-logik implementeret på fulfillment-API-kald?
  • Verificeres dagligt at alle afsendte ordrer er fulfilled i webshop?

SmartPack understøttelse

SmartPack sender automatisk fulfillment til Shopify og WooCommerce i det øjeblik en pakke afscannes ved afsendelse. Tracking-nummer, fragtmand og tidsstempler inkluderes. notify_customer er altid aktiveret. Fejlede fulfillment-kald placeres i retry-kø og kan genafspilles manuelt. SmartPack dashboard viser live-status på alle afventende fulfillments.