Shopify og Dynamics 365 Business Central On-Premise Integration

Integration mellem din 365 Business Central & Shopify på en on-prem løsning

Business Central On-Premise lever fortsat hos tusindvis af virksomheder. Selvom Microsoft i stigende grad investerer i cloud-versionen af Business Central, er On-Premise fortsat et strategisk valg for virksomheder med særlige krav til sikkerhed, compliance, lokal infrastruktur eller komplekse ERP-tilpasninger.

Samtidig er Shopify blevet en af verdens mest udbredte e-handelsplatforme. Kombinationen giver god mening – men integrationsopgaven er markant mere kompleks, end mange forventer.

Den officielle Shopify Connector fra Microsoft understøtter nemlig kun Business Central Online (SaaS). Driver virksomheden Business Central On-Premise, skal integrationen designes fra bunden eller implementeres via en integrationsplatform.

Det er her, mange projekter går galt.

Ikke fordi API’erne er dårlige.

Men fordi arkitekturen ofte bliver for simpel.

I denne artikel gennemgår vi, hvordan en moderne Shopify ↔ Business Central On-Premise integration bør designes, hvilke teknologier der bør anvendes, og hvilke arkitekturprincipper der sikrer en løsning, som stadig fungerer om fem år.

Hvorfor On-Premise kræver en anden integrationsstrategi

I Business Central Online håndterer Microsoft selv en lang række platformstjenester:

  • Authentication
  • Connector Framework
  • Job Queue Services
  • Event Management
  • Cloud Storage
  • Service Tier Skalering
  • Overvågning

Disse komponenter eksisterer ikke nødvendigvis i en On-Premise installation.

Det betyder, at integrationsansvaret flyttes fra Microsoft over til virksomheden eller integrationspartneren.

Derfor bliver arkitekturen afgørende.

En integration er ikke længere blot et API-kald.

Den bliver en distribueret applikation.

Hvorfor direkte API-integration sjældent er den rigtige løsning

Den mest oplagte arkitektur ser ofte sådan ud:

Shopify
      │
 GraphQL API
      │
Business Central

Den fungerer fint under udvikling.

Men så snart virksomheden begynder at modtage hundrede eller tusinde ordrer dagligt, viser problemerne sig.

Eksempelvis:

  • Shopify sender flere webhooks for samme ordre.
  • Lager ændres flere steder samtidig.
  • Betaling registreres efter ordren.
  • Fulfillment opdateres separat.
  • Refundering kommer flere dage senere.

Hvis integrationen kalder Business Central direkte for hver hændelse, opstår der hurtigt:

  • dobbeltoprettede ordrer
  • race conditions
  • timeout-problemer
  • manglende lageropdateringer
  • fejl ved netværksudfald

Derfor anbefaler vi altid en løs kobling mellem systemerne.

Den moderne integrationsarkitektur

En enterprise-løsning ser typisk således ud:

                    Shopify

               GraphQL Admin API
                       │
                   Webhooks
                       │
                API Gateway
                       │
              Integration Platform
                       │
     Validation • Mapping • Transformation
                       │
       Retry • Queue • Monitoring • Logging
                       │
 Business Central API Pages / Codeunits
                       │
                  SQL Server

Denne arkitektur giver en række væsentlige fordele.

Asynkron behandling

Ordren behøver ikke blive behandlet øjeblikkeligt.

Den placeres først i en kø.

Dermed påvirker spidsbelastninger ikke ERP-systemet.

Retry-mekanismer

Hvis Business Central er utilgængelig:

  • gemmes beskeden
  • forsøges igen
  • logges automatisk

Ingen data går tabt.

Idempotency

Et af de mest oversete områder.

Shopify kan sende samme webhook flere gange.

Hvis integrationen ikke arbejder idempotent, kan samme ordre oprettes flere gange.

En moderne integrationsplatform gemmer derfor unikke Event IDs og ignorerer dubletter.

Shopify benytter hændelser – ikke datasæt

Mange udviklere forventer, at Shopify sender komplette ordrer.

Det gør platformen ikke.

Den sender hændelser.

Eksempelvis:

  • orders/create
  • orders/updated
  • orders/paid
  • orders/cancelled
  • refunds/create
  • fulfillment/create
  • inventory_levels/update

Hver hændelse beskriver kun én ændring.

Integrationen skal selv afgøre:

  • Er ordren allerede oprettet?
  • Er kunden oprettet?
  • Er varen synkroniseret?
  • Er lageret opdateret?
  • Er betalingen registreret?

Det kræver en integrationsmotor med styr på state management.

GraphQL er fremtiden

Shopify bevæger sig væk fra deres klassiske REST API.

Nye integrationer bør derfor udvikles mod GraphQL Admin API.

Fordelene er betydelige.

Kun de felter der ønskes

I stedet for:

GET /orders/123

kan man forespørge:

Order

- Customer
- Email
- Line Items
- SKU
- Inventory
- Fulfillment

Det reducerer datamængden markant.

Færre API-kald

Én GraphQL-forespørgsel kan erstatte mange REST-kald.

Det reducerer både svartid og belastning.

Bulk Operations

Ved første synkronisering kan hundredetusindvis af produkter eller ordrer hentes via Shopifys Bulk Operations API.

Det gør initiale migreringer langt hurtigere.

Hvilke API’er bør anvendes i Business Central?

Business Central On-Prem tilbyder flere integrationsmuligheder.

API Pages

Det mest moderne valg.

Fordele:

  • REST
  • JSON
  • Standardiseret
  • Understøtter OAuth
  • Versionerbare endpoints

Ved behov kan der udvikles egne API Pages i AL.

OData v4

OData anvendes fortsat mange steder.

Velegnet til:

  • opslag
  • masterdata
  • simple opdateringer

Men mindre egnet til komplekse transaktioner.

Codeunits

Den mest fleksible integrationsform.

Ved at eksponere egne Codeunits kan integrationen genbruge Business Centrals eksisterende forretningslogik.

Eksempelvis:

  • bogføring
  • reservation
  • lagerstyring
  • dimensionsvalidering
  • prisberegning
  • kreditkontrol

Dermed undgår man at implementere ERP-logik udenfor Business Central.

Master data ownership

En af de vigtigste beslutninger handler ikke om teknologi.

Den handler om ejerskab.

Hvem ejer:

  • kunder?
  • produkter?
  • priser?
  • lager?
  • valuta?
  • moms?
  • rabatter?

Hvis begge systemer må ændre de samme data, opstår der næsten altid konflikter.

En integrationsstrategi bør derfor definere én autoritativ kilde for hver datamodel.

Lagerstyring

Lager er ofte den mest kritiske integration.

Virksomheder med flere lagre skal tage stilling til:

  • Safety Stock
  • Available Inventory
  • Reserved Inventory
  • In Transit
  • Backorders
  • Multiple Locations

Et forkert lagerflow kan føre til oversalg eller forsinkede leverancer.

Fejlhåndtering er vigtigere end API’et

De fleste integrationsprojekter fejler ikke på grund af API’erne.

De fejler på grund af manglende overvågning.

En professionel integration bør indeholde:

  • Central logning
  • Correlation IDs
  • Retry-politikker
  • Dead Letter Queue
  • Health Checks
  • Alerting
  • Dashboard
  • Audit Trail

Når noget går galt, skal man kunne finde fejlen på få minutter – ikke efter flere timers fejlsøgning.

Sikkerhed

Business Central On-Prem eksponeres ofte via:

  • Reverse Proxy
  • VPN
  • Azure Application Proxy
  • API Gateway

Adgangen bør sikres med:

  • OAuth 2.0
  • TLS 1.2+
  • Certifikatbaseret kommunikation
  • IP-whitelisting
  • Least Privilege-principper

Sikkerhed bør tænkes ind fra starten og ikke først efter implementeringen.

Hvorfor en integrationsplatform ofte er den bedste løsning

Når integrationen håndteres via en integrationsplatform som Connectify, adskilles integrationslogikken fra ERP-systemet.

Det giver en række fordele:

  • Hurtigere udvikling
  • Genbrug af integrationer
  • Bedre overvågning
  • Central mapping
  • Nemmere versionsstyring
  • Understøttelse af flere systemer

Den samme platform kan senere forbindes med:

  • WMS
  • PIM
  • CRM
  • EDI
  • Transportører
  • Markedspladser
  • AI-baseret dokumentbehandling

Dermed bliver integrationen ikke blot en forbindelse mellem to systemer, men fundamentet for virksomhedens samlede integrationslandskab.

Næste step

Integration mellem Shopify og Business Central On-Premise handler ikke blot om at flytte data fra A til B.

Den handler om at designe en arkitektur, der kan håndtere hændelser, fejl, skalerbarhed og fremtidige ændringer uden at kompromittere ERP-systemets stabilitet.

Virksomheder, der investerer i en gennemtænkt integrationsarkitektur fra starten, opnår typisk lavere driftsomkostninger, færre fejl og en løsning, der kan udvides i takt med virksomhedens vækst.

I stedet for at bygge endnu en punkt-til-punkt integration bør målet være at etablere en integrationsplatform, som bliver bindeleddet mellem ERP, e-handel og resten af virksomhedens digitale økosystem.

Færre overaskelser

Forudsigelige månedlige omkostninger

Budgetsikkerhed

Færre overaskelser

Forudsigelige månedlige omkostninger

Budgetsikkerhed

Færre overaskelser

Forudsigelige månedlige omkostninger

Budgetsikkerhed

Færre overaskelser

Forudsigelige månedlige omkostninger

Budgetsikkerhed

Bliv ringet op!

Har du lyst til at blive ringet op for at høre mere om Connectify, eller få svar på de spørgsmål du har i forhold til jeres forretning, så udfyld venligst formularen nedenunder, og så ringer vi dig op.





    Indholdfortegnelse