Zënter ville Joren bedreiwe mir fir eis Clienten eng eege GPS-Ortungsplattform: Gefierer an Apparater mellen hir Positioun un eise Trackingserver, Clienten gesinn hire Fuhrpark live op der Kaart, féieren Fahrtebicher, definéieren Geozonen a ginn bei Alarmer benoriichtegt. D'Uewerfläch dozou war eng gewuessen PHP-Applikatioun mat eegener Benotzerverwaltung, eegener Rechnungsstellung an eegenem Berichtswiesen – parallel zu allem, wat mir soss am Betrib asetzen.
Dat hu mir elo geännert. D'Ortung ass ab direkt e Modul an eisem Odoo 19 Community an domat Deel vum selwechte System, an dem och Clienten, Verträg, Rechnungen a Support lafen. Fir eis Ortungsclienten heescht dat: een Login, eng Uewerfläch, an d'Ortungsrechnung läit do, wou all aner Rechnungen och leien.
Firwat mir d'Ortung an Odoo geholl hunn
Zwee getrennte Systemer bedeiten duebel Stammdaten. All Client huet eemol an der Ortung an eemol am ERP existéiert, all Adressännerung huet missten zweemol gemaach ginn, an de Rechnungslaf vun der Ortung huet Belege generéiert, déi duerno vun Hand an d'Comptabilitéit gewandert sinn.
Mam Ëmzuch op Odoo gëllt elo e einfache Grondsaz: Stammdaten an Odoo, Massendaten ausserhalb. Clienten, Benotzer, Tracker, Gruppen, Geozonen, Produkter a Präisser leien an Odoo a si do mat Rechnungswiesen, Portal a Rechteverwaltung verbonnen. D'Positiounsdaten – den eigentleche Datestroum vun den Apparater, ronderëm d'Auer – bleiwen an engem eegene Positiounsspäicher. Eng ERP-Datebank ass net deen richtegen Ort fir Millioune vu GPS-Punkten, a si muss et och net sinn.
Den Trackingserver, deen d'Apparater annëmmt, ass vun der Ëmstellung onberéiert. Genau dat huet den Ëmbau iwwerhaapt eréischt realistesch gemaach: D'Uewerfläch konnt nei entstoen, ouni den Datenempfang unzefaassen.
Wat eis Clienten elo am Portal hunn
Ortungsclienten mellen sech am Odoo-Clientenportal un a fannen do de Beräich Ortung. Wien ausschliesslech d'Ortung notzt, landet no der Umeldung direkt op der Kaart a gesäit keng weider Portalinhalter.
Live-Kaart
D'Kaart weist all eege a fräigeluechte Gefierer mat Status (a Beweegung, steet, offline), Vitesse, Fahrtrichtung an opgeléister Adress. Positioune kommen a Echtzäit iwwer eng WebSocket-Verbindung zum Trackingserver – eng eenzeg Verbindung fir déi ganz Installatioun, net eng pro oppene Browser – a ginn gefiltert verdeelt: All Client kritt just d'Gefierer, déi him gehéieren oder fir hien fräigeginn sinn. Gefierer bewege sech flësseg tëscht zwou Meldungen amplaz ze sprangen.
Als Grondkaarten stinn OpenStreetMap, eng Gelännkaart, déi amtlech éisträichesch Basemap mat Loftbild an eng Schwaarz-Wäiss-Kaart zur Wiel; Gelänn an 3D-Gebaier loossen sech als Ebene zouschalten. D'Usiicht, mat där d'Kaart opgeet – Kaartentyp, Ausschnëtt, Standardgrupp – mierkt sech Odoo pro Benotzer.
Fahrtebuch mat Firmen- a Privatfahrt
Fahrte ginn um Server erkannt, net am Browser: Eng Fahrt fënnt och dann statt, wann keen d'Kaart op huet. Ufank, Enn, Start- a Zieladress, Kilometerstand, Streck an Dauer ginn pro Fahrt festgehalen.
All Fahrt léisst sech als Firmenfahrt oder Privatfahrt astufen – pro Fahrt, net pro Gefier, well datselwecht Auto moies bei de Client fiert an owes heem fiert an d'Ënnerscheedung an Éisträich steierlech relevant ass. Beim Fahrtufank erscheint direkt op der Kaart d'Fënster fir d'Astufung; wien et méi spéit mécht, fënnt d'Fahrt am Fahrtebuch mat Notizfeld erëm. Chaufferen ginn iwwer iButton-Schlësselchips erkannt, wann d'Gefier domat ausgestatt ass.
Zwou Auswäertunge stinn zur Verfügung, béid als PDF an Excel:
- Eenzelfahrtebuch – d'Fahrte vun engem Gefier am gewielte Zäitraum mat Route, Astufung an Notiz
- Fuhrpark-Fahrtebuch – eng Zeil pro Gefier mat Fahrzäit, Streck, der Trennung a Firmen- a Privatkilometer an dem héichgerechente Verbrauch, derzou Gruppen- a Gesamtsummen
Geozonen an Alarmer
Geozonen ginn direkt op der Kaart gezeechent – als Krees, Quadrat oder fräie Polygon – oder aus gemeinsame Virlage wéi „Éisträich" oder „Wien" iwwerholl. Pro Zon a Gefier léisst sech festleeën, ob beim Era- oder Erausgoen alarméiert gëtt a wouhin: per SMS, E-Mail, Webhook oder als Meldung un eise Callcenter.
Alarmer – Zonewiessel, Vitesse, Zündung, Spannungsverloscht, Noutruff, Beweegung, Offline – lafen als eege Datesätz an Odoo op, mat Zäitpunkt, Positioun a Beaarbechtungsstatus.
Sich: Wéi ee Gefier war hei?
E Strofzettel kënnt un, d'Messstell steet drop – awer wéi ee Gefier war et? D'Sich am Routeverlaf beäntwert genau dat: Punkt op der Kaart oder Adress wielen, Ëmkrees a Zäitraum aschränken, an d'Ortung weist, wéi eng Gefierer do waren. D'Vitessmessstelle aus OpenStreetMap leien dofir schonn als Ebene op der Kaart.
Verwaltung duerch de Client selwer
Wat fréier un eis misst delegéiert ginn, erledege Clienten elo am Portal:
- Tracker aktivéieren – IMEI vum Apparatsaufkleber aginn, Grupp wielen oder nei uleeën, fäerdeg
- Tracker a Gruppen – Bezeechnungen, Symboler, Gruppenzouuerdnung, Tankungen mat Mengt a Präis, Auswäertunge pro Gefier
- Berechtigungen – Gefierer un aner Benotzer oder Firmen fräigi, mat Lies- oder Schreifrecht an der Méiglechkeet, eenzel Felder wéi Adress oder Kilometerstand auszeblennen
- Geozonen – zeechnen, beaarbechten, Alarméierung festleeën
- iButtons – Schlësselchips de Chaufferennimm zouuerdnen
Wat sech bei eis intern geännert huet
Am Odoo-Backend gëtt et de Beräich Ortung mat Live-Kaart, Trackerverwaltung, Alarmer, Fahrten, Stammdaten (Gruppen, Geozonen, Apparatentypen, Hiersteller) an der Ofrechnung.
Trackerverwaltung. All Apparat dréit IMEI, SIM-Telefonsnummer, Apparatentyp, Ein- an Ausgäng (Zündung, Motorblockad, Standheizung a weider), Kalibréierung, Tachokorrektur, Offline-Schwell an d'Fahrtebuch-Parameter. D'Chatter-Historie vun Odoo protokolléiert all Ännerung.
SMS un Apparater. Tracker ginn per SMS konfiguréiert. De Versand leeft elo aus Odoo eraus, gëtt lückelos protokolléiert a ass géint Fehlbedienung ofgesecheart: Eng Uewergrenz pro Versandvirgang verhënnert, dass ee Klick Honnerte kaschtepflichteg Noriichten ausléist, an onvollstänneg Telefonsnummere ginn guer net eréischt iwwerginn.
Callcenter. Déifstall- an Accidentsmeldungen erschéngen als Virgäng mat Gefierdaten, Kontaktdate vum Besëtzer an engem gefouerten Oflaf: Besëtzer erreecht? Fehlalarm? Weider Moossnamen? All Schrëtt gëtt protokolléiert, an déi zoustänneg Beaarbechter ginn per Push benoriichtegt.
Ofrechnung. De Rechnungslaf berécksiichtegt all Tracker, deenen hiren nächsten Ofrechnungstermin erreecht ass, a generéiert doraus Rechnungsentwërf an Odoo – mat Endclienten- oder Partnerpräis. D'Fräigab bleift bewosst bei der Comptabilitéit: De Laf verbucht näischt, en bereet vir. Ofrechnungsintervall, Produkt an nächsten Termin hänken um Tracker; nom Laf stinn d'Rechnungszeilen direkt um Apparat.
D'Architektur dohannert
GPS-Apparater
│
▼
Trackingserver ──► Positiounsspäicher Odoo 19 Community
(onverännert) haut: bestoend ├─ Stammdaten (Tracker, Clienten, Geozonen)
Datebank ├─ Clientenportal /my/ortung
méi spéit: PostGIS ├─ Backend Ortung / …
▲ ├─ Ofrechnung (Rechnungsentwërf)
└── just liesend ─┘
Den Zougrëff op Positioune leeft ausschliesslech iwwer eng austauschbar Schnëttstell. Haut liest Odoo aus der bestoender Ortungsdatebank, déi den Trackingserver onverännert weider befëllt. Den Ëmstieg op e eegene PostGIS-Server ass domat eng Konfiguratiounsännerung, kee Ëmbau – raimlech Auswäertunge wéi Geozonen-Préifunge rechent PostGIS dann selwer. Fir Entwécklung a Schoulung gëtt et zousätzlech e Demo-Späicher mat synthetesche Daten, mat deem de Modul och ouni Trackingserver leeft.
Adresse ginn iwwer e eegene Geocoder opgeléist an an Odoo zwëschegespäichert, ofgerënnt op ongeféier eelef Meter: E stoend Gefier gëtt net bei all GPS-Rauschen nei opgeléist, an d'Kaart hänkt net un der Äntwertzäit vun engem externen Déngscht.
Wéi d'Ëmstellung gelaf ass
Mir hunn net op engem Schlag ëmgestallt, mee Stéck fir Stéck no dem Strangler-Muster: Dat Alt-System ass lauffäeg bliwwen, e Reverse-Proxy huet pro Pfad entscheet, wien äntwert, an déi nei Kaart ass zunächst fir eng Pilotgrupp am Parallelbetrib niewent der aler gelaf.
D'Iwwerhuele vun de Stammdaten war dobäi dee heikelsten Deel. E Migratiounsskript liest Clienten, Benotzer, Tracker, Gruppen a Geozonen aus der Altapplikatioun a leet se an Odoo un – widderhuelbar als Delta-Laf, mat der alter Kennung als Schlëssel. Well vill Ortungsclienten an Odoo laang als Partner existéiert hunn, schléit en Assistent Zouuerdnungen vir, déi eenzel bestätegt musse ginn: Eng falsch verknäppte Firma géif frem Gefierer ze gesi kréien, an dat ass méi deier wéi eng Dublette.
Wat bewosst net matgewandert ass: déi duebel Codebasis fir Desktop a Mobil (den Odoo-Frontend ass responsiv), déi eegen Iwwersetzungstabell, dat eegent Rechte- a Session-Handling an e gutt Dutzend Berichter, déi an der Praxis keen méi opgemaach huet.
Wat dat fir Iech als Client bedeit
Wann Dir Ortungsclient bei eis sidd, hutt Dir Ären Portalzougang scho kritt oder kritt en an de nächste Wochen. Är Gefierer, Gruppen, Geozonen a Berechtigunge sinn iwwerholl; d'Fahrtebuch leeft nahtlos weider.
Dir fannt a engem Portal Är Ortung, Är Rechnungen an Är Support-Ufroen. A wann Dir méi wëllt wéi Ortung – Helpdesk, Wartungsverträg, Projetsofrechnung – ass et datselwecht System.
Froen zur Ëmstellung beäntwerte mir gären. A wien fir säin eegene Betrib eng Gefierortung sicht, déi mam ERP verbonne ass amplaz niewendrun ze stoen: Schwätzt eis un.