Gå til indhold

Vores GPS-sporingsplatform kører nu i Odoo 19 – egenudviklet og nyintegreret

18. september 2026 af
Vores GPS-sporingsplatform kører nu i Odoo 19 – egenudviklet og nyintegreret
Alexander Biringer | Biricon IT Services GmbH

Vi har i mange år drevet vores egen GPS-sporingsplatform for vores kunder: Køretøjer og enheder sender deres position til vores trackingserver, kunderne ser deres flåde live på kortet, fører kørebøger, definerer geozoner og får besked ved alarmer. Brugerfladen var en PHP-applikation, der var vokset gennem årene, med egen brugerstyring, egen fakturering og egne rapporter – sideløbende med alle de øvrige systemer, vi bruger i virksomheden.

Det har vi nu ændret. Sporingen er fra nu af et modul i vores Odoo 19 Community og dermed en del af det samme system som kunder, aftaler, fakturaer og support. For vores sporingskunder betyder det ét login, én brugerflade, og at fakturaen for sporingen ligger samme sted som alle de andre fakturaer.

Hvorfor vi flyttede sporingen ind i Odoo

To separate systemer betyder dobbelte stamdata. Hver kunde var oprettet både i sporingssystemet og i ERP-systemet, hver adresseændring skulle foretages to gange, og fakturakørslen for sporingen genererede bilag, som derefter skulle overføres manuelt til bogføringen.

Med flytningen til Odoo følger vi nu et enkelt princip: Stamdata i Odoo, store datamængder udenfor. Kunder, brugere, trackere, grupper, geozoner, produkter og priser ligger i Odoo og er her knyttet til regnskab, portal og rettighedsstyring. Positionsdataene – selve datastrømmen fra enhederne døgnet rundt – bliver i et separat positionslager. En ERP-database er ikke det rette sted til millioner af GPS-punkter, og det behøver den heller ikke at være.

Trackingserveren, der modtager data fra enhederne, er ikke berørt af omlægningen. Netop det gjorde overhovedet ombygningen realistisk: Brugerfladen kunne bygges på ny uden at ændre på datamodtagelsen.

Hvad vores kunder nu har adgang til i portalen

Sporingskunder logger ind på Odoos kundeportal og finder området Sporing. Kunder, der udelukkende bruger sporingen, kommer direkte til kortet efter login og ser ikke andet indhold i portalen.

Livekort

Kortet viser alle egne og delte køretøjer med status (i bevægelse, holder stille, offline), hastighed, kørselsretning og opløst adresse. Positioner kommer i realtid via en WebSocket-forbindelse til trackingserveren – én eneste forbindelse for hele installationen, ikke én pr. åbnet browser – og distribueres filtreret: Hver kunde får kun de køretøjer, der tilhører vedkommende eller er delt med vedkommende. Køretøjer bevæger sig flydende mellem to meldinger i stedet for at springe.

Som baggrundskort kan man vælge mellem OpenStreetMap, et terrænkort, det officielle østrigske Basemap med luftfotos og et sort-hvidt kort. Terræn og 3D-bygninger kan slås til som lag. Odoo husker for hver bruger, hvordan kortet skal åbne – korttype, kortudsnit og standardgruppe.

Kørebog Biricon - GPSSpot
Kørebog Biricon - GPSSpot


Kørebog med erhvervskørsel og privatkørsel

Køreture registreres på serveren, ikke i browseren: En tur registreres også, når ingen har kortet åbent. For hver tur gemmes begyndelse, afslutning, start- og destinationsadresse, kilometerstand, distance og varighed.

Hver tur kan klassificeres som erhvervskørsel eller privatkørsel – pr. tur, ikke pr. køretøj, fordi den samme bil kører ud til kunden om formiddagen og hjem om aftenen, og fordi skellet har skattemæssig betydning i Østrig. Når turen starter, vises klassificeringsvinduet direkte på kortet. Vil man gøre det senere, finder man turen i kørebogen sammen med et notefelt. Føreren identificeres via iButton-nøglebrikker, hvis køretøjet er udstyret med dem.

Der er to rapporter, begge som PDF og Excel:

  • Kørebog for ét køretøj – køretøjets ture i den valgte periode med rute, klassificering og note
  • Vognparkskørebog – én linje pr. køretøj med køretid, strækning, opdelingen i erhvervs- og privatkilometer og det fremregnede forbrug, dertil gruppe- og totalsummer


 

Geozoner og alarmer

Geozoner tegnes direkte på kortet – som cirkel, kvadrat eller frit polygon – eller overtages fra fælles skabeloner som »Østrig« eller »Wien«. For hver zone og hvert køretøj kan man fastlægge, om der alarmeres ved ind- eller udgang, og hvortil: pr. SMS, e-mail, webhook eller som melding til vores callcenter.

Alarmer – zoneskift, hastighed, tænding, spændingstab, nødopkald, bevægelse og offline – oprettes som selvstændige poster i Odoo med tidspunkt, position og behandlingsstatus.


Søgning: Hvilket køretøj var her?

Der kommer en fartbøde, og målestedet står på den – men hvilket køretøj var det? Søgningen i rutehistorikken giver svaret: Vælg et punkt på kortet eller en adresse, afgræns radius og tidsrum, og sporingssystemet viser, hvilke køretøjer der har været der. Hastighedskontrollerne fra OpenStreetMap findes allerede som et lag på kortet til det formål.

Kunderne administrerer selv

Det, kunderne tidligere måtte overlade til os, klarer de nu selv i portalen:

  • Aktivér trackere – indtast IMEI fra enhedens mærkat, vælg eller opret en gruppe, og så er det klaret
  • Trackere og grupper – navne, symboler, gruppetilknytning, tankninger med mængde og pris samt rapporter pr. køretøj
  • Rettigheder – giv andre brugere eller virksomheder adgang til køretøjer med læse- eller skriverettigheder og mulighed for at skjule enkelte felter som adresse eller kilometerstand
  • Geozoner – tegn, redigér og indstil alarmer
  • iButtons – knyt nøglebrikker til førernes navne

Hvad der har ændret sig internt hos os

I Odoos backend findes området Sporing med livekort, trackeradministration, alarmer, køreture, stamdata (grupper, geozoner, enhedstyper, producenter) og fakturering.

Trackeradministration. For hver enhed registreres IMEI, SIM-telefonnummer, enhedstype, ind- og udgange (tænding, motorspærring, parkeringsvarmer m.m.), kalibrering, korrektion af kilometerstand, grænse for offlinestatus og kørebogsparametre. Odoos Chatter-historik logger hver ændring.

SMS til enheder. Trackere konfigureres via SMS. Beskederne sendes nu fra Odoo, hvor alle afsendelser logges, og der er indbygget beskyttelse mod fejlbetjening: En øvre grænse pr. afsendelse forhindrer, at ét klik udløser hundredvis af betalingspligtige beskeder, og ufuldstændige telefonnumre sendes slet ikke videre.

Callcenter. Tyveri- og ulykkesmeldinger vises som sager med køretøjsdata, ejerens kontaktoplysninger og et guidet forløb: Har vi fået fat i ejeren? Falsk alarm? Yderligere tiltag? Hvert trin logges, og de ansvarlige sagsbehandlere får pushbeskeder.

Fakturering. Fakturakørslen medtager alle trackere, hvor næste faktureringsdato er nået, og opretter fakturakladder i Odoo med slutkunde- eller partnerpris. Godkendelsen ligger bevidst stadig hos bogholderiet: Kørslen bogfører ikke noget, men klargør fakturaerne. Faktureringsinterval, produkt og næste dato er knyttet til trackeren. Efter kørslen kan fakturalinjerne ses direkte på enheden.

Arkitekturen bag

GPS-enheder
    │
    ▼
Trackingserver ──► Positionslager              Odoo 19 Community
(uændret)          i dag: eksisterende           ├─ Stamdata (trackere, kunder, geozoner)
                         database               ├─ Kundeportal /my/ortung
                   senere: PostGIS              ├─ Backend Sporing / …
                                  ▲             ├─ Fakturering (fakturakladder)
                                  └── kun læsning ─┘

Adgang til positioner sker udelukkende via en udskiftelig grænseflade. I dag læser Odoo fra den eksisterende sporingsdatabase, som trackingserveren fortsætter med at skrive til som hidtil. Skiftet til en separat PostGIS-server bliver dermed en konfigurationsændring frem for en ombygning – geografiske beregninger som kontrol af geozoner udføres så af PostGIS selv. Til udvikling og oplæring findes der desuden et demolager med syntetiske data, så modulet også kan køre uden en trackingserver.

Adresser slås op via vores egen geokodningstjeneste og caches i Odoo med positionerne afrundet til cirka elleve meter: Et stillestående køretøj udløser ikke et nyt adresseopslag ved hver GPS-forstyrrelse, og kortet er ikke afhængigt af svartiden fra en ekstern tjeneste.

Sådan foregik omlægningen

Vi lagde ikke det hele om på én gang, men trin for trin efter Strangler-mønstret: Det gamle system blev ved med at køre, en reverse proxy afgjorde ud fra stien, hvilket system der skulle svare, og det nye kort kørte i første omgang parallelt med det gamle for en pilotgruppe.

Overførslen af stamdata var den mest følsomme del. Et migreringsscript læser kunder, brugere, trackere, grupper og geozoner fra den gamle applikation og opretter dem i Odoo – og kan køres igen for kun at overføre ændringer med det gamle id som nøgle. Da mange sporingskunder allerede fandtes som partnere i Odoo, foreslår en guide sammenkædninger, som skal bekræftes enkeltvis: En forkert sammenkædet virksomhed ville få adgang til andre virksomheders køretøjer, og det er dyrere end en dublet.

Vi lod bevidst følgende blive tilbage: den dobbelte kodebase til desktop og mobil (Odoos frontend er responsiv), vores egen oversættelsestabel, vores egen rettigheds- og sessionsstyring og godt et dusin rapporter, som ingen længere åbnede i praksis.

Hvad det betyder for dig som kunde

Hvis du er sporingskunde hos os, har du allerede fået adgang til portalen eller får det i løbet af de kommende uger. Dine køretøjer, grupper, geozoner og rettigheder er overført, og kørebogen fortsætter uden afbrydelse.

De finder Deres sporing, Deres fakturaer og Deres supporthenvendelser i én portal. Og hvis De vil mere end sporing – helpdesk, vedligeholdelsesaftaler, projektfakturering – er det det samme system.

Vi besvarer gerne spørgsmål om omstillingen. Og den, der til sin egen virksomhed søger en køretøjssporing, der er forbundet med ERP-systemet i stedet for at stå ved siden af det: Kontakt os.