Enkel op uitnodiging. Beperkt aantal plaatsen beschikbaar.
Importeer bestellingen in Shopify vanuit een ERP: beste praktijken, valkuilen en API's
Importeer bestellingen in Shopify vanuit een ERP: beste praktijken, valkuilen en API's
Importeer bestellingen in Shopify vanuit een ERP: beste praktijken, valkuilen en API's
Waarom ERP-naar-Shopify Orderimport Complexer Is Dan Het Lijkt
De meeste Shopify-verkopers creëren bestellingen via hun etalage — een klant klikt op "Kopen," Shopify verwerkt de betaling, en de bestelling verschijnt in de admin. Maar enterprise-verkopers moeten vaak bestellingen in Shopify duwen vanuit een ERP-systeem. Groothandelsbestellingen geplaatst via telefoon of e-mail, B2B-bestellingen beheerd in SAP of NetSuite, of marktplaatsbestellingen die via een centraal ERP worden geleid, moeten allemaal in Shopify landen voor fulfillment, voorraadafboeking en klantcommunicatie.
De uitdaging is dat het bestelmodel van Shopify is ontworpen voor transacties die in de etalage zijn ontstaan. Het importeren van externe bestellingen betekent werken rondom aannames over betalingsverwerking, voorraadreservering en klantmeldingen die niet van toepassing zijn als de bestelling ergens anders is ontstaan. Als je het fout doet, krijg je te maken met dubbele kosten, valse voorraadinstellingen of klanten die onverwachte bevestigings-e-mails ontvangen.
Shopify's Bestellingcreatie APIs: orderCreate vs. Draft Orders
Shopify biedt twee primaire wegen voor het programmatig creëren van bestellingen. De orderCreate mutatie (GraphQL Admin API) creëert een volledig gevormde bestelling in één oproep. Je specificeert lijnartikelen, verzendadres, financiële status en fulfillmentstatus. Dit is de voorkeur methode voor ERP-imports omdat het je expliciete controle geeft over hoe Shopify de betalings- en fulfillmentstatus van de bestelling behandelt.
Het alternatief is de Draft Orders API. Draft orders fungeren als ordervoorstellen — ze bestaan in een wachtende staat totdat ze expliciet zijn voltooid. Dit is nuttig wanneer je menselijke beoordeling nodig hebt voordat de bestelling "echt" wordt in Shopify, of wanneer je een factuur naar de klant moet sturen voor betaling. Draft orders voegen echter een extra stap toe aan de workflow en zijn niet ideaal voor geautomatiseerde importen met een hoog volume.
Wanneer Elke Benadering Te Gebruiken
Gebruik orderCreate wanneer bestellingen uit de ERP volledig bevestigd en betaald aankomen. De ERP is het systeem van registratie voor betaling, en Shopify hoeft alleen maar te weten dat de bestelling bestaat voor fulfillmentdoeleinden. Stel financial_status: "paid" en fulfillment_status: null in, zodat Shopify weet dat de betaling is afgehandeld maar de fulfillment nog niet is begonnen.
Gebruik Draft Orders wanneer de bestelling beoordeling, prijsaanpassing of klantbetaling via Shopify vereist. Dit komt vaak voor bij B2B-scenario's waarbij een verkoopmedewerker de bestelling aanmaakt en de klant betaalt via een factuurlink. Draft orders ondersteunen ook het toepassen van kortingen en herberekening van belastingen vóór finalisatie.
Betaling Mapping: De Meest Voorkomende Bron van Fouten
De grootste vergissing bij ERP-bestellingsimport is het verkeerd omgaan met de betalingsstatus. Wanneer je een bestelling aanmaakt via orderCreate, moet je Shopify expliciet vertellen of de betaling is verzameld. Als je financial_status niet correct instelt, kan Shopify proberen betaling vast te leggen op een gateway zonder de bijbehorende autorisatie — of de bestelling als onbetaald markeren terwijl de ERP al fondsen heeft verzameld.
Financiële Statusopties
Shopify ondersteunt verschillende financiële statussen: betaald (betaling volledig verzameld), in afwachting (betaling verwacht maar nog niet ontvangen), geautoriseerd (betaling geautoriseerd maar niet vastgelegd), en gedeeltelijk_betaald. Voor ERP-imports waarbij betaling buiten Shopify is verzameld, gebruik altijd betaald. Voor B2B nettermsbestellingen, gebruik in afwachting en volg de betalingsstatus in je ERP.
Een cruciaal detail: bij het importeren van bestellingen met financial_status: "betaald", voeg een transactie record toe die de betaling documenteert. Zonder dit zullen de financiële rapporten van Shopify niet kloppen. Geef de gateway aan als "handmatig" of "extern" en vermeld het bedrag. Dit creëert een goede audittrail, ook al is de betaling niet via Shopify's betalingsinfrastructuur gegaan.
Klantenmeldingen Onderdrukken
Standaard stuurt Shopify bevestigings-e-mails voor bestellingen wanneer een nieuwe bestelling wordt aangemaakt. Voor ERP-imports is dit bijna nooit wenselijk — de klant heeft hun bevestiging al ontvangen vanuit het originele verkoopkanaal. Een tweede bevestiging uit Shopify versturen is verwarrend op zijn best en schaadt het vertrouwen van de klant op zijn ergst.
Bij gebruik van orderCreate, stel send_receipt: false en send_fulfillment_receipt: false in. Voor draft orders, vermijd het aanroepen van de "stuur factuur" eindpunt tenzij je expliciet wilt dat de klant een betaal link ontvangt. Test dit grondig in een ontwikkelwinkel voordat je live gaat — per ongeluk klanten-e-mails tijdens integratietests zijn een veelvoorkomende en gênante fout.
Idempotentie: Voorkomen van Dubbele Bestellingen
Netwerkfouten, API-timeouts, en herhalingslogica kunnen ertoe leiden dat dezelfde bestelling meerdere keren aan Shopify wordt verzonden. Zonder idempotentiecontroles eindig je met dubbele bestellingen die de omzetrapporten overschatten, dubbele fulfilments activeren en het magazijnpersoneel in verwarring brengen.
Idempotentie Sleutels
De GraphQL-mutaties van Shopify ondersteunen idempotentiesleutels via de X-Shopify-Idempotency-Key header. Stuur een unieke sleutel (typisch het ERP-bestelnummer) met elke aanvraag. Als Shopify binnen 60 seconden een tweede aanvraag met dezelfde sleutel ontvangt, retourneert het het resultaat van de eerste aanvraag in plaats van een duplicaat aan te maken.
Idempotentie sleutels hebben echter een periode van 60 seconden. Voor bredere bescherming, implementeer een pre-check patroon: voordat je een bestelling aanmaakt, vraag Shopify om bestaande bestellingen met een overeenkomend referentienummer dat is opgeslagen in een metafield of tag. Dit detecteert duplicaten, zelfs als de herhaling uren of dagen later gebeurt.
Tags en Metafields Gebruiken voor Cross-Referentie
Sla het ERP-bestelnummer op als zowel een Shopify bestellingstag als een metafield. Tags zijn doorzoekbaar vanuit de admin UI (nuttig voor supportteams), terwijl metafields gestructureerde gegevens voor API-queries bieden. Gebruik een consistente namespace zoals erp.order_number voor het metafield. Vraag vóór elke import: "Bestaat er al een bestelling met deze ERP-referentie?" Als dat zo is, sla de creatie over en log de dubbele poging.
Line Item Mapping en Product Resolutie
ERP-systemen identificeren producten op basis van interne SKU-codes, terwijl Shopify variant-ID's gebruikt. Je integratie moet ERP-SKU's omzetten naar Shopify-variant-ID's voordat je bestellingen aanmaakt. Deze mapping is een veelvoorkomende foutpunt — een SKU kan bestaan in de ERP maar nog niet zijn aangemaakt in Shopify, of het SKU-formaat kan verschillen tussen systemen.
Boje een SKU-resolutielaag die de productcatalogus van Shopify opvraagt op SKU en de resultaten cachet. Behandel mismatches op een elegante manier: als een SKU niet kan worden opgelost, zet de bestelling dan in de wachtrij voor handmatige beoordeling in plaats van stilletjes te falen of een bestelling aan te maken met ontbrekende lijnartikelen. Log elke resolutiefout zodat je operationele team de oorzaak kan oplossen (meestal een product dat nog niet is gesynchroniseerd).
Voorraadimpact en Locatie Routering
Wanneer Shopify een nieuwe bestelling ontvangt, vermindert het de voorraad op de toegewezen fulfillmentlocatie. Voor ERP-imports moet je controleren welke locatie de bestelling vervult — vooral als je meerdere magazijnen hebt. Gebruik de fulfillment_orders API om de juiste locatie toe te wijzen op basis van de ERP's magazijntoewijzing.
Wees voorzichtig met de timing van de voorraad. Als je ERP de voorraad al heeft verminderd toen de bestelling werd geplaatst, en Shopify ook vermindert bij het aanmaken van de bestelling, tel je de afname dubbel. De oplossing hangt af van welk systeem de voorraad beheert. Als de ERP de voorraad bezit, schakel dan Shopify's automatische voorraadtracking uit voor geïmporteerde bestellingen en synchroniseer de voorraadniveaus afzonderlijk. Als Shopify de voorraad eigenaar is, laat dan de aanmaak van de bestelling de afname natuurlijk afhandelen.
Reconcilatie Workflows
Zelfs met idempotentiecontroles en zorgvuldige mapping zullen er discrepanties optreden. Boje een dagelijks reconciliatie proces dat bestellingen in beide systemen vergelijkt. Tel de bestellingen die zijn aangemaakt in de ERP tegen de bestellingen die in Shopify zijn ontvangen. Markeer eventuele onjuistheden — ontbrekende bestellingen, dubbele bestellingen, of bestellingen met verschillende totalen — voor handmatige controle.
Belangrijke metrics om te volgen: import-succesratio (percentage ERP-bestellingen die succesvol in Shopify aankomen), gemiddelde importlatentie (tijd tussen aanmaak van de ERP-bestelling en aanmaak van de Shopify-bestelling), dubbele ratio (percentage importpogingen die een bestaande bestelling raken), en SKU-resolutiefoutpercentage. Dashboard deze metrics en stel waarschuwingen in voor anomalieën.
Hoe Galantis Connect Omgaat Met ERP-Orderimport
Galantis Connect vereenvoudigt de orderimport met zijn visuele veldmapping interface. In plaats van aangepaste code te schrijven om ERP-bestelvelden naar de Shopify API-schema te vertalen, map je velden visueel — sleep het "CustomerPO" veld van de ERP naar de bestelling-tag van Shopify, map "NetAmount" naar het transactiebedrag, en wijs "WarehouseCode" toe aan de juiste fulfillmentlocatie.
De regelengine van het platform beheert de voorwaardelijke logica die de orderimport moeilijk maakt. Stel regels in zoals "als payment_method = 'NET30', stel financial_status in op 'pending'" of "als source_channel = 'wholesale', onderdruk klantmeldingen." Deze regels worden uitgevoerd voordat de bestelling in Shopify aankomt, zodat elke import correct is geconfigureerd zonder aangepaste middleware.
Ingebouwde idempotentie en duplicatiedetectie zijn automatisch. Galantis Connect houdt elk ERP-bestelnummer bij dat het verwerkt en voorkomt indiening opnieuw. Als een netwerkfout een import onderbreekt, pikt het herhalingssysteem precies op waar het was gebleven — geen dubbele bestellingen, geen ontbrekende gegevens. Run-level logs tonen precies wat er met elke bestelling is gebeurd, waardoor reconciliatie eenvoudig wordt.
Aan de Slag Met ERP-Orderimport
Begin met een enkel type bestelling — meestal de hoogst volume, meest voorspelbare flow zoals betaalde groothandelsbestellingen. Map de velden, configureer de betalingsstatusregels, en voer een batch testbestellingen uit via een Shopify-ontwikkelwinkel. Controleer of de financiële status, voorraadimpact, en klantmeldingen allemaal correct functioneren voordat je uitbreidt naar complexere scenario's zoals gedeeltelijke betalingen of fulfillment op meerdere locaties.
Klaar om te stoppen met het schrijven van aangepaste orderimportcode? Galantis Connect biedt je visuele mapping, automatische duplicaatpreventie, en volledige audit trails voor elke bestelling die van je ERP naar Shopify stroomt. Zie hoe het werkt op galantis.io.
Bedrijf & Hulpbronnen
Nederlands
© DigiFist 2026. Alle rechten voorbehouden.




