De Shopify-winkel van een klant koppelen
Je klant maakt op dev.shopify.com een eigen app voor Jelto. Met de gegevens van die app koppel je de winkel op Webwinkel. Jelto haalt de bestellingen en uitbetalingen daarna elke ochtend zelf op.
Stappen
Laat je klant inloggen op dev.shopify.com, in de organisatie van de winkel.
Laat je klant Create app kiezen, met een naam als Jelto.
Laat bij Versions een nieuwe versie maken.
Laat bij App URL dit adres invullen: https://shopify.dev/apps/default-app-home.
Laat het vinkje bij Embed app in Shopify admin uitzetten.
Laat bij Webhooks API version de nieuwste versie kiezen.
Laat bij de scopes read_orders, read_shopify_payments_payouts en read_shopify_payments_accounts invullen.
Laat bij de scopes ook read_merchant_managed_fulfillment_orders en read_third_party_fulfillment_orders invullen; daarmee ziet Jelto vanuit welk land de klant verzendt.
Laat de redirect-URL's leeg.
Laat je klant Release kiezen.
Laat je klant de app op de eigen winkel installeren; deze stap wordt vaak vergeten.
Vraag je klant de Client ID en het Client secret bij Settings van de app.
Open de klant, ga naar Webwinkel en kies Kanalen koppelen.
Kies Koppelen… op de kaart van Shopify.
Vul het Winkeladres in, bijvoorbeeld winkelnaam.myshopify.com.
Plak de Client-ID en het Client secret in de velden.

Kies Koppelen en wacht tot Jelto meldt dat Shopify gekoppeld is.
Wat Jelto zelf doet
Bij het koppelen
- Jelto vraagt Shopify één keer om de gegevens van de winkel. Zo weet Jelto dat de app werkt.
- Jelto bewaart het client secret versleuteld. Je ziet daarna alleen de laatste vier tekens van de client-ID.
- Koppelen vraagt het recht om te boeken bij deze klant. De eigenaar van de administratie mag het ook.
Na het koppelen
- Direct na het koppelen haalt Jelto de bestellingen op, daarna elke ochtend om 06:30.
- Ophalen boekt niets. De orders staan daarna klaar om te boeken.
- Een order zonder vaste btw-regel komt bij Beoordelen, net als na een bestand.
- Shopify geeft geen btw-land, alleen een tarief. Doet de klant mee aan OSS? Dan komt een order met een Nederlands tarief naar een ander EU-land bij jou. Dat geldt alleen als het land van de afnemer dat tarief niet kent. Zonder OSS boekt Jelto zo'n order gewoon.
- Las de klant een bestelling al in met de orderexport? Dan telt die bestelling één keer.
- Shopify geeft zonder extra toestemming alleen bestellingen van de laatste 60 dagen. De kaart zegt dan vanaf welke dag Jelto ophaalt.
- Zit de webwinkel niet in het pakket van de klant? Dan haalt Jelto niets op. De sleutel blijft bewaard.
Jelto hoort het direct van Shopify als er een bestelling, wijziging of terugbetaling is. Jelto haalt dan meteen op en boekt niets. Komt er niets, dan haalt Jelto elke ochtend alles op. Op de kaart staat bij Webhooks of dit aan staat. Met een bestaande app-token (shpat_) staan de webhooks uit.
Als het anders loopt
De app staat niet op de winkel
Controleer het winkeladres. Laat de klant de app installeren vanuit dev.shopify.com. Heeft de klant meer apps gemaakt? Neem dan de gegevens van de app die op de winkel staat.
De client-ID of het client secret klopt niet
Laat de klant ze opnieuw kopiëren bij Settings van de app. Plak ze zonder spaties.
De app zit in een andere organisatie
De app hoort in de Shopify-organisatie van de winkel. Laat de klant de app daar opnieuw maken.
De klant wil bestellingen van langer dan 60 dagen geleden
Lees oudere bestellingen in met de orderexport van Shopify, onder Bestanden inlezen. Wil de klant dat de koppeling ze ophaalt? Dan vraagt de klant Shopify om toestemming:
- Bij de app op dev.shopify.com opent de klant de API access requests.
- Bij Read all orders scope kiest de klant Request access.
- Als reden geeft de klant: boekhouding, omzet en btw per bestelling over het hele boekjaar.
- Na goedkeuring maakt de klant een nieuwe versie en voegt read_all_orders toe.
- De klant kiest Release.
- De klant installeert de app opnieuw op de winkel met Install app.
De koppeling werkt in de tussentijd voor de laatste 60 dagen.
De klant wil later een recht toevoegen
Laat de klant een nieuwe versie van de app maken en het recht toevoegen bij de scopes. Daarna kiest de klant Release en installeert de app opnieuw op de winkel met Install app. Shopify vraagt de winkel niet om een update goed te keuren. De client-ID en het client secret blijven hetzelfde.
Je krijgt een signaal over een ongeldige handtekening
Jelto kreeg dan een melding voor de winkel die niet klopt met het client secret. Jelto deed er niets mee. Komt het vaker, kijk dan of de klant een andere app gebruikt. Koppel zo nodig opnieuw met de gegevens van die app.
Shopify weigert de sleutel later
Dan staat op de kaart opnieuw koppelen en krijg je een signaal. Koppel opnieuw met de gegevens van de app. Tot dan haalt Jelto niets op.
De klant verkoopt aan bedrijven in andere EU-landen
Laat de klant op de betaalpagina in Shopify het veld voor het btw-nummer van bedrijven op Optional zetten. Shopify Tax controleert het btw-nummer dan bij VIES. Werkt de klant zonder Shopify Tax? Dan past een VIES-app op de betaalpagina, zoals Exemptify.
Jelto leest het btw-nummer bij de bestelling. Met het recht read_customers leest Jelto ook het nummer dat Shopify op de betaalpagina controleert. Van de klant leest Jelto alleen het btw-nummer. Op een echte winkel vraagt Shopify misschien om toegang tot beschermde klantgegevens; dat controleren we nog. Jelto controleert het nummer zelf bij VIES zodra de bestelling binnenkomt. Is het geldig, dan boekt de beslistabel de bestelling als V5. Ontbreekt het, of kent VIES het niet, dan krijgt de klant een vraag en jij een signaal. Zie Hoe controleert Jelto het btw-nummer van een zakelijke webwinkelklant.
Op de kaart staat "Verzendland: niet beschikbaar"
De app mist dan de rechten read_merchant_managed_fulfillment_orders en read_third_party_fulfillment_orders. De bestellingen komen gewoon binnen, maar zonder het land van verzending. Laat de klant de rechten toevoegen zoals bij De klant wil later een recht toevoegen.
Op de kaart staat "geen btw buiten Nederland"
De winkel verkocht dan aan klanten in andere EU-landen zonder btw, terwijl hij vanuit de EU verzendt. Jelto meldt dit één keer per kwartaal, aan jou en aan de klant. Laat de klant in Shopify Instellingen → Belastingen controleren. Hoe je zulke bestellingen afhandelt, lees je in Een regel per verkoopkanaal en verzendland instellen voor een klant.
De winkel gebruikt geen Shopify Payments
Dan haalt Jelto alleen de bestellingen op. Het geld komt binnen via de betaalprovider van de klant. Koppel die betaalprovider op Bank.
Je wilt de koppeling stoppen
Kies op de kaart van Shopify Koppeling… en dan Ontkoppelen. Jelto verwijdert het geheim. Wat al is opgehaald, blijft staan.