Verzenden en fulfilment

Het label ontstaat op het moment van de order, niet wanneer iemand het paneel opent

Er komt om half vijf een order binnen. Het Sendcloud-paneel staat ergens open in een browsertab, en het label ervoor wordt bij de volgende batch gemaakt — vijf uur, als iemand eraan denkt, of morgenochtend als dat niet gebeurt. De klant betaalde voor levering de volgende dag en kreeg een excuusmail.

Sendcloud doet daar zelf niets slecht aan. Het maakt het label, kiest de vervoerder, print het douaneformulier als dat nodig is. Wat bepaalt of een order dezelfde dag verstuurd wordt, is of iets Sendcloud op het moment zelf laat weten dat de order bestaat, of dat een mens het eerst moet opmerken.

  • REST API met webhooks voor statusupdates
  • Je eigen vervoerdercontracten of die van Sendcloud
  • Vanaf € 1.700 plus servicekosten
De tool

Wat Sendcloud is, en welk deel we koppelen

Sendcloud is een Nederlands multicarrier-verzendplatform: één paneel en één API voor PostNL, DHL, DPD, GLS, UPS, bpost en een lange lijst andere vervoerders, zodat een shop niet voor elke vervoerder een los account en een losse koppeling nodig heeft. Het verzorgt het aanmaken van labels, de widget met bezorgopties die een klant bij het afrekenen ziet, trackingmails, een eigen trackingpagina in je huisstijl, en een zelfbedieningsretourportaal dat klanten gebruiken in plaats van te mailen.

Vervoerdercontracten kunnen beide kanten op: je neemt je eigen tarieven mee en Sendcloud voert ze alleen uit, of je verstuurt op de gebundelde contracten van Sendcloud zelf en betaalt per label. Welke van de twee je hebt verandert bijna niets aan de koppeling zelf, maar het verandert de factuur, en het is de moeite waard om te checken welke je daadwerkelijk hebt in plaats van de andere aan te nemen.

Wat er misgaat

Drie dingen die misgaan tussen een shop en Sendcloud

Alle drie komen uit dezelfde wortel: Sendcloud reageert op wat het te horen krijgt, en krijgt het dat laat, of met het verkeerde gewicht, dan erft alles daarna die fout.

Labels worden in een batch gemaakt, niet op het moment van de order

Orders druppelen de hele dag binnen, maar het paneel wordt maar een of twee keer geopend — na de lunch, aan het eind van de dag. Een order van half vijf voor levering de volgende dag verstuurt de ochtend erna in plaats van die avond, en de koerier die middag rijdt zonder hem weg.

Wat je in plaats daarvan ziet

Een order maakt zijn Sendcloud-zending aan op de seconde dat hij binnenkomt, en het label bestaat voordat iemand eraan denkt te kijken. De dagelijkse ophaalronde vertrekt met alles wat klaar was, niet met alles wat iemand toevallig heeft geprint.

Het verkeerde gewicht kiest de verkeerde dienst, en de toeslag duikt een maand later op

Het gewicht van een product in de shop is wat iemand ooit intypte toen het werd toegevoegd, vaak een rond getal dat sindsdien niemand heeft gecheckt. Sendcloud boekt een dienst op basis van dat getal, de vervoerder weegt het echte pakket, en het verschil belandt als correctie op de vervoerdersfactuur van de volgende maand — een pagina kleine toeslagen die niemand meer aan een order kan koppelen.

Wat je in plaats daarvan ziet

Echte afmetingen en gewicht gaan met de order mee vanuit de productgegevens die echt worden bijgehouden, en een verschil dat groot genoeg is om ertoe te doen geeft een melding voordat het label wordt gekocht, niet nadat de factuur binnen is.

Retouren komen per mail binnen, en het pakket komt eerder aan dan het verzoek

Een klant wil iets retourneren, mailt, wacht op antwoord, print het label dat hij toegestuurd krijgt, en het pakket komt op het warehouse aan dagen voordat iemand het aan een order heeft gekoppeld. Sendcloud heeft precies hiervoor een retourportaal en dat ligt ongebruikt, omdat niets op de site ernaartoe linkt.

Wat je in plaats daarvan ziet

De klant opent het retourportaal vanuit zijn orderbevestiging, kiest een reden, krijgt meteen een label, en de retour staat al bij de order genoteerd voordat het pakket ook maar in de buurt van het warehouse is.

De rekening van het handwerk

Wat handmatig labels printen en natellen echt kost

Neem een shop met zestig orders per dag. Worden labels gemaakt via twee of drie handmatige batchimports in plaats van automatisch, dan is iemand per batch vijftien tot twintig minuten bezig met checken wat verstuurd moet worden — ruwweg een uur per dag, vijf uur per week, aan een taak die puur bestaat omdat niets Sendcloud automatisch over een order vertelt.

Het toeslagprobleem is per geval kleiner en op termijn hardnekkiger: een handvol gewichtscorrecties per maand van een paar euro is geen bedrag waar iemand ruzie over maakt, tot iemand het over een jaar optelt en het een paar honderd euro blijkt te zijn die niemand had begroot en niemand kan verklaren.

  • Een uur per dag handmatige batchimports bij zestig orders: vijf uur per week.
  • Een handvol gewichtstoeslagen per maand, onzichtbaar tot je ze over een jaar optelt.
  • Een retourinbox die een portaal dubbel doet dat Sendcloud je al gratis geeft.
Wat we bouwen

Wij bouwen ook het ding aan de andere kant

Bij Sendcloud is de koppeling zelf zelden het lastige deel — hun API is goed; het werk zit vrijwel altijd aan de shopkant, waar je ervoor zorgt dat de order die Sendcloud bereikt al het juiste gewicht, de juiste adresopmaak en de juiste dienstkeuze meekrijgt.

Een koppeling heeft twee kanten. Er zijn genoeg bureaus die de API-call voor je bouwen en je een JSON-payload overhandigen; dat is de makkelijke helft. De moeilijke helft is waar die data in landt — een website, een webshop, een portaal waar je klanten op inloggen, een intern hulpmiddel dat een spreadsheet vervangt. JKC bouwt beide kanten, en daarom blijven de koppelingen die wij bouwen meestal werken: aan de ontvangende kant is voor ons niets een zwarte doos.

API-koppelingen

De koppeling zelf: authenticatie, veldmapping, rate limits, retries en een wachtrij die overleeft dat het andere systeem een uur uit de lucht is. Gebouwd op de gedocumenteerde API als die er is, en op wat de leverancier werkelijk aanbiedt als die er niet is.

Websites

WordPress-sites die uit je systemen lezen in plaats van ze met de hand na te typen: een vacaturepagina die uit je HR-systeem komt, een teampagina die je salarisadministratie volgt, prijzen en beschikbaarheid die de echte zijn.

Webshops

WooCommerce-shops waarin de order de laatste keer is dat iemand hem intypt: hij wordt een factuur in je boekhoudpakket, een label bij je vervoerder, een voorraadmutatie in je warehouse en een regel in je CRM, uit zichzelf.

Webapplicaties

Als het proces in geen enkel standaardproduct past: een klantportaal, een offertetool, een planbord, een dashboard dat drie systemen tegelijk uitleest. Gebouwd op jouw data, met jouw systemen als bron in plaats van een kopie ervan.

Wat er gekoppeld kan worden

Wat er tussen je shop en Sendcloud gekoppeld kan worden

De API van Sendcloud is een goed gedocumenteerde REST API met webhooks, dus dit is vooral een kwestie van kiezen welke velden voor jou ertoe doen, niet van vechten met het platform.

  • Orders naar Sendcloud als zending (uit het gereedschap)

    Adres, gewicht, afmetingen en de gekozen vervoerdersdienst, aangemaakt op het moment van de order in plaats van in een batch. Dit is de regel die het probleem van vier uur oplost.

  • Bezorgopties bij het afrekenen (in de tool)

    De eigen widget van Sendcloud met echte servicepunten, bezorgdagen en avondlevering, geprijsd per vervoerder. Hem vooraf het juiste postcodegebied en productgewicht meegeven is wat de getoonde opties eerlijk houdt.

  • Trackingstatus terug naar shop en klant (uit het gereedschap)

    Aangemeld, opgehaald, onderweg, bezorgd, uitzondering — als webhook op het moment dat Sendcloud het weet, niet als status die een klant op een aparte trackingpagina moet opzoeken.

  • Retouren via het zelfbedieningsportaal (beide kanten)

    Een klant start een retour vanuit zijn eigen order, krijgt een label zonder te mailen, en de retourstatus komt terug in de shop zodat een terugbetaling het pakket kan volgen in plaats van een telefoontje.

  • Douanegegevens voor zendingen buiten de EU (uit het gereedschap)

    HS-codes, waarde en herkomst per regel, gegenereerd uit productgegevens in plaats van per pakket ingetypt, want een ontbrekend douaneformulier is de meest voorkomende reden dat een pakket in een depot blijft liggen.

Regel één en drie zijn bijna altijd van toepassing; regel twee, vier en vijf hangen af van of je internationaal verkoopt en hoeveel van de bezorgervaring je onder je eigen merk wil in plaats van dat van Sendcloud.

Hoe het werkt

Hoe een koppeling bij JKC gebouwd wordt

Elke keer dezelfde vier stappen, om welke tool het ook gaat. Niets hiervan is een workshop waar je voor betaalt: stap één bestaat omdat een koppeling verkeerd afbakenen het duurste is wat er met zo'n koppeling kan gebeuren.

  1. 1. We kijken wat er nu écht wordt overgetypt

    Niet "welke velden bestaan er" maar "welke velden verplaatst iemand nu met de hand, hoe vaak, en wat gaat er stuk als het misgaat". De meeste projecten blijken twee of drie stromen nodig te hebben, geen volledige tweerichtingssync van alles. Dat gesprek is wat de offerte laag houdt.

  2. 2. We kiezen de route, en zeggen waarom

    Een onderhouden connector van de leverancier, een platform als Make of Zapier, of een maatwerkkoppeling op de API. Goedkoopste eerst, niet maatwerk eerst: als een ondersteunde plugin precies doet wat je nodig hebt, dan is dat het antwoord en zeggen we dat ook. Maatwerk is voor de gevallen waarin de kant-en-klare optie zoveel configuratie vraagt dat hij juist het fragiele onderdeel wordt.

  3. 3. We bouwen hem zo dat hij het andere systeem overleeft

    Elke koppeling krijgt retries, een wachtrij en een idempotency-sleutel mee, zodat een order die binnenkomt terwijl de andere kant eruit ligt later wordt afgeleverd in plaats van verdwijnt, en een retry geen tweede factuur aanmaakt. Eerst op een testomgeving waar de leverancier die aanbiedt, zodat het eerste wat je echte administratie ziet een werkende koppeling is.

  4. 4. We dragen hem over met de faalgevallen opgeschreven

    Welke meldingen je krijgt, wat elke melding betekent, wat je eraan doet en wie je belt. Plus de inloggegevens op jouw naam, in jouw eigen kluis — niet in de onze. Een koppeling die niemand behalve wij kan onderhouden is een koppeling die niet van jou is.

Nadat hij live is

Een koppeling die stil faalt is erger dan geen koppeling

Dit is het deel dat in de meeste offertes ontbreekt. Een koppeling die stopt met werken zonder dat iemand het merkt is erger dan handwerk, want bij handwerk merkt iemand het tenminste als het niet gedaan is. Elke koppeling die JKC bouwt wordt gemonitord, en die monitoring is geen bijverkoop — die zit in de servicekosten.

Een melding per mislukt bericht, geen maandrapport

Een bericht dat niet doorkomt geeft binnen het uur een melding, met de regel waar het over ging. Geen dashboard dat je moet onthouden om te bekijken.

Opnieuw versturen, niet opnieuw invoeren

Wat mislukt is blijft in een wachtrij staan en kan opnieuw verstuurd worden zodra de oorzaak weg is, in de juiste volgorde. Niemand hoeft gisteren door te spitten op zoek naar de vier orders die niet zijn aangekomen.

Wij volgen de wijzigingen van de leverancier, zodat jij dat niet hoeft

API's krijgen nieuwe versies, worden uitgefaseerd en gaan op rate limits. Kondigt een leverancier een wijziging aan die jouw koppeling raakt, dan is meebewegen onderdeel van de servicekosten en geen nieuw project.

Wat het kost

Vanaf € 1.700, en de grootste variabele is wie de andere kant heeft gebouwd

Sendcloud heeft een officiële WooCommerce-plugin die het gewone geval prima dekt, en heb je dat, dan is maatwerk meestal niet de moeite waard. Het verdient zich terug zodra je meerdere verkoopkanalen samenvoegt tot één verzendstroom, douanegegevens automatisch wil laten genereren, of al een shop hebt die wij bouwden waar de orderdata al klaar staat om te gebruiken.

Een koppeling begint vanaf € 1.700 plus maandelijkse servicekosten, waar de monitoring, de wachtrij en het bijhouden van API-wijzigingen van de leverancier in zitten. Werk buiten een vaste scope is € 95 per uur.

Wat het bedrag beweegt is niet de tool — het is hoe goed het systeem aan de andere kant bekend is. Heeft JKC je website, je webshop of je webapplicatie gebouwd, dan kennen we het datamodel, de uitzonderingen en waar de voorraadaantallen echt vandaan komen, en is een koppeling erin vooral configureren en testen. Is het een systeem dat we nooit hebben opengeslagen, dan beginnen we met een korte technische check aan beide kanten en offreren we daarna, zodat je niet op uurbasis betaalt voor ons uitzoekwerk.

Twee dingen die het bedrag verder bewegen, in onze ervaring meer dan al het andere: of de tool een echte API heeft of alleen een CSV-export, en of de sync twee kanten op moet. Eenrichting is ruwweg de helft van het werk van tweerichting, want tweerichting betekent per veld beslissen welk systeem wint als ze het oneens zijn — en die beslissing is het dure deel, niet de code.

Vragen

Veelgestelde vragen over Sendcloud koppelen

Doet de plugin alles wat je nodig hebt — standaardvervoerders, de standaard checkoutwidget, orders die één voor één worden aangemaakt zodra ze binnenkomen — dan nee, en dat zeggen we in het eerste gesprek in plaats van toch een offerte te sturen.

Maatwerk verdient zijn plek zodra de aannames van de plugin niet meer kloppen met jouw shop: meerdere webshops of marktplaatsen die in één verzendproces samenkomen, productdata die verrijkt moet worden voordat Sendcloud hem ziet, of een zelfgebouwde checkout waar de plugin nooit voor bedoeld was.

Gratis, 10 minuten

Geen idee waar de handmatige uren echt naartoe gaan?

Daar is de Groeicheck voor. Tien minuten, zonder verkoopgesprek eraan vast: je krijgt terug waar het dubbele werk zit, welke koppeling zich als eerste terugverdient, en welke eerlijk gezegd niet.