utvikling

Da konkurrentenes web-baserte systemer tok av, måtte utviklerne i det norske selskapet tenke helt nytt

– Vi har laget verdens første «Headless ERP»-system, hevder Uni Micros salgsdirektør.

Sverre Senneset, salgsdirektør i Uni Micro.
Sverre Senneset, salgsdirektør i Uni Micro.

Mens det tidligere var en jungel av små og mellomstore aktører i Norge som lagde regnskapsprogrammer, er det nå bare noen få igjen – med giganten Visma som markedslederen. Selskapet Uni Micro har imidlertid holdt koken helt siden 1986 og lever fortsatt i beste velgående. Men de siste årene har de innsett at de må tenke helt nytt hvis de skal klare å henge med også i fremtiden.

Uni Micro

Utvikler økonomi-/ERP-systemer. Etablert i 1986 av Hans Jørgen Neset.

Hovedkontor i Norges nest minste kommune, Modalen utenfor Bergen. Selskapet har også kontorer i Bergen, Oslo, Trondheim, Haugesund, Stavanger, Bodø og Molde. Totalt er det rundt 110 ansatte, hvorav omtrent 30 er utviklere. De fleste av utviklerne sitter i Haugesund.

Omsetningen vil ende på rundt 130 millioner kroner i 2019, følge selskapet.

For å møte den nye konkurransen fra web-baserte økonomiløsninger valgte Uni Micro å bygge en helt ny løsning fra bunnen av – og de har valgt en ganske utradisjonell løsning inspirert av såkalte «headless CMS»-systemer.

Dette er publiseringsløsninger der man har en backend-løsning for administrasjon av innhold, og så står tredjeparts utviklere fritt til å bygge sin egen frontend og hente data fra backendløsningen via API-er.

På samme måte har Uni Micro de siste årene jobbet på spreng med det de kaller en «headless ERP»-løsning, der man i stedet for å bygge en ny økonomi-/ERP-applikasjon hvor frontend og backend er tett integrert, har brukt mye av utviklingsressursene på å lage et kraftig API og robuste backend-løsninger.

Selskapets gamle økonomisystem ble i en årrekke kåret til beste økonomisystem for små og mellomstore bedrifter av bladet PC World Norge, så det er en gammel suksessformel Uni Micro nå endrer på.

– Vi gjorde det veldig bra i tester, men så at vi etter hvert ville bli forbigått av web-systemene. Det ble mer og mer etterspørsel etter web-funksjonalitet, du klarer ikke å gjøre det samme fra en Windows-applikasjon, sier salgsdirektør Sverre Senneset.

– Rundt 2015-2016 begynte vi å legge om, men vi så jo hva som var på vei til å skje før det, og lagde en hybridversjon rundt 2012.

– Gründerfølelsen er tilbake igjen

Senneset forteller at den store fordelen med den nye tilnærmingen er at det vil være mye lettere å integrere økonomisystemet med andre systemer – samt at eksterne utviklere lettere kan bygge egne løsninger som tar i bruk Uni Micro på backend. Senneset kaller dette for AaaS – API as a Service.

– Vi har også laget vår egen frontend som heter Uni Economy, som er en applikasjon på toppen av backend-løsningen vi har laget, forteller Senneset.

Uni Economy er etterfølgeren til de eldre Uni Micro-applikasjonene, men altså bygget på en helt annen måte enn «legacy»-applikasjonene. I tillegg til å være et viktig satsningsområde, er applikasjonen også et slags «utstillingsvindu» som skal vise hvordan andre kan benytte Uni Micro headless ERP løsning til å bygge egne løsninger på og mot. Alle API-ene som er brukt i Uni Economy ligger derfor tilgjengelig – og godt dokumentert – på et eget nettsted som utviklere kan få tilgang til.

Skjermbilde fra det nye Uni Economy-systemet. Dette er en frontend til headless ERP-løsningen selskapet har bygget.
Skjermbilde fra det nye Uni Economy-systemet. Dette er en frontend til headless ERP-løsningen selskapet har bygget.

Til tross for 33 års erfaring med utvikling av økonomisystemer, opplevde selskapet at utviklingen av den nye web-baserte Uni Economy-løsningen tok lenger tid enn de var vant til.

– Grunnen var at vi måtte få backenden på plass før vi kunne lage en frontend. Og backenden måtte lages på en slik måte at den skal kunne brukes til hva som helst, og det tar litt lenger tid. Men nå når backenden er blitt mer voksen, så går utviklingen av frontenden ekstremt mye lettere. Vi sender nye releaser annenhver uke nå.

– Det har vært en spennende reise. Gründerfølelsen er tilbake igjen!

Kundene kan bygge sine egne API-er

Senneset forteller at backendløsningen har kanskje så mange som flere tusen API-endepunkter, noe som ved første øyekast kan virke ganske voldsomt og uoversiktlig. Det er imidlertid en god forklaring på hvorfor det er slik: Man tilbyr nemlig ikke kun noen få statiske API-er, men lar kundene selv bygge og utvide API-ene til å dekke de behovene man har. Derfor kan kunde X ha andre API-endepunkter enn kunde Y, mens kanskje begge bruker noen av de samme standard API-ene for eksempel for autentisering. Andre eksempler kan være API for Aksesspunkt som kan sende såkalte EHF-fakturaer til hele Europa eller for rapportering til Altinn.

API-ene er bygget som tradisjonelle RESTful API-er som de har gjort tilgjengelig via egne utviklersider, slik at utviklere kan gå inn og begynne å teste koden sin etter at hun eller han har fått de nødvendige tokens for autentisering.

– Mye av poenget er at man kan utvide og dermed lage sitt eget API-bibliotek ved hjelp av egendefinerte felter og objekter som vil følge med som en del av objektmodellen, helt ut i API-rutene. For eksempel kan man lett utvide Produkt-entiteten etter bransjespesifikke behov om det trengs. Et ERP-system vil inneholde et massivt antall API-ruter, dette tar vi ansvaret for. I Uni Economy har hver entitet (forretnings-objekt), sin egen API-rute. Disse kan slåes sammen i en såkalt «expand», slik at en får eksempelvis en komplett faktura med alle sine objekter i ett kall, forklarer Senneset.

En kunde kan for eksempel sende inn hele transaksjoner til ett API-endepunkt, slik at man slipper å gjøre mange små kall til backendsystemet. Dermed er det også mulig å rulle tilbake hele transaksjoner hvis noe skulle gå galt, for eksempel ved validering av input-data.

– Hvis målet vårt hadde vært å få Uni Economy ut i mange utgaver ville vi nok lagt headless-ambisjonene en god del lavere, men det er jo mulighetene til å lage noe helt annet med verktøyene vi tilbyr som er det nyskapende, sier Senneset.

Han sier tilbakemeldingene fra eksterne utviklere er veldig gode, og at han tror det er en veldig god strategi at de selv jobber mot de samme API-ene som de tilbyr eksterne.

Hagland Finans er ett av selskapene som har benyttet seg av Uni Micros headless ERP-løsning. Med Transportkalkyle-løsningen vil transportselskaper blant annet kunne sammenligne kostnader for ulike kjøretøy og oppdrag. Foto: Uni Micro / Hagland
Hagland Finans er ett av selskapene som har benyttet seg av Uni Micros headless ERP-løsning. Med Transportkalkyle-løsningen vil transportselskaper blant annet kunne sammenligne kostnader for ulike kjøretøy og oppdrag.

Senneset sier det er viktig at plattformen skal være enkel å bruke, og enkel for utviklere å integrere med egne løsninger. Man må kanskje gjøre en litt større jobb første gang det skal settes opp, men så skal man ikke behøve å leie inn eksterne konsulenter hver gang man skal endre noe eller gjøre nye integrasjoner.

Det å kjøre en regnskapsløsning som dette i en skybasert løsning gjør at man kan bruke maskinlæring med data fra mange kunder til å la systemet blant annet sende fakturaer til riktige personer for attestering. Dette er noe de selv har bygget inn i Uni Economy-løsningen, men noe også andre kan gjøre via API-ene.

– Når du trener brukes alt som er gjort på tvers av alle klienter. Dette er «big data».

Både utviklerne og andre måtte tenke helt nytt

Som konkurrenter nevner Senneset blant andre Xero, Sage, Visma.net og Poweroffice. Han forteller at selskaper som Visma står for 60-70 prosent av oppdragsmengden i markedet i dag,

– Det er der byråene sitter og jobber, og det er det markedet som er interessant for Uni Economy.

Uni Micro har flere kunder som de nå bygger løsninger sammen med, alt fra små regnskapskunder til kunder i banksegmentet. Headless ERP-løsningen brukes på veldig mange ulike måter, avhengig av hva slags kunde det er snakk om. Ett eksempel på bruksområde kan være en kunde som utvikler en egen fakturaløsning – og så ønsker de å hekte seg på Uni Micros regnskapsmodul i stedet for å utvikle også dette selv. Et annet eksempel kan være et byrå som bruker Uni Economy til å føre regnskap for kunder, og så ved hjelp av API-ene lager et bransjesystem som gir kundene tilgang til for eksempel regnskapsrapporter.

– Hva slags betalingsmodell har dere, er det en fastpris, eller betaler man for eksempel per API-kall?

– Det er flere ulike modeller. Per i dag er det transaksjoner, eller API-kall, som er det vi kan måle på. Men i fremtiden kan vi for eksempel gi eksklusivitet til bransjer for eksempel. I dag er det egne avtaler for hver enkelt kunde. Det er også veldig stor forskjell på hvor mye man velger å bruke av vår backend.

– Hvor viktig er den nye headless ERP-løsningen deres omsetningsmessig, sammenlignet med de tradisjonelle Windows-baserte regnskapssystemene deres?

– Det er de tradisjonelle systemene vi egentlig lever av i dag. Inntektene våre kommer fra den Windows-baserte versjonen, og det er veldig viktig for oss å vise kundene at vi ikke legger ned disse – og fortsetter å videreutvikle dem. Når vi skaper ny funksjonalitet, så legger vi også inn det i Windows-versjonen.

Skjermbilde fra utvikler-/API-sidene for Uni Economy.
Skjermbilde fra utvikler-/API-sidene for Uni Economy.

– Er tanken på sikt å få alle kundene over på mer web-baserte løsninger?

– Etter noen år blir det nok slik, men vi har det ikke travelt. Målet er ikke å lage en ny versjon for å erstatte den gamle. Det er viktigere å lage en god løsning for regnskapsbyråer som kan bruke begge systemene. Og vi lager fortsatt mange integrasjoner mot de gamle systemene.

– Men målet er at på sikt skal dette bli en plattform som er enda mer universell enn den gamle.

Senneset forteller at de har dedikerte utviklere som jobber med legacy-systemene, slik at de kan sørge for at både det nye og det gamle systemet får nok oppmerksomhet. Det er imidlertid mye enklere å vedlikeholde det nye systemet, siden man bruker moderne utviklingsmetoder med mindre komponenter som er lettere å vedlikeholde.

Azure, C#, Javascript og Angular

Mens den gamle Windows-løsningen er bygget på C# og SQL, har man valgt å basere seg på Javascript-rammeverket Angular når man har utviklet Uni Economy – altså Uni Micros egen frontend til selskapets headless ERP-løsning. Senneset forteller at overgangen har vært krevende for hele organisasjonen, også for utviklerne – og at de en periode valgte å bruke mye av overskuddet til blant annet kursing i stedet for å for eksempel ta ut utbytte. Det til tross for at selskapet har god økonomi og en omsetning som har økt med mellom 14 og 18 prosent hvert år de siste 5-6 årene. Ifølge Regnskapstall.no lå omsetningen på 118,6 millioner i 2018.

– I dag bruker vi Angular 8, som er siste versjon. For mobile apper har vi blant annet brukt React Native. Men det er viktig for oss å være sylskarpe på teknologi og vi bruker en god del ressurser på å forskning i så måte. Ingenting er statisk. Det kommer stadig nye produkter på markedet og vi har lagt til rette for at det ikke nødvendigvis er vi som dikterer hvordan man velger å bygge sin applikasjon.

Når det gjelder backend-løsningen, API-ene Uni Economy og andre løsninger kobler seg opp mot, har man valgt å gå videre med C#.

– API-et er i hovedsak bygget på en Microsoft teknologi-stack, og hostes i Microsoft Azure. Vi bruker flere programmeringsspråk og teknologier, men forretningslaget er i hovedsak skrevet i C#, forklarer Senneset.

– Hvordan ivaretar dere sikkerheten i API-ene?

– Sikkerhet er noe vi jobber mye med. Vi har satt ned et eget sikkerhetsråd, og vi kjører penetrasjonstester. Vi har stor respekt for sikkerhetsaspektet, og leier også inn eksterne krefter for å bistå oss i dette arbeidet, oppsummerer Senneset.

var _mqRT = _mqRT || []; _mqRT.push(['initRT_Info', 'rtInfo-959415900', '959415900',{graph:true,finance:true,shareholders:false,roles:false}]); require(['https://www.tu.no/filer/regnskapstall.js'], function() {});

Powered by Labrador CMS