Skip to main content
BusinessDA

Udviklingskontrakt Danmark — softwareudvikling og systemleverance

Reviewed by the Forms Legal Editorial Team·Last updated
Key takeaways

En udviklingskontrakt for softwareudvikling og systemleverance er en skriftlig aftale, der præciserer, hvad der skal leveres, hvornår og på hvilke vilkår, når en virksomhed eller en privat part engagerer en udvikler eller et softwarehus. Kontrakten er nødvendig, så snart opgaven rækker ud over en enkelt simpel bestilling — navnlig når projektet indebærer fortrolige oplysninger, ophavsretlige spørgsmål eller løbende ydelser.

Legal basis: Ophavsretsloven (LBK nr. 1144 af 28/09/2023) §§ 36 og 75c; aftaleloven (LBK nr. 193 af 02/03/2016) § 1 og § 36; databeskyttelsesloven (lov nr. 502 af 23/05/2018); GDPR art. 28; lov om forretningshemmeligheder (lov nr. 309 af 25/04/2018)

udviklingskontrakt — free, fillable template; download as PDF or Word.

Hvad er en udviklingskontrakt?

En udviklingskontrakt er den juridiske ramme, der regulerer forholdet mellem en opdragsgiver og en leverandør af softwaremæssige ydelser. Aftalen kan dække alt fra udvikling af et nyt system fra bunden til tilpasning af eksisterende platforme, integration af tredjeparts-API'er og løbende vedligeholdelse.

Kontrakten er ikke blot en ordrebekræftelse. Formålet er at sikre, at begge parter har en fælles og juridisk bindende forståelse af omfanget, betalingsbetingelserne, fortrolighedskravene og ejerforholdet til den færdige software. Uden en klar kontrakt opstår der hyppigt uenighed om, hvem der ejer koden, hvem der bærer ansvaret for fejl, og hvad der præcis er aftalt.

Dansk aftaleret hviler på aftalelovens (LBK nr. 193 af 02/03/2016) § 1, der fastslår, at en bindende aftale opstår ved tilbud og accept. Selvom en mundtlig aftale principielt er gyldig, er det i praksis umuligt at dokumentere indholdet af mundtlige forhandlinger om et komplekst softwareprojekt. En skriftlig udviklingskontrakt er derfor det eneste forsvarlige valg.

Hvornår er en udviklingskontrakt nødvendig?

En udviklingskontrakt bør indgås, inden det egentlige arbejde begynder. Situationer, hvor den er uundværlig, inkluderer:

Skræddersyet softwareudvikling. Når en leverandør udvikler et system til en specifik kundes behov, er det afgørende at fastlægge, hvem der erhverver ophavsretten til den resulterende kode. Ophavsretsloven (LBK nr. 1093 af 20/08/2023) § 59 regulerer overgang af ophavsret til software skabt i et ansættelsesforhold. Ifølge § 59 tilkommer ophavsretten til et computerprogram, der er frembragt af en arbejdstager under udførelsen af dennes arbejde eller efter arbejdsgiverens anvisninger, arbejdsgiveren. Udenfor ansættelsesforhold — eksempelvis ved freelance- eller underleverandørforhold — er udgangspunktet derimod, at ophavsmanden beholder retten, medmindre andet udtrykkeligt er aftalt. Kontrakten skal derfor eksplicit regulere, om ordregiveren erhverver fuld ejendomsret, en eksklusiv licens eller blot en brugsret.

Projekter med fortrolig information. Enhver udviklingsproces indebærer udveksling af forretningskritiske oplysninger — forretningslogik, kundedatabaser, interne processer. Lov om forretningshemmeligheder (lov nr. 309 af 25/04/2018) beskytter sådanne oplysninger, men loven forudsætter, at ejeren af hemmeligheden har truffet rimelige foranstaltninger for at holde dem fortrolige. En fortrolighedsklausul i kontrakten dokumenterer netop, at ejeren har gjort dette.

Behandling af personoplysninger. Leverer leverandøren et system, der behandler personoplysninger på vegne af kunden, er kunden dataansvarlig og leverandøren databehandler. GDPR art. 28 kræver i sådanne tilfælde en skriftlig databehandleraftale. Denne kan indgå som et selvstændigt bilag til udviklingskontrakten eller indarbejdes direkte i den. Databeskyttelsesloven (lov nr. 502 af 23/05/2018) supplerer GDPR i dansk ret og fastlægger bl.a. tilsynsmyndighedens beføjelser.

Agile eller faseopdelte projekter. Større projekter gennemføres ofte i etaper. Her er det nødvendigt at aftale, hvad der sker, hvis en fase afsluttes uden tilfredshed, og hvilke betalingsmilepæle der knytter sig til hvilke leverancer.

Centrale klausuler i en udviklingskontrakt

En velfungerende udviklingskontrakt for dansk softwareleverance bør som minimum indeholde følgende elementer:

Ydelsesspecifikation og kravspecifikation. En detaljeret beskrivelse — eventuelt som bilag — af, hvad der skal leveres, hvilke tekniske standarder der gælder, og hvilke acceptkriterier der anvendes ved levering. Jo mere præcist dette er formuleret, desto lavere er risikoen for tvister om mangelfuld levering.

Tidsplan og milepæle. Klare leveringsdatoer binder begge parter og giver grundlag for at vurdere, om forsinkelse er ansvarspådragende. Kontrakten bør angive, hvad der udgør forsinkelse, og hvilke konsekvenser dette har — herunder om der gælder en lovbestemt varslingsperiode, eller om parterne har aftalt en kontraktuel.

Vederlag og betalingsbetingelser. Prisen kan fastsættes som fast pris, løbende ydelse (time-and-material) eller en kombination. Kontrakten bør præcisere faktureringstidspunkter, betalingsfrist og konsekvenserne af forsinket betaling. Det anbefales at undgå alt for lange betalingsfrister, da dette kan belaste leverandørens likviditet unødigt.

Ophavsret og licensrettigheder. Som nævnt ovenfor er udgangspunktet i ophavsretslovens § 59 og den bagvedliggende ophavsretslige regulering, at en selvstændig leverandør beholder ophavsretten til sin kode. Skal kunden eje koden, skal dette fremgå udtrykkeligt. Alternativt kan parterne aftale en eksklusiv eller ikke-eksklusiv licens med nærmere specificerede anvendelsesbetingelser. Tredjepartskomponenter og open source-biblioteker bør identificeres, da disse er underlagt egne licensbetingelser, som hverken opdragsgiver eller leverandør kan ændre.

Fortrolighed. En fortrolighedsklausul binder begge parter til ikke at videregive oplysninger om projektet, teknologien og forretningsforholdene til udenforstående. Lov om forretningshemmeligheder beskytter oplysninger, der opfylder lovens definition, men en kontraktklausul giver en bredere og mere fleksibel beskyttelse, der kan tilpasses aftalens specifikke behov.

Databehandling. Behandles personoplysninger som led i projektet, kræver GDPR art. 28 en databehandleraftale, der som minimum fastlægger behandlingens genstand, varighed, art og formål, typen af personoplysninger samt kategorier af registrerede, og databehandlerens forpligtelser og rettigheder over for den dataansvarlige.

Ansvarsbegrænsning og garantier. Klare regler om, hvad leverandøren garanterer — eksempelvis at softwaren er fri for kendte fejl ved levering og opfylder den aftalte specifikation — og hvad der falder uden for garantien. Ansvarsbegrænsningsklausuler underkendes dog, hvis de er urimeligt byrdefulde for den svagere part, jf. aftalelovens § 36, der giver domstolene adgang til at tilsidesætte urimelige aftalevilkår.

Tvistløsning. Parterne kan vælge, om tvister skal afgøres ved de ordinære domstole eller ved voldgift. Voldgift er hurtigere og diskret, men indebærer typisk højere omkostninger end sagsanlæg ved retten.

Sådan udfylder og bruger du kontrakten

Udgangspunktet er en struktureret tilgang, der sikrer, at intet væsentligt springes over:

Trin 1 — Afklar ydelsens omfang. Inden kontrakten underskrives, bør kunden og leverandøren afholde et afklaringsmøde, hvor kravspecifikationen gennemgås punkt for punkt. Uafklarede spørgsmål bør besvares skriftligt og vedhæftes kontrakten som bilag.

Trin 2 — Identificer alle rettigheder. Kortlæg, hvilke tredjepartskomponenter og open source-biblioteker leverandøren planlægger at anvende. Licensen for disse bør fremgå af kontrakten, og parterne bør aftale, hvem der bærer risikoen for licensbrud.

Trin 3 — Fastlæg dataansvar. Afklar om der behandles personoplysninger, og indsæt i givet fald en databehandleraftale i overensstemmelse med GDPR art. 28 og databeskyttelsesloven.

Trin 4 — Brug en gennemtestet skabelon som udgangspunkt. En Udviklingskontrakt Danmark — softwareudvikling og systemleverance giver dig en juridisk struktureret ramme, der kan tilpasses den konkrete aftale — og som tager højde for de danske lovkrav.

Trin 5 — Gennemgå kontrakten med begge parter til stede. Underskriv ikke på distancen, uden at begge parter har haft lejlighed til at læse og forstå indholdet. Kontraktindgåelse er et tilbud og en accept, jf. aftalelovens § 1 — og begge parter bør vide, hvad de accepterer.

Trin 6 — Arkivér kontrakten og alle bilag. Gem en underskrevet kopi digitalt og evt. fysisk. Bilag, e-mailkorrespondance og referater fra afklaringsmøder kan have bevismæssig betydning ved en eventuel tvist.

Hyppige fejl ved udviklingskontrakter

Mange tvister om softwareleverancer har rod i de samme grundlæggende fejl. Her er de mest udbredte:

Uklar kravspecifikation. En kontrakt, der blot angiver "udvikling af webapplikation", giver anledning til uenighed om næsten alt — funktioner, ydeevne, design og integration. En præcis teknisk specifikation er ikke blot nyttigt; det er nødvendigt.

Manglende regulering af ophavsret. Mange udviklere og kunder antager, at betalingen for et stykke software automatisk overdrager ophavsretten. Ophavsretslovens udgangspunkt er det modsatte, jf. § 59's begrænsning til lønmodtagerforhold. Uden en udtrykkelig overdragelsesklausul risikerer kunden at have betalt for software, som leverandøren kan genanvende og sælge til konkurrenter.

Ingen fortrolighedsklausul. Selv kortvarige projekter indebærer udveksling af intern viden. Lov om forretningshemmeligheder giver en vis beskyttelse, men en kontraktklausul er mere specifik og lettere at håndhæve.

Glemt databehandleraftale. Mange softwareprojekter involverer behandling af personoplysninger — kunder, ansatte, brugere. Mangler databehandleraftalen, er kunden eksponeret over for tilsynsmyndighedens reaktioner i medfør af databeskyttelsesloven og GDPR.

Ubegrænset ansvar. En leverandør, der ikke har aftalt en ansvarsbegrænsning, kan i princippet stå over for erstatningskrav, der langt overstiger projektets værdi. Rimelige begrænsninger er normale i branchen — men de skal stå i kontrakten og må ikke fremstå urimeligt indgribende, jf. aftalelovens § 36.

Ingen plan for ændringer. Softwareprojekter udvikler sig undervejs. En changemanagement-klausul, der fastlægger proceduren for ændringer i scope, pris og tidsplan, forebygger misforståelser, der ellers let fører til nag og tvist.

En velskrevet udviklingskontrakt er ikke bureaukrati — det er grundlaget for et velfungerende samarbejde, der beskytter begge parter og giver projektet de bedste forudsætninger for at lykkes.

Need the document itself? Download the free template →

This article is general information, not legal advice — see our accuracy & editorial policy. Confirm the cited law is current before relying on it.

More legal guides