TIMR Connector
Zeiten in TIMR erfasst, Abrechnung in Odoo? Der TIMR Connector synchronisiert beide Systeme automatisch – keine doppelte Datenpflege.
Ihr Nutzen
Zeitbuchungen, Mitarbeiter und Projekte per Cron-Job abgleichen. TIMR-Datensätze in Odoo schreibgeschützt.
Funktionen im Detail
🕑 TIMR Connector für Odoo 17
Automatische Synchronisation von Zeitbuchungen, Mitarbeitern, Projekten und Tasks zwischen TIMR und Odoo
Kategorie: Human Resources
Lizenz: Other proprietary
Odoo Version: 17.0+
📄 Übersicht
Dieses Addon ermöglicht den Import aus TIMR (Zeiterfassungssystem) in Odoo. Zeitbuchungen aus TIMR werden automatisch in Odoo-Timesheets übertragen, Mitarbeiter, Projekte und Aufgaben werden intelligent zugeordnet.
✨ Hauptfunktionen
- Zeitbuchungen-Sync: Automatische Übertragung von TIMR ProjectTimes → Odoo Timesheets (account.analytic.line)
- Mitarbeiter-Zuordnung: TIMR Users → Odoo hr.employee mit Auto-Matching via E-Mail
- Projekt-Zuordnung: TIMR Top-Level Tasks → Odoo Projects mit Auto-Matching via SQ-Nummern (z.B. "P25-461")
- Aufgaben-Zuordnung: TIMR Subtasks → Odoo Project Tasks mit hierarchischem Bezug
- Geschätzte Stunden: TIMR
hoursPlanned→ Odooallocated_hours("Allocated Time") auf Tasks - Intelligente Filterung: Nur zugeordnete Subtasks werden synchronisiert (Performance-Optimierung)
- Verschiebungs-Sync: In TIMR verschobene Zeitbuchungen werden in Odoo automatisch aktualisiert
- Lösch-Sync: In TIMR gelöschte Zeitbuchungen werden aus Odoo automatisch entfernt
- Common Task Support: Automatische Verarbeitung von Top-Level TIMR-Buchungen
- Detailliertes Logging: Alle Operationen werden protokolliert (TIMR Connector Logs)
- Automatische Synchronisation: Konfigurierbare Cron-Jobs für regelmäßigen Sync
- Schreibschutz: TIMR-synchronisierte Daten können nur in TIMR geändert werden
📦 Installation
Voraussetzungen
- Odoo: Version 17.0 oder höher
- Python Packages: zeep, requests
- Odoo Module: hr, project, hr_timesheet, mail, sale
- TIMR API Zugang: Company ID und API Token
- Addon in den Odoo addons-Ordner kopieren
- Python-Abhängigkeiten installieren:
pip install zeep requests - Odoo neu starten oder Addon-Liste aktualisieren
- In Odoo: Apps → Suche "TIMR Connector" → Installieren
⚙ Konfiguration
1. TIMR API Verbindung einrichten
Menü: Einstellungen → Allgemeine Einstellungen → TIMR Connector
- TIMR Integration aktivieren (Checkbox)
- Company ID: Ihr TIMR Client-Identifier (z.B. "ihre-firma" aus URL https://ihre-firma.timr.com)
- API Token: API-Token aus TIMR Admin-Bereich (NICHT Ihr Passwort!)
2. Verbindung testen
- Speichern Sie die Einstellungen
- Klicken Sie auf den Button "Test Connection"
- Bei Erfolg: ✔ Grüne Meldung "Connection Successful - Found X users"
👥 Workflow: Mitarbeiter-Zuordnung
- TIMR Mitarbeiter laden: Menü "Personal → Konfiguration → TIMR Employee Mappings" → Button "Load from TIMR"
- Automatische Zuordnung: System gleicht E-Mail-Adressen ab und erstellt automatische Zuordnungen
- Manuelle Zuordnung: Für nicht automatisch zugeordnete Mitarbeiter manuell Odoo-Employee auswählen
- Optional: Neue Odoo-Mitarbeiter erstellen via Aktion "Create Odoo Employees"
📁 Workflow: Projekt-Zuordnung
- TIMR-Projekte laden: Menü "Projekt → Konfiguration → TIMR Project Mappings" → Button "Load from TIMR"
- Automatische Zuordnung via SQ-Nummern: System extrahiert Nummern wie "P25-461" und sucht Verkaufsaufträge
- Manuelle Zuordnung: Für nicht automatisch zugeordnete Projekte manuell Odoo-Projekt auswählen
- Subtasks importieren: Automatisch oder manuell via "Load from TIMR" in TIMR Task Mappings
⏰ Workflow: Zeitbuchungs-Synchronisation
- Voraussetzungen prüfen: Mitarbeiter und Projekte/Tasks müssen zugeordnet sein
- Sync-Flag setzen: In TIMR Task Mappings relevante Subtasks mit "In Zeitbuchungs-Sync einbeziehen" markieren
- Manueller Test: TIMR Connector Logs → Button "Zeitbuchungen synchronisieren"
- Automatischen Sync aktivieren: In Einstellungen "Automatische Synchronisation" aktivieren und Intervall wählen
📊 Status-Übersicht
| Status | Bedeutung | Aktionen |
|---|---|---|
| 🔴 Nicht zugeordnet | Keine Odoo-Zuordnung vorhanden | Manuell zuordnen oder automatisch erstellen |
| 🟢 Zugeordnet | Erfolgreich zugeordnet | Bereit für Synchronisation |
| ⚫ Ignoriert | Bewusst ausgeklammert | Wird nicht synchronisiert |
| ❌ Fehler | Sync-Fehler aufgetreten | Fehlerdetails im Feld prüfen |
💡 Best Practices
- Mitarbeiter zuerst: Laden und zuordnen Sie alle TIMR-Mitarbeiter
- Dann Projekte: Laden und zuordnen Sie TIMR-Projekte (Top-Level Tasks)
- Subtasks automatisch: System lädt Subtasks automatisch vor Zeitbuchungs-Sync
- Test vor Automatisierung: Führen Sie ersten Sync manuell durch und prüfen Sie Logs
- Sync-Intervall: Täglich ausreichend für meiste Fälle, stündlich nur bei Bedarf
🔧 Technische Details
- TIMR SOAP API: https://timrsync.timr.com/timr/timrsync.wsdl
- Authentifizierung: HTTP Basic Auth mit Company ID + API Token
- API-Methoden: GetUsers(), GetTasks(), GetTaskWithSubTasksByUUID(), GetProjectTimes()
- Performance: Client-seitige Filterung mit Hash-Tabellen (O(1) Lookup)
- Datenmodelle: timr.employee.mapping, timr.project.mapping, timr.task.mapping
- Duplikatserkennung: UUID-basiert mit SQL-Constraints
- Sync-Arten: Erstellen, Aktualisieren, Löschen, Verschieben
- Schreibschutz: write(), create(), unlink() overrides für TIMR-Daten
- Common Tasks: Automatische Verwaltung mit timr_is_common_task Flag
📚 Logging & Monitoring
Menü: Personal → TIMR Connector Logs
- Alle Sync-Operationen werden protokolliert
- Filter nach Log Level (Info, Warnung, Fehler)
- Detaillierte Fehler-Traces bei Problemen
- Performance-Metriken für Optimierung
🕑 Versions-Historie
- ✔ FIX: Kompatibilität mit Python 3.12 — SOAP-Client-Initialisierung schlug mit
RecursionErrorfehl durch Inkompatibilität inzeep.Settings.__getattribute__mit Python 3.12'shasattr()-Verhalten. Betrifft zeep 4.1.0 und 4.2.1. Fix:Settings.__getattribute__wird im Modul-Code gepatcht — kein Eingriff in System-Pakete nötig.
- ✔ NEU: TIMR
hoursPlanned→ Odooallocated_hours("Allocated Time") auf Project Tasks - ✔ NEU: Bestehende gemappte Tasks werden beim Re-Sync automatisch mit
allocated_hoursaktualisiert - ✔ NEU: Neu erstellte Odoo Tasks erhalten
allocated_hoursdirekt beim Auto-Create - ✔ NEU:
budgetPlannedwird zusätzlich intimr_budgetgespeichert
- ✔ NEU: Verschiebungs-Tracking - Erkennung und Protokollierung von verschobenen Zeitbuchungen
- ✔ NEU: Automatische Aktualisierung von Task/Projekt-Zuordnungen bei Verschiebungen in TIMR
- ✔ NEU: Detailliertes Logging für Verschiebungs-Operationen
- ✔ VERBESSERT: Relocation-Counter in Sync-Statistiken
- ✔ NEU: Schreibschutz für TIMR-synchronisierte Projekte und Tasks
- ✔ NEU: Verhinderte manuelle Zeitbuchungen auf TIMR-Tasks
- ✔ NEU: Lösch-Sync - In TIMR gelöschte Einträge werden aus Odoo entfernt
- ✔ NEU: Verschiebungs-Sync - In TIMR verschobene Einträge werden in Odoo aktualisiert
- ✔ NEU: Common Task - Automatische Erstellung für Top-Level TIMR-Buchungen
- ✔ NEU: Support für Zeitbuchungen auf Top Tasks (nicht nur Subtasks)
- ✔ Erweiterte Fehlerbehandlung mit detaillierten Hinweisen
- ✔ Erste Produktions-Version für Odoo 17
- ✔ Mitarbeiter-, Projekt-, Aufgaben-Zuordnung
- ✔ Zeitbuchungs-Synchronisation
- ✔ Automatische Zuordnung (E-Mail, SQ-Nummer)
- ✔ Performance-Optimierung (Hash-Tabelle, Client-Filter)
- ✔ Umfassendes Logging
- ✔ PoC-validiert mit Produktionsdaten (32.711 Einträge)
Förderfähige Maßnahme
Die Einführung und Anpassung von ERP-Systemen wie Odoo ist in Deutschland förderfähig. Unternehmen können von staatlichen Förderprogrammen profitieren – z. B. über das Programm „go-digital“ des BMWi, „Digital Jetzt“ oder länderspezifische Digitalisierungsförderungen. Wir unterstützen Sie gerne bei der Antragstellung und beraten Sie zu den Möglichkeiten für Ihr Unternehmen.
Interesse geweckt?
Lassen Sie sich unverbindlich beraten – wir zeigen Ihnen, wie dieses Modul in Ihre Prozesse passt.
Beratungsgespräch vereinbaren