CASESTUDIE
Medilip (Active Luxe)
Mobiele camera fulfillment-scanner voor high-volume e-commerce inpakwerk.
Overzicht
- Branche: E-commerce / cosmetica / fulfillment-operations
- Klant: Medilip d.o.o. (merkeigenaar van Active Luxe)
- Opgeleverd: Maatwerk mobile-first fulfillment-webapp (camera + barcode-scannen)
- Rol: Systeemdesign, backend + frontend implementatie, WooCommerce + ERP-integratie
- Integratiepunten: WooCommerce REST API (orders), MiniMax API (item master data + invoices), carrier label identifiers
- Status: Tool in productie, gebruikt door het fulfillmentteam
Context
Active Luxe runt een high-volume e-commerce operatie waarin fulfillment-snelheid en packing-accuratesse direct impact hebben op klantervaring en operationele kosten. Voor dit project vertrouwden packers op handmatige order lookup en visuele matching van items, wat foutgevoelig wordt naarmate de productcatalogus groeit en orders bundles, varianten en op elkaar lijkende SKU’s bevatten. De klant had een systeem nodig dat werkt op de magazijnvloer, op een telefoon, met de camera als primaire invoer.
Probleem
Packingfouten en trage orderafhandeling werden veroorzaakt door een paar structurele issues:
- De stap om de order te identificeren was handmatig (de juiste order zoeken op basis van een carrier label / shipment reference).
- Itemverificatie leunde op menselijke aandacht in plaats van deterministische validatie.
- Bundles/composite producten voegen verborgen complexiteit toe: één orderregel kan uitgroeien tot meerdere fysieke SKU’s.
- Een magazijnvriendelijke UI moet snel, minimaal en camera-driven zijn.
De klant wilde een workflow waarbij het systeem eerst de order bevestigt en vervolgens elk gescand item bevestigt t.o.v. wat de klant daadwerkelijk heeft gekocht.
Projectdoelen
- Orderidentificatie instant maken: scan een verzendlabel en haal de exacte order op.
- Een duidelijke pick/pack list tonen, geoptimaliseerd voor telefoonschermen.
- Packing verifiëren: scan EAN-barcodes en waarschuw direct als het gescande item niet bij de order hoort.
- Aantallen ondersteunen (bijv. 2× dezelfde EAN) en progress per item tonen.
- Composite/bundelproducten correct afhandelen door ze uit te breiden naar hun fysieke componenten.
- Magazijnfrictie minimaliseren (eenhandig gebruik, minimale stappen, sterke visuele feedback).
Beperkingen & Uitdagingen
- Mobiele compatibiliteit: barcode scanning moet betrouwbaar werken op iOS- en Android-browsers.
- Meerdere identificatiebronnen: verzendlabels kunnen onder verschillende order meta keys staan, afhankelijk van carrier/tooling.
- ERP-datamapping: WooCommerce orderregels zijn order-centric, terwijl fulfillment-verificatie betrouwbare EAN’s uit de item master nodig heeft.
- Operationele snelheid: scanning moet gethrottled worden en robuust zijn tegen herhaalde detecties en camera focus shifts.
- Lage trainingslast: de UI moet vanzelfsprekend zijn voor nieuwe magazijnmedewerkers.
Oplossingsoverzicht
We hebben een mobile-first webapplicatie gebouwd die in een standaard mobiele browser draait en de camera als primaire input gebruikt.
- Scan carrier label → systeem vindt de bijbehorende WooCommerce-order via metadata.
- Het systeem bouwt een pack list door WooCommerce orderregels te verrijken met ERP-productdata (EAN, item code, naam), inclusief composite expansions.
- Scan product-EAN’s → elke scan verhoogt de teller van het gematchte item.
- Als een EAN niet in de order voorkomt, waarschuwt de app direct.
- Als alle vereiste aantallen zijn gescand, maakt de app één submit-actie beschikbaar.
Het resultaat is een deterministische packing-workflow waarbij correctheid wordt afgedwongen door scanning, niet door geheugen.
Architectuur & Technische aanpak
De tool is geïmplementeerd als een lichte PHP-applicatie met een minimale UI en een JSON-based POST API.
Order lookup via gescand label
- Een labelscan triggert een WooCommerce order lookup via metadata.
- Ondersteunt meerdere carrier meta keys zoals `wgl_labels`, `ParcelNumber` en `_gls_tracking_codes`.
Productverrijking en EAN als bron van waarheid
- WooCommerce levert SKU’s en aantallen, maar EAN’s komen uit de ERP item master.
- De MiniMax API wordt gebruikt om item code → EAN → display name te resolven.
Composite / bundel-expansie
- Composite items worden uitgebreid naar fysieke componenten.
- Aantallen worden vermenigvuldigd op basis van het bestelde aantal.
Mobiel camera-scannen
- BarcodeDetector polyfill zorgt voor iOS-ondersteuning.
- zbar-wasm voegt bredere dekking voor barcodeformaten toe.
- Scannen wordt gethrottled en dubbele scans worden onderdrukt.
- Per-regel UI-feedback gebruikt rood/geel/groen statussen voor voortgang.
Operationele afrondingsstap
- Zodra alle vereiste items zijn gescand, wordt één submit-actie beschikbaar.
- De backend kan de WooCommerce-order bijwerken naar een custom fulfillment status.
Technologiestack
- PHP (single-page webapp met JSON POST-endpoints)
- WooCommerce REST API (Automattic WooCommerce Client)
- MiniMax API (OAuth token-afhandeling + item/factuur-queries)
- JavaScript (camera scan-loop + UI-status)
- Barcode-stack: BarcodeDetector polyfill + zbar-wasm
- UI: Material Design Lite + lichtgewicht tabel-UI
Implementatieproces
- De echte magazijnworkflow gemapt en teruggebracht tot een camera-first flow.
- Betrouwbare order lookup via verzendlabels geïmplementeerd, over variaties in carrier meta.
- Productverrijking vanuit ERP geïmplementeerd om EAN’s te verkrijgen en item identity te normaliseren.
- Composite-expansie toegevoegd om fysieke packing requirements te matchen.
- Mobiele scanning geïmplementeerd met throttling, duplicate suppression en duidelijke progress UI.
- De afrondingsstap geïmplementeerd die orderstatus doorzet na succesvolle scan-verificatie.
Resultaten en impact
- Snellere fulfillment: minder tijd kwijt aan order zoeken en items handmatig verifiëren.
- Aanzienlijk minder packingfouten: mismatches worden direct bij het scannen gedetecteerd.
- Minder operationele frictie: werkt op een telefoon, gebruikt de camera en vereist minimale training.
- Voorspelbaardere operations: composite producten worden consistent en transparant afgehandeld.
Reflectie
De kern succesfactor was het behandelen van de magazijnflow als een deterministisch validatieprobleem: orderidentificatie moet ondubbelzinnig zijn, item-correctheid moet worden afgedwongen en composite producten moeten vroeg worden uitgebreid zodat de pack list overeenkomt met de realiteit. Dit voorkomt een grote klasse aan fouten zonder extra operationele overhead.
Samenvatting
Dit project leverde een mobile fulfillment-scanner op productieniveau voor Medilip/Active Luxe. Door WooCommerce-orderdata te integreren met ERP item master data en packing af te dwingen via camera-based EAN scanning, versnelt het systeem dispatch en vermindert het packingfouten drastisch.