To systemer forbundet af et enkelt integrationsrør med en kø af datapakker ved en flaskehals

Kort fortalt

Byg-delen af en integration mellem to systemer lander på 32.000–172.000 kr. ved markedets timepris på 700–1.400 kr. Den lige vej — hent data, send data — er cirka en tredjedel af arbejdet; fejlhåndtering, retry, logning og test med rigtige data er resten, og det er dér estimaterne skrider. Står din kobling på listen over almindelige, så prøv en færdig connector til 149–699 kr. om måneden først. Egen kode er svaret når datamodellen er din egen, når du skal kunne dokumentere hvad der skete med en bestemt ordre, eller når volumen og timing er særlig. Kræv tre ting på skrift inden byggestart: feltkortlægningen, hvem der ejer sandheden når systemerne er uenige, og hvem der betaler den dag det andet systems API ændrer sig.

En integration mellem to forretningssystemer koster typisk 32.000–172.000 kr. at bygge og 700–5.600 kr. om måneden at holde i luften, hvis den skal kunne fejle uden at nogen opdager det for sent. Spændet er ikke usikkerhed om timeprisen — det er forskellen på en integration der kun kan den lige vej, og en der også kan den skæve. Færdige connectorer til de almindelige koblinger starter ved 149 kr. om måneden, og de holder lige indtil dine data ikke ser ud som nogen havde regnet med.

Hvad du betaler for, fase for fase

Næsten alle tilbud på en integration er prissat på den lige vej: hent en ordre her, opret den der, færdig. Det er den del der er sjov at demonstrere, og det er cirka en tredjedel af arbejdet. Resten er det som afgør om du nogensinde skal røre den igen.

Her er faserne med timetal fra integrationer mellem to velkendte systemer — en webshop og et økonomisystem, et CRM og en faktureringsmotor. Priserne er regnet på markedets timepris for en erfaren udvikler eller et mindre bureau, 700–1.400 kr. i timen.

FaseTimerPris ved 700–1.400 kr./tHvad der ligger i den
Afklaring og kontrakt4–102.800–14.000 kr.Hvilke felter, hvilken retning, hvor ofte, hvem ejer sandheden når de to systemer er uenige
Adgang og feltkortlægning6–154.200–21.000 kr.API-nøgler, testmiljø, kortlægning af felt til felt inklusive enheder, moms og afrunding
Byg, den lige vej15–4010.500–56.000 kr.Selve overførslen når alt ser ud som aftalt
Fejlhåndtering og retry10–307.000–42.000 kr.Hvad der sker ved timeout, 429, dublet, manglende vare, halvt gennemført overførsel
Test med rigtige data8–205.600–28.000 kr.Kørsel på en kopi af din egen ordrehistorik, ikke på tre pæne testordrer
Overlevering og dokumentation3–82.100–11.200 kr.Hvor logfilen ligger, hvordan man kører en enkelt ordre igennem igen, hvem der ringes til
I alt46–12332.000–172.000 kr.Plus drift: 1–4 timer om måneden til overvågning og småfejl, 700–5.600 kr./md.

Det spænd er ikke usikkerhed om timeprisen. Det er forskellen på en integration der kun kan den lige vej, og en der også kan den skæve. Får du et tilbud der ligger under 30.000 kr., så er fase fire og fem som regel ikke med — de bliver bare faktureret senere, under et andet navn.

Timer pr. fase i en systemintegration Vandrette søjler for seks faser. Den mørke del er det lave estimat, den orange del er forskellen op til det høje. Afklaring og kontrakt 4 til 10 timer. Adgang og feltkortlægning 6 til 15 timer. Byg af den lige vej 15 til 40 timer. Fejlhåndtering og retry 10 til 30 timer. Test med rigtige data 8 til 20 timer. Overlevering og dokumentation 3 til 8 timer. Timer pr. fase — og hvor spændet ligger Mørk = lavt estimat. Orange = det der kommer oven i, når data ikke opfører sig. Afklaring og kontrakt 4–10 t Adgang og feltkortlægning 6–15 t Byg, den lige vej 15–40 t Fejlhåndtering og retry 10–30 t Test med rigtige data 8–20 t Overlevering og dokumentation 3–8 t 0 10 20 30 40 timer Lavt estimat Op til højt estimat
Byg af den lige vej er den største enkeltpost, men fejlhåndtering og test lægger tilsammen 18–50 timer oven i. Det er den del tilbud oftest mangler.

Timepriser i markedet lige nu

Danske timepriser på integrationsarbejde ligger i et bredt bånd. Scale Soft tager 845–895 kr. for .NET-webudvikling og 1.095–1.295 kr. for konsulentbistand, alt ekskl. moms. Tiblo sætter et tag på 450 kr. i timen for systemintegrationer og arbejder helst til fast pris. Og for et mellemstort system med én integration, brugerroller og flere moduler er 150.000–500.000 kr. det interval man skal regne med.

Den lave timepris er ikke altid den billige. En integration på 450 kr. i timen, der tager 120 timer fordi feltkortlægningen blev lavet undervejs, koster 54.000 kr. En på 1.200 kr. i timen, der tager 45 timer fordi afklaringen var på skrift først, koster 54.000 kr. Forskellen er hvad du har bagefter: dokumentation, logning og en pris du kan regne på næste gang. Det er samme regnestykke som når du vælger mellem et webbureau og en solo-bygger — du betaler ikke for timer, du betaler for at nogen har set problemet før.

Hvor integrationer går galt

Det andet systems API har en grænse, og den er ikke din

Det klassiske er førstegangsimporten. Du skal have ordrehistorikken over, og pludselig er det ikke et kodeproblem men et takstproblem. E-conomics offentlige API bruger en token-model: cirka 2.000 tokens i buffer og cirka 30 tokens i genopfyldning pr. sekund, hvor et kald koster 1, 5 eller 13 tokens alt efter hvad det gør. Når bufferen er tom, får du HTTP 429 og en Retry-After-header.

Regn på det: 4.000 historiske ordrer, hvor hver ordre koster 5 tokens, er 20.000 tokens. Bufferen dækker de første 400 kald. Resten skal vente på genopfyldning — omkring elleve minutter ren ventetid, hvis du gør det pænt. Gør du det ikke pænt, hamrer du mod 429 i en løkke og mister halvdelen af ordrerne uden at vide hvilke. Det er ikke en fejl i API'et. Det er en fase der ikke var prissat.

Datamodellerne passer aldrig helt

Én kunde i webshoppen er tit to records i økonomisystemet: en debitor og en kontaktperson. En vare med variant er ét varenummer i det ene system og tre i det andet. Moms på et EU-salg til en privatperson regnes et sted, men ikke det andet. Afrunding på øre giver en difference på 0,02 kr., som bogholderen finder, og som koster tre timer at opspore. Ingen af de ting dukker op i en demo. De dukker op i måned to.

Ingen ejer fejlen klokken to om natten

En integration kører typisk som et planlagt job. Når den fejler, fejler den stille. Spørgsmålet du skal kunne svare på inden byggestart er: hvem får beskeden, hvor hurtigt, og hvad er aftalen om rettelse. Hvis svaret er "så ser vi på det", så er driften ikke købt, uanset hvad der står i tilbuddet.

Færdig connector eller egen kode

For de almindelige koblinger — webshop til økonomisystem, betalingsgateway til bogholderi — findes der færdige connectorer, og de er billige nok til at man skal prøve dem først. Pairy ligger på 149 kr. om måneden for op til 50 ordrer, 349 kr. for op til 500 og 699 kr. for op til 3.000. Samme kilde opgør markedet for integrationsplatforme til 150–700 kr./md. i standardklassen og 5.000–20.000 kr./md. i enterprise, med opsætning fra 0–2.000 kr. i den lette ende og 30.000–150.000 kr. i den tunge.

Et abonnement på 349 kr./md. er 4.188 kr. om året. Selv den billigste egenudviklede integration tager fem til ti år at tjene hjem mod det — hvis connectoren faktisk kan det du skal have. Egen kode er svaret når et af de her tre er sandt:

  • Datamodellen er din egen. Kundespecifikke priser, projektnumre, godkendelsesflow — det er præcis det en standardconnector ikke har felter til. Det er også hvorfor en B2B-webshop næsten altid ender med kode.
  • Du skal kunne dokumentere hvad der skete. Revision, garantisager, prisreklamationer. Hvis du skal kunne fremvise forløbet for ordre 40219, skal du eje logningen.
  • Volumen eller timing er særlig. Flere tusinde linjer i døgnet, eller en overførsel der skal være færdig inden en bestemt natlig kørsel i det andet system.

Hvad du skal have på skrift inden byggestart

Det her er den billigste del af projektet og den der flytter mest. Fem punkter, én side:

  • Feltkortlægningen. Hvert felt, hver retning, hver enhed. Ikke "ordredata overføres".
  • Hvem ejer sandheden. Når lageret siger 3 og webshoppen siger 5, hvem vinder, og hvad sker der med den ordre der lige kom ind.
  • Fejlaftalen. Hvem får alarmen, hvor hurtigt der svares, og om rettelser er inkluderet eller faktureres.
  • Adgange og ejerskab. API-nøglerne skal stå i dit navn, ikke leverandørens. Koden og dokumentationen skal ligge i et repo du har adgang til.
  • Hvem betaler når API'et ændrer sig. Det andet system opdaterer sin API uden at spørge dig. Det kommer. Aftal prisen for den dag nu, ikke når den er der.

Er du i tvivl om du har brug for en integration eller en ny platform, så er det samme type beslutning som nyt website mod optimering: det billige er næsten altid at lappe det der virker, lige indtil det ikke er.

Begynd med feltkortlægningen. Skriv de felter ned du tror du har brug for, i hvilken retning de skal gå, og hvem der ejer sandheden når de to systemer er uenige. Det er fase ét i tabellen ovenfor, og den øvelse alene gør de tilbud du får bagefter sammenlignelige, fordi der ikke længere er noget at gætte på.

Vil du have afklaringen gjort ordentligt, laver jeg den som et afgrænset stykke med fast pris: feltkortlægning, fejlscenarier og et estimat opdelt i de faser du kan sige nej til hver for sig. Du ejer dokumentet bagefter, også hvis du får integrationen bygget et andet sted. Se hvad jeg laver, eller skriv hvilke to systemer det handler om, og hvad der skal flytte sig mellem dem.