--- title: API Integrasjoner date: 2024-04-16T13:00:00Z --- Martin | API Prosjekt
API-integrasjon

Internfakturering API

API-integrasjon mellom SmartDok og Visma Business for automatisert internfakturering

Ferdig mars 2025 Team: Selvstendig Varighet: 8 uker

Prosjektoversikt

Dette prosjektet ble utviklet for en bedriftskunde som trengte å automatisere og forenkle sitt internfaktureringssystem. Tidligere måtte prosjektledere manuelt opprette og sende fakturaer mellom prosjekter, noe som var tidkrevende og førte til feil.

Jeg utviklet en komplett løsning som kobler sammen to viktige systemer: SmartDok (som brukes til timeføring og prosjektadministrasjon) og Visma Business (regnskapssystemet). Løsningen gjør det enkelt for prosjektledere å fakturere mellom prosjekter med et par klikk, samtidig som prosessen blir mer transparent og feilfri.

Teknologier

Python Flask RESTful API MongoDB JavaScript Bootstrap Visma Business SmartDok API

Utfordringen

Internfakturering mellom prosjekter var en tidkrevende og kompleks prosess. Prosjektledere måtte manuelt opprette fakturaer i Visma Business, noe som krevde spesialkunnskap om regnskapssystemet, ga rom for feil, og forsinket ofte bokføringen. Utfordringene inkluderte:

Tidkrevende Prosess

Prosjektledere brukte flere timer i uken på å administrere internfakturering, tid som kunne blitt brukt på prosjektledelse.

Feilmarginer

Manuelle prosesser førte til feilregistreringer, dobbeltregistreringer, og beløp som gikk til feil prosjekter.

Manglende Synkronisering

Data fra SmartDok og Visma Business var ikke synkronisert, noe som førte til inkonsistenser mellom systemene.

Manglende Sporbarhet

Det var vanskelig å spore hvem som hadde gjort hva, og å sørge for at riktige personer ble varslet om belastninger.

Løsningen

Jeg utviklet en skreddersydd API-integrasjonsløsning som automatiserer hele internfaktureringsprosessen. Den kobler sammen SmartDok og Visma Business gjennom et intuitivt brukergrensesnitt som gjør det enkelt for alle ansatte å bruke systemet, uavhengig av regnskapskunnskap.

Systemdiagram for internfakturering

Systemarkitektur og dataflyt mellom SmartDok, API-løsningen og Visma Business

Hvordan systemet fungerer

1

Prosjektdata hentes

API-et kobler seg til SmartDok via deres REST API og henter oppdatert prosjektinformasjon, inkludert prosjektnummer, navn og ansvarlige personer.

2

Brukervennlig skjema

Brukeren fyller ut et enkelt nettbasert skjema der de velger fra-prosjekt, til-prosjekt, eventuelle underprosjekter, beløp og om det er en vanlig faktura eller kreditnota.

3

Automatisk prosessering

Systemet genererer automatisk korrekte fakturadata i Visma-format med riktige kontonummer, momshåndtering og referanser, og tildeler unike bilagssekvenser fra MongoDB.

4

Eksport og varsling

Fakturaen eksporteres som tekstfil eller PDF, klar for import i Visma Business. Samtidig sendes automatiske e-postnotifikasjoner til involverte parter.

Teknisk implementasjon

Når jeg bygget denne løsningen, fokuserte jeg på å lage et system som var både robust, sikkert og enkelt å vedlikeholde:

Backend: Jeg valgte Python med Flask som rammeverk for å bygge REST API-et. Dette ga meg fleksibilitet og mulighet til å implementere asynkrone kall til SmartDok API-et. MongoDB ble brukt for å lagre sekvensnummer for bilag, som sikrer at hvert bilag får et unikt nummer innenfor et spesifisert intervall.

Frontend: Brukergrensesnittet er bygget med vanilla JavaScript, HTML og Bootstrap for responsivt design. Jeg la vekt på en ren og intuitiv brukeropplevelse med sanntidsvalidering og tydelig tilbakemelding.

Integrasjoner: Løsningen integrerer med SmartDok via deres RESTful API for å hente prosjektdata. For Visma Business implementerte jeg en spesialisert eksportmodul som genererer tekstfiler i eksakt det formatet Visma forventer for import, med spesifikke kolonner, bilagsnummer og kontostrukturer.

Sikkerhet: All kommunikasjon er kryptert med HTTPS, og API-nøkler og passord er lagret i miljøvariabler for å unngå hardkoding av sensitiv informasjon. Systemet validerer også alle inputs for å forhindre injeksjonsangrep.

Brukergrensesnitt

Jeg designet et enkelt og intuitivt brukergrensesnitt som gjør det lett for prosjektledere å opprette internfakturaer. Det inneholder dynamiske nedtrekksmenyer for prosjekter og underprosjekter som oppdateres i sanntid.

Brukergrensesnitt for internfakturering

Skjermbilde av det brukervennlige internfaktureringsgrensesnittet

Resultater og verdi

Implementasjonen av denne API-integrasjonen ga umiddelbare og målbare resultater for kunden:

Tidsbesparelse

Reduserte tiden brukt på internfakturering med 85%, tilsvarende ca. 15-20 timer per måned for regnskapsavdelingen.

Færre Feil

Eliminerte manuelle registreringsfeil, som tidligere utgjorde opptil 12% av alle internfakturaer og krevde flere timer med feilsøking.

Forbedret Likviditetsstyring

Raskere registrering førte til mer oppdatert regnskapsinformasjon, som igjen bidro til bedre økonomistyring for prosjektene.

Høyere Sikkerhet

Reduserte manuelle tilganger til Visma Business, noe som minimerte tilgangsrisiko og forbedret sikkerhetskontroll.

Læringsutbytte

Dette prosjektet ga meg verdifull erfaring med:

  • Integrasjon mellom ulike forretningssystemer via API-er, spesielt SmartDok og Visma Business
  • Utvikling av robuste backend-løsninger med Python og Flask
  • Forretningslogikk for økonomisystemer og forståelse av kontostrukturer
  • Håndtering av sekvensielle nummerserier med MongoDB
  • Bygging av intuitive brukergrensesnitt for enkelt vedlikehold
  • Automatisering av forretningsprosesser som tidligere var manuelle

En av de viktigste lærdommene var viktigheten av å forstå kundens forretningsprosesser i detalj før man begynner utviklingen. Ved å bruke tid på å kartlegge nøyaktig hvordan internfaktureringen fungerte, kunne jeg bygge en løsning som var skreddersydd for deres behov.

Interessert i lignende integrasjonsprosjekter?

Ta kontakt om du ønsker å diskutere hvordan API-integrasjoner kan effektivisere arbeidsprosessene i din virksomhet.