Gå til indhold

Vores GPS-sporingsplatform kører nu i Odoo 19 – egenudvikling, nyintegreret

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

I mange år har vi drevet en egen GPS-sporingsplatform for vores kunder: Køretøjer og enheder melder deres position til vores trackingserver, kunderne ser deres vognpark live på kortet, fører kørebøger, definerer geozoner og får besked ved alarmer. Brugerfladen hertil var et organisk vokset PHP-program med egen brugeradministration, egen fakturering og egen rapportering – parallelt med alt det, vi ellers anvender 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, hvor også kunder, kontrakter, fakturaer og support kører. For vores sporingskunder betyder det: ét login, én brugerflade, og sporingsfakturaen ligger dér, hvor alle andre fakturaer også ligger.

Hvorfor vi har hentet sporingen ind i Odoo

To adskilte systemer betyder dobbelte stamdata. Hver kunde fandtes én gang i sporingen og én gang i ERP-systemet, hver adresseændring skulle foretages to gange, og sporingens faktureringskørsel frembragte bilag, som derefter manuelt vandrede over i bogføringen.

Med flytningen til Odoo gælder nu et enkelt grundprincip: Stamdata i Odoo, massedata udenfor. Kunder, brugere, tracker, grupper, geozoner, produkter og priser ligger i Odoo og er dér forbundet med regnskab, portal og rettighedsstyring. Positionsdataene – enhedernes egentlige datastrøm, døgnet rundt – forbliver i et eget positionslager. En ERP-database er ikke det rette sted for millioner af GPS-punkter, og den behøver ikke at være det.

Trackingserveren, der modtager enhederne, er upåvirket af omstillingen. Netop det har overhovedet gjort ombygningen realistisk: Brugerfladen kunne opstå på ny uden at røre ved datamodtagelsen.

Hvad vores kunder nu har i portalen

Sporingskunder logger på Odoo-kundeportalen og finder dér området Ortung. Den, der udelukkende bruger sporingen, lander efter login direkte på kortet og ser ikke yderligere portalindhold.

Live-kort

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, den officielle østrigske basemap inklusive luftfoto og et sort-hvidt kort; terræn og 3D-bygninger kan tilføjes som lag. Den visning, som kortet åbner med – korttype, udsnit, standardgruppe – husker Odoo pr. bruger.

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


Kørebog med erhvervs- og privatkørsel

Ture registreres på serveren, ikke i browseren: En tur finder sted, også selvom ingen har kortet åbent. Start, slut, start- og destinationsadresse, kilometerstand, strækning og varighed registreres for hver tur.

Hver tur kan klassificeres som erhvervskørsel eller privatkørsel – pr. tur, ikke pr. køretøj, fordi den samme bil om formiddagen kører til kunden og om aftenen hjem, og skellet er skattemæssigt relevant i Østrig. Ved turens start vises direkte på kortet vinduet til klassificering; den, der gør det senere, finder turen igen i kørebogen med et notefelt. Førere genkendes via iButton-nøglechips, hvis køretøjet er udstyret dermed.

To analyser står klar, begge som PDF og Excel:

  • Enkeltkørebog – et køretøjs 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, offline – optræder som egne poster i Odoo med tidspunkt, position og behandlingsstatus.


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

Der kommer en bøde, målestedet står på den – men hvilket køretøj var det? Søgningen i rutehistorikken besvarer netop det: Vælg et punkt på kortet eller en adresse, afgræns omkreds og periode, og sporingen viser, hvilke køretøjer der var der. Hastighedsmålestederne fra OpenStreetMap ligger allerede til dette formål som lag på kortet.

Administration udført af kunden selv

Det, der tidligere skulle delegeres til os, klarer kunderne nu i portalen:

  • Aktivér tracker – indtast IMEI fra enhedens mærkat, vælg gruppe eller opret en ny, færdig
  • Tracker og grupper – betegnelser, symboler, gruppetilknytning, optankninger med mængde og pris, analyser pr. køretøj
  • Rettigheder – del køretøjer med andre brugere eller virksomheder, med læse- eller skriveret og mulighed for at skjule enkelte felter som adresse eller kilometerstand
  • Geozoner – tegn, redigér, fastlæg alarmering
  • iButtons – tilknyt nøglechips til førernes navne

Hvad der har ændret sig internt hos os

I Odoo-backend findes området Ortung med live-kort, trackeradministration, alarmer, ture, stamdata (grupper, geozoner, enhedstyper, producenter) og fakturering.

Trackeradministration. Hver enhed bærer IMEI, SIM-telefonnummer, enhedstype, ind- og udgange (tænding, motorspærre, standvarmer og flere), kalibrering, kilometertællerkorrektion, offline-tærskel og kørebogsparametrene. Odoos chatter-historik logger hver ændring.

SMS til enheder. Trackere konfigureres via SMS. Afsendelsen sker nu fra Odoo, logges uden huller og er sikret mod fejlbetjening: En øvre grænse pr. afsendelsesforløb forhindrer, at ét klik udløser hundredvis af betalingsbelagte beskeder, og ufuldstændige telefonnumre overdrages slet ikke.

Callcenter. Tyveri- og ulykkesmeldinger optræder som sager med køretøjsdata, ejerens kontaktdata og et guidet forløb: Ejer kontaktet? Falsk alarm? Yderligere foranstaltninger? Hvert trin logges, og de ansvarlige sagsbehandlere underrettes via push.

Fakturering. Faktureringskørslen tager højde for alle trackere, hvis næste faktureringstidspunkt er nået, og frembringer heraf fakturakladder i Odoo – med slutkunde- eller partnerpris. Godkendelsen forbliver bevidst hos bogholderiet: Kørslen bogfører intet, den forbereder. Faktureringsinterval, produkt og næste tidspunkt hænger på trackeren; efter kørslen står fakturalinjerne direkte på enheden.

Arkitekturen bag

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

Adgangen til positioner sker udelukkende via en udskiftelig grænseflade. I dag læser Odoo fra den eksisterende sporingsdatabase, som trackingserveren uændret fortsætter med at fylde. Overgangen til en egen PostGIS-server er dermed en konfigurationsændring, ikke en ombygning – rumlige analyser som geozonekontroller regner PostGIS så selv. Til udvikling og undervisning findes desuden et demolager med syntetiske data, hvormed modulet også kører uden trackingserver.

Adresser opløses via en egen geocoder og mellemlagres i Odoo, afrundet til cirka elleve meter: Et holdende køretøj opløses ikke på ny ved hver GPS-støj, og kortet hænger ikke på svartiden fra en ekstern tjeneste.

Hvordan omstillingen forløb

Vi omstillede ikke i ét hug, men stykke for stykke efter strangler-mønstret: Det gamle system forblev kørende, en reverse proxy afgjorde pr. sti, hvem der svarer, og det nye kort kørte først for en pilotgruppe i parallel drift ved siden af det gamle.

Overtagelsen af stamdataene var dermed den sarteste del. Et migreringsscript læser kunder, brugere, trackere, grupper og geozoner fra det gamle program og opretter dem i Odoo – gentageligt som delta-kørsel, med den gamle identifikator som nøgle. Fordi mange sporingskunder for længst fandtes i Odoo som partnere, foreslår en guide tilknytninger, som skal bekræftes enkeltvis: En forkert forbundet virksomhed ville få fremmede køretøjer at se, og det er dyrere end en dublet.

Hvad der bevidst ikke blev overført: den dobbelte kodebase til desktop og mobil (Odoo-frontenden er responsiv), den egne oversættelsestabel, den egne rettigheds- og sessionshåndtering og et pænt dusin rapporter, som i praksis ingen længere åbnede.

Hvad det betyder for Dem som kunde

Hvis De er sporingskunde hos os, har De allerede modtaget Deres portaladgang eller modtager den i løbet af de kommende uger. Deres køretøjer, grupper, geozoner og rettigheder er overtaget; kørebogen kører problemfrit videre.

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.