unlockr

Business Central-API: jeres data ud uden direkte SQL

I Business Central online går al data ud gennem API’et, fordi der ikke er direkte SQL-adgang til databasen. I vælger mellem standard-API v2.0, jeres egne API-sider og OData-webservices. Skal tallene i en database eller et lakehouse, henter I ændringerne hver nat via API’et eller eksporterer med bc2adls direkte til Fabric.

Kort fortalt

Hvad kan Business Central-API’et, og hvad kan det ikke?

Business Central API er en REST-adgang til jeres ERP. Et andet system kan læse debitorer, varer, salgsordrer, fakturaer og finansposter og skrive tilbage, hvis det har lov. Webshoppen, lønsystemet og Power BI taler alle med Business Central på den måde.

Kilde: Microsoft Learn om API v2.0, webhooks og operationelle grænser, tjekket november 2026.
API’et kanAPI’et kan ikke
Læse og skrive debitorer, kreditorer, varer, ordrer, fakturaer og kladderGive jer en SQL-forbindelse til databasen i BC online
Filtrere på ændringsdato, så I kun henter det nyeHente millioner af rækker i ét kald. En side er højst 20.000 poster
Give besked via webhook, når en debitor eller faktura ændresSende den besked med det samme. Der går som standard 30 sekunder
Vise jeres egne felter og tabeller gennem en custom API-sideVise et felt, ingen har lagt på en API-side eller webservice

Spørgsmålet er sjældent, om API’et kan. Det er, hvilken vej ind I vælger, og hvem der ejer den, når den knækker en fredag aften.

Vejene ind

API, OData eller custom API: hvad skal I bruge?

Vej indHvad det erBrug det til
Standard-API v2.0Microsofts færdige endpoints til de almindelige entiteter. Holder, når Business Central opdateresWebshop, CRM og alt, der skal skrive ordrer og debitorer
Custom API-sideEn API-side, I selv skriver i en AL-udvidelse, med præcis de felter, I skal brugeEgne felter, egne tabeller og dataudtræk til en database
API-queryEn forespørgsel, der samler og summerer i Business Central, før data sendesSaldi og summer pr. konto, dimension og måned
OData-webserviceEn side eller query, I udgiver på siden Webservices uden at kode. Fra version 30 (2027 release wave 1) kan Microsofts egne sider ikke længere udgives som ODataHurtige udtræk til Excel og Power BI fra jeres egne sider og queries
SOAPDen gamle webservice. Microsoft skriver, at den skal udfases, og fra version 29 kan Microsofts egne sider ikke udgives som SOAPIntet nyt. Flyt det, I har

Vores tommelfingerregel: standard-API’et, når det dækker behovet. En custom API-side, så snart I skal bruge et felt mere. OData-webservices er hurtige at sætte op, men de følger sidens layout, og en opgradering kan ændre det under jer. Står jeres udtræk på en udgivet standardside som Kunder eller Finansposter, skal det flyttes, før I får version 30.

Login sker med en app-registrering i Microsoft Entra ID og OAuth. Webservice-adgangsnøglerne holdt op med at virke i BC online i oktober 2022.

Direkte SQL

Hvorfor jeres SQL-forespørgsler ikke virker i BC online

På Navision og Business Central on-premises stod databasen på jeres egen server. Rapportværktøjet læste tabellerne direkte i SQL Server. I BC online kører databasen hos Microsoft, og ingen udenfor får en forbindelse til den.

Det er en bevidst del af SaaS-modellen. Microsoft kan opdatere tabeller og indekser to gange om året uden at spørge jer, fordi ingen andre afhænger af dem. Prisen er, at hvert dataudtræk skal gå gennem et API.

»Business Central til SQL« betyder i dag noget andet: I bygger en kopi. Data hentes via API’et og skrives i jeres egen Azure SQL-database eller et lakehouse, hvor I må forespørge alt, hvad I vil. Holdt rapporterne op med at virke efter en opgradering, står bruddene på siden om opgradering.

Grænser

Rate limits og webhooks på almindeligt dansk

Microsoft beskytter tjenesten med grænser. De er høje nok til en webshop og et natligt udtræk, men en integration, der ignorerer dem, får fejl midt i måneden.

  • Hver bruger må sende 6.000 OData- og API-kald inden for fem minutter. Kommer der flere, svarer Business Central med fejl 429 og beder jer vente.
  • Et kald må tage otte minutter. Tunge udtræk skal deles op.
  • Grænserne gælder også app-brugere. En integration, der kører alt gennem én app-bruger, rammer dem først.
  • Webhooks giver besked 30 sekunder efter, at fx en salgsordre ændres. Ændres over 1.000 poster i det tidsrum, kommer én samlet besked.
  • Et webhook-abonnement udløber efter tre dage, hvis integrationen ikke fornyer det.

Ingen af delene er svære. De skal bare bygges ind fra start: genforsøg med pause, opdeling i sider og fornyelse af abonnementer.

Database og lakehouse

BC-data ud i en database eller et lakehouse

  1. Natligt delta via API’et

    Et job i Azure henter de poster, der er ændret siden sidst, og skriver dem i Azure SQL eller et lakehouse. I ejer koden.

  2. bc2adls

    En open source-udvidelse, der eksporterer ændrede poster fra Business Central til Azure Data Lake eller et Fabric-lakehouse. Den vedligeholdes i dag af fællesskabet omkring værktøjet, så tjek, hvem der står bag den version, I installerer.

  3. Spejling til Fabric

    Fabric kan spejle Azure SQL, Snowflake og flere andre kilder direkte til OneLake uden et job imellem. Microsoft annoncerede i september 2026 spejling af Business Central til Fabric, men i november 2026 er den endnu ikke generelt tilgængelig. Tjek status, før I bygger noget stort selv.

  4. Færdigt sync-værktøj

    Der findes betalte værktøjer, der kopierer Business Central til SQL Server eller Azure SQL. I er hurtigt i gang, men I har en licens og en leverandør mere.

Har I flere selskaber, bliver det her interessant. Hvert selskab er sit eget endpoint, og kontoplaner og dimensioner skal samles, før koncernen kan læses som ét tal. Lageret ovenpå har sin egen side om dataplatform.

En nat

Hvad udtrækket gør, mens I sover

bc-udtræk · data · tirsdag
02:00Starter. 3 selskaber, 14 API-endpoints
02:038.412 ændrede finansposter hentet siden i går kl. 02:00
02:051 kald fik fejl 429. Venter 60 sekunder og prøver igen. Gik igennem
02:112.906 salgslinjer og 311 debitorer skrevet i lakehouse
02:12Saldobalancen i lakehouse stemmer med Business Central i alle 3 selskaber
02:1317 finansposter uden afdelingsdimension. Lagt på listen til controlleren
08:20Nadia, controller, retter 15 i Business Central og skriver, at 2 er korrekte uden dimension

Eksempel med opdigtede navne og tal.

Den vigtigste linje er afstemningen kl. 02:12. Et udtræk, der ikke tjekker sig selv mod saldobalancen, opdager I først er forkert, når bestyrelsen spørger.

Governance

Hvem må hvad i jeres Business Central?

Hver integration får sin egen app-registrering med egne rettigheder. Udtrækket må læse. Webshoppen må oprette salgsordrer og intet andet. Så kan I lukke én uden at stoppe resten.

Hver integration får også en navngiven ejer hos jer. Ofte ejer IT-chefen forbindelsen, og controlleren ejer tallene i den. Når en hemmelighed udløber, ved begge, hvem der fornyer den.

Hvornår ikke

Når I ikke skal bygge noget

Har I ét selskab og fem rapporter, så brug Business Central-connectoren i Power BI og byg intet lakehouse. Hvornår den rækker, står på siden om Power BI og Business Central.

Et lager giver mening, når I har flere selskaber, data fra webshop og PIM ved siden af ERP, eller agenter, der skal læse fra hjernen. Før det er et natligt udtræk bare en ekstra ting, der kan knække.

MCP

MCP-serveren er den nyeste vej ind

Business Central har fået en MCP-server, så en AI-agent kan læse via de samme API-sider. Ifølge Microsoft kan den kun læse, indtil en administrator åbner for mere. Den har sin egen side, hvor vi går i dybden.

Sådan starter I

Fra jeres første udtræk til en fast forbindelse

Tag listen over jeres integrationer og rapporter med til første møde, som er gratis. I afklaringen vælger vi vej ind for hver af dem, og I får en fast pris, aftalt før vi går i gang.

Forbindelsen bygger vi med jeres team, i jeres cloud. Skal controlleren have en ny tabel med i udtrækket, tilføjer jeres IT den selv.

Spørgsmål

Kan vi få direkte SQL-adgang til Business Central online?

Nej. I Business Central online kører databasen hos Microsoft, og ingen udenfor får en SQL-forbindelse. Vil I bruge SQL, kopierer I data via API’et til jeres egen Azure SQL-database eller et lakehouse.

Hvad er forskellen på Business Central API og OData?

API’et er Microsofts faste REST-endpoints og jeres egne API-sider, bygget til integrationer, og de holder, når Business Central opdateres. OData-webservices er sider og queries, I udgiver uden at kode. De er hurtige at sætte op, men følger sidens layout og kan ændre sig, når siden ændres. Fra version 30 kan Microsofts egne sider ikke længere udgives som OData, så nye udtræk bør bygges på API’et.

Hvordan får vi data fra Business Central over i SQL eller et lakehouse?

Den mest almindelige vej er et natligt job, der henter ændrede poster via API’et og skriver dem i Azure SQL eller et Fabric-lakehouse. Open source-værktøjet bc2adls eksporterer direkte til Data Lake eller Fabric. Microsoft har annonceret spejling af Business Central direkte til Fabric, men i november 2026 er den endnu ikke generelt tilgængelig.

Hvor mange API-kald må vi lave til Business Central?

Microsoft angiver 6.000 OData- og API-kald pr. bruger inden for fem minutter og fem samtidige kald pr. bruger. Går I over, svarer Business Central med fejl 429. Integrationen skal vente og prøve igen.

Læs videre
Kontakt

Hvor forsvinder jeres timer?

Tag den opgave med, der stjæler flest. Så siger vi ærligt, om agenter kan tage den, og hvad det kræver af jer.

Book et første møde Det første møde er gratis. Derfra bestemmer I, om I vil videre.