Due diligence: tjek en dansk virksomhed på 5 minutter

Du står over for at købe et anpartsselskab, indgå en større leverandøraftale, eller bare tage stilling til om en kontraktpart faktisk er det de udgiver sig for. Klassisk due diligence af en dansk virksomhed kræver opslag i flere systemer, manuel sammenstilling af regnskaber, og et par timers arbejde — selv for en rutineret revisor.
Det her indlæg viser hvordan du laver en grundig due diligence af en dansk virksomhed på under fem minutter ved hjælp af et enkelt API-kald. Du får en konkret tjekliste, et fungerende kode-eksempel, og en gennemgang af præcis hvad du skal kigge efter i svaret.
Målgruppen er M&A-rådgivere, advokatfuldmægtige, SMV-købere og alle andre der jævnligt skal vurdere en dansk virksomhed inden underskrift. Hvis du foretager 50–500 due diligence-tjek om måneden, er det her arbejdsproces nok det enkleste sted at hente tid hjem.
De 7 røde flag i en hurtig due diligence
Før vi dykker ned i koden, så lad os blive enige om hvad du faktisk leder efter. En hurtig due diligence af en dansk virksomhed handler om at fange syv ting:
| # | Rødt flag | Hvor finder du det |
|---|---|---|
| 1 | Selskabet er under konkursbehandling, tvangsopløsning eller likvidation | status + events |
| 2 | Hyppige skift i ledelse eller ejerkreds | history + relations |
| 3 | Negativt egenkapital eller faldende soliditet | finance (3+ år) |
| 4 | Faldende omsætning eller resultat over flere år | finance (3+ år) |
| 5 | Adresseskift til "uvirksom" eller c/o-adresse | history |
| 6 | Ingen aktive produktionsenheder | production_units |
| 7 | Selskabet er en del af en uventet koncernstruktur | relations |
Alle syv punkter kan tjekkes med ét API-kald. Det er udgangspunktet for alt det følgende.
Stamdata + historik på 30 sekunder
Hjørnestenen i en due diligence af en dansk virksomhed er ét opslag på CVR-nummeret med alle relevante datablokke inkluderet:
curl "https://firmaapi.dk/api/v1/company/12345678?include=history,finance,events,production_units,relations" \
-H "X-API-Key: cvr_live_din_nøgle_her"
Det returnerer en samlet JSON-respons med stamdata, ejere, ledelse, regnskaber, hændelser, produktionsenheder og koncernrelationer. Resten af artiklen henviser tilbage til samme svar — du behøver altså ikke flere kald for at gennemføre tjekket.
Stamdata-blokken giver dig på 30 sekunder:
nameog eventuellesecondary_names(binavne)status:active,under_konkurs,tvangsoploest,under_likvidation,oploestfounded_dateogfirst_fiscal_period_endaddress,municipality_name, og om virksomheden er flyttet (ihistory)company_type(ApS, A/S, IVS osv.) ogcapital(selskabskapital)industry(primær branche, DB07) ogsecondary_industriespurpose(selskabets formål — tit overraskende afslørende)employees(årlig beskæftigelse)employer_registration_dateogvat_registration_date
Allerede her fanger du de mest oplagte røde flag: er selskabet stadig aktivt, er det stiftet i går, og passer formålet med det du vil bruge det til.
Ejerkæden: hvem tjener egentlig på handlen
Fra svaret kan du gå direkte i owners-blokken og se den juridiske ejerkreds — hvem har stiftet selskabet, hvem ejer kapitalandele, og hvem sidder i ledelsen.
For en lille SMV-handel er det her ofte nok. Men hvis target indgår i en koncern, vil du gerne vide om sælgeren reelt er den ultimative ejer, eller om der ligger et holdingselskab eller en fond ovenover. Det er hvad include=relations afslører: direkte moder- og datterselskaber, kapitalandele, og roller (direktør, bestyrelsesmedlem, reel ejer).
Et typisk scenarie:
Du forhandler om at købe et driftsselskab fra en sælger der præsenterer sig som ejer.
relationsviser at driftsselskabet ejes 100 % af et holdingselskab, som igen ejes af en familiefond. Den reelle modpart i handlen er fonden — ikke sælgeren ved bordet.
Det er den slags der ændrer både prisforhandling og kontraktvilkår. relations-data kræver en Professionel-plan, fordi det er den blok der typisk skiller en hurtig konsulent-DD fra en seriøs M&A-DD.
Regnskabstrend over 3 år
finance-blokken returnerer regnskabsdata med færdigberegnede nøgletal — du behøver ikke selv lave formler eller hente XBRL-filer fra erhvervsstyrelsen. På Standard-planen får du seneste års regnskab; på Professionel får du flerårshistorik klar til tidsserie-analyse.
De nøgletal du primært skal kigge efter i en due diligence er:
| Nøgletal | Felt | Hvad det fortæller |
|---|---|---|
| Soliditetsgrad | financials[].ratios.solvency_ratio | Hvor sårbar er virksomheden over for tab |
| Overskudsgrad | financials[].ratios.profit_margin | Er driften reelt rentabel |
| Afkastningsgrad | financials[].ratios.return_on_assets | Hvor effektivt udnyttes kapitalen |
| Egenkapitalforrentning | financials[].ratios.return_on_equity | Hvor godt forrentes ejernes kapital |
| Likviditetsgrad | financials[].ratios.current_ratio | Kan virksomheden betale sine kortfristede gældsposter |
| Egenkapital | financials[].equity | Er den positiv — eller teknisk insolvent |
| Omsætning | financials[].revenue | Vækst, fald, stagnation |
Værdierne i ratios er decimaler — gang med 100 for procent (0,2866 = 28,66 %). På Professionel-planen får du desuden financials[].growth med færdigberegnet revenue_yoy, profit_yoy og equity_yoy, så du slipper for selv at lave år-til-år-sammenligninger.
Den hurtige test er: træk de seneste tre års regnskaber, og kig på trenden i soliditet og overskudsgrad. En virksomhed med faldende soliditet og smalle marginer er en helt anden risikoprofil end én med stabile nøgletal — selv hvis seneste års tal ser identiske ud.
Bemærk at små virksomheder (regnskabsklasse B) ikke er forpligtet til at oplyse omsætning. Hvis revenue er null, er det ikke en fejl i API'et — det er fordi virksomheden ikke har indberettet det. I sådanne tilfælde kan du i stedet kigge på operating_profit (driftsresultat) og net_profit (årets resultat).
Hændelser: fusioner, spaltninger, statusændringer
events-blokken (Standard+) er den mest oversete del af en due diligence af en dansk virksomhed. Den viser tidsstemplede hændelser i selskabets livscyklus:
company.status.changed— fra aktiv til konkurs, likvidation, tvangsopløsningcompany.bankruptcy— selve konkurs-deklarationencompany.merged/company.demerged— fusioner og spaltningercompany.name.changed,company.address.changedcompany.participant.changed— udskiftning i ledelse eller ejerkredscompany.financials.published— hver gang et nyt regnskab er offentliggjortcompany.industry.changed,company.type.changed,company.capital.changed
Det her er guld værd i en DD. Tre konkrete signaler at være opmærksom på:
- Hyppige adresseskift kombineret med få ansatte tyder på et selskab der ikke har en reel base — eventuelt et stråmandsselskab.
- Skiftende ledelse indenfor det seneste år før salget kan signalere intern uro eller forsøg på at "rydde op" inden handlen.
- Mange ejerskifter kort før salget kan tyde på at sælgeren selv købte sig ind for nylig med henblik på videresalg — noget der kræver en grundigere prisvurdering.
Hvis du gerne vil overvåge ændringer fremadrettet (efter handlen er gennemført), kan du oprette webhooks på de samme events. Standard-planen dækker company.status.changed og company.bankruptcy — nok til at fange de kritiske signaler om en kunde eller leverandør er ved at ryge ned med flaget.
Produktionsenheder: er der reel aktivitet?
Enhver dansk virksomhed har som minimum én produktionsenhed (P-nummer) — typisk på samme adresse som hovedselskabet. Men antallet, placeringen og statussen på produktionsenhederne fortæller meget om reel aktivitet:
- Ingen aktive produktionsenheder = der er reelt ingen drift længere
- Mange P-numre i forskellige kommuner = filialer eller butikkæder
- P-nummer på en c/o-adresse eller virtuel kontorhotel-adresse = formentlig et "sleeping" holdingselskab uden operationel drift
Du finder dem i production_units-arrayet i company-svaret. Hvert P-nummer har egen status, adresse, branche og antal ansatte. For en serviceforretning der hævder at have 30 medarbejdere på syv kontorer i Jylland, er det her du verificerer at det faktisk passer.
Production units kræver Standard-plan (eller højere).
Komplet DD-tjekliste
Saml det hele i én tjekliste du kan køre igennem på fem minutter pr. virksomhed:
| Punkt | Tjek | Felt i svaret |
|---|---|---|
| Selskabsstatus | Aktiv? Ikke under konkurs/tvangsopløsning? | status |
| Selskabsform | ApS, A/S, IVS — som forventet? | company_type |
| Stiftelsesdato | Stiftet for nylig eller veletableret? | founded_date |
| Selskabskapital | Indbetalt og rimelig ift. selskabsformen? | capital |
| Formål | Stemmer med det du vil bruge selskabet til? | purpose |
| Branchekode | Primær branche matcher den faktiske aktivitet? | industry |
| Adresse | Reel kontor- eller produktionsadresse? | address |
| Adressehistorik | Hyppige flytninger? | history |
| Ledelse | Aktuelle direktører og bestyrelse | owners.management |
| Ejerkreds | Reelle ejere over 25 % | owners.beneficial_owners |
| Koncernrelationer | Moderselskab, datterselskaber | relations |
| Soliditetsgrad | Stabil eller faldende over 3 år? | financials[].ratios.solvency_ratio |
| Overskudsgrad | Positiv og stabil? | financials[].ratios.profit_margin |
| Egenkapital | Positiv? | financials[].equity |
| Omsætningstrend | Vækst, stagnation eller fald? | financials[].revenue |
| Statushændelser | Tidligere konkurs, fusion, spaltning? | events |
| Ledelsesskift | Hyppige udskiftninger seneste 12 mdr? | events (filter på participant.changed) |
| Produktionsenheder | Antal aktive P-numre? Reel aktivitet? | production_units |
| Ansatte | Stemmer beskæftigelse med selskabets størrelse? | employees |
| Moms- og ATP-registrering | Aktivt registreret? | vat_registration_date, employer_registration_date |
Tjeklisten dækker alt det 95 % af dine due diligence-sager kræver. Kun for komplicerede internationale strukturer eller højrisiko-handler skal du længere ned i materialet — og selv der starter du som regel med samme datasæt.
Hvilken plan dækker en typisk DD?
Hvis du laver due diligence af en dansk virksomhed jævnligt, er dette plan-valget:
| Plan | Pris | Hvad du får til DD |
|---|---|---|
| Standard | 299 kr/md | Stamdata, ejere, regnskab seneste år + nøgletal, hændelser, produktionsenheder, 150.000 opslag |
| Professionel | 469 kr/md | Alt på Standard + flerårsregnskaber, koncernrelationer, alle webhook-events, 500.000 opslag |
For den klassiske SMV-DD eller en hurtig kontraktparts-tjek er Standard rigeligt. For seriøs M&A-DD med trend-analyse og koncernkortlægning er Professionel den oplagte plan — særligt fordi relations (koncernstruktur) først er med dér.
Hvis du vil teste først, kan du oprette en gratis konto med 1.000 opslag/md og prøve API'et på et par konkrete virksomheder.
Kom i gang
- Opret en gratis konto — du får en API-nøgle med det samme
- Lav dit første DD-opslag mod et CVR-nummer du kender godt, og bekræft at svaret matcher virkeligheden
- Byg tjeklisten ovenfor ind i dit eget interne system, eller brug den manuelt
Det tager omkring fem minutter at gennemføre en grundig due diligence af en dansk virksomhed når først arbejdsprocessen sidder. Sammenlignet med manuelt at slå op i flere systemer, downloade regnskaber og krydse data sammen i Excel, er besparelsen typisk en time pr. sag — eller mere når du tæller fejlene fra manuel sammenstilling med.
Se den fulde dokumentation på firmaapi.dk/dokumentation eller spring direkte til priserne.