No description
  • PHP 53.6%
  • Twig 46.4%
Find a file
2026-06-20 11:35:20 +02:00
Command Update Command/InstallCommand.php 2026-06-19 18:40:57 +02:00
config update to v2 2026-06-20 09:48:24 +02:00
Controller update to v2 2026-06-20 09:48:24 +02:00
DependencyInjection update to v2 2026-06-20 09:48:24 +02:00
Entity Update Entity/ExpenseReport.php 2026-06-19 18:42:29 +02:00
EventSubscriber update to v2 2026-06-20 09:48:24 +02:00
Export add uploads 2026-05-14 11:09:52 +02:00
Migrations Add Migrations/Version20260619000001.php 2026-06-19 18:08:01 +02:00
Repository add uploads 2026-05-14 11:09:52 +02:00
Resources set page_tilte 2026-06-20 11:35:20 +02:00
Security update to v2 2026-06-20 09:48:24 +02:00
Service update 2026-05-14 12:31:49 +02:00
Twig add uploads 2026-05-14 11:09:52 +02:00
composer.json add uploads 2026-05-14 11:09:52 +02:00
README.md add uploads 2026-05-14 11:09:52 +02:00
ReisekostenBundle.php update to v2 2026-06-20 09:48:24 +02:00

Kimai Reisekosten-Plugin

Reisekostenabrechnungs-Plugin für Kimai v2.

Features

  • Reisekostenabrechnungen anlegen, bearbeiten, anzeigen
  • Bis zu 20 Positionen pro Abrechnung
  • Automatische Pauschalenberechnung (Tagespauschale >8h / 24h / Hotel) nach Land
  • Alle Positionstypen aus der Excel: Hotel, Fahrtkosten, Parken, Bewirtung, KM-Abrechnung, Maut, Flug, …
  • MwSt-Sätze werden automatisch je Positionstyp gesetzt
  • Kontonummern (SKR03) automatisch je Positionstyp
  • Mahlzeitenabzug (Frühstück / Mittag / Abend) mit automatischer Korrektur der Tagespauschhale
  • KM-Abrechnung mit automatischer Kostenberechnung (0,35 €/km Privatauto)
  • Länderpauschalen: Deutschland, Schweiz, Österreich
  • Status-Workflow: Offen → Eingereicht → Genehmigt / Abgelehnt
  • Excel-Export im gleichen Format wie Ihre bisherige Excel-Datei
  • Korrekturen (Korrektur 1 & 2) je Abrechnung
  • Menüeintrag im Kimai-Seitenmenü

Länderpauschalen

Land >8 Stunden 24 Stunden Hotel
Deutschland 14,00 € 28,00 € 20,00 €
Schweiz 43,00 € 64,00 € 0,00 €
Österreich 33,00 € 50,00 € 0,00 €

Installation

Voraussetzungen

  • Kimai v2.0+
  • PHP 8.1+
  • Composer

Schritt 1: Plugin-Verzeichnis anlegen

cp -r ReisekostenBundle /var/www/kimai/var/plugins/

Schritt 2: Abhängigkeiten installieren

cd /var/www/kimai
composer require phpoffice/phpspreadsheet

Schritt 3: Datenbank-Migration ausführen

cd /var/www/kimai
bin/console kimai:bundle:reisekosten:install
# oder manuell:
bin/console doctrine:migrations:migrate --em=default

Schritt 4: Cache leeren

bin/console cache:clear
bin/console cache:warmup

Schritt 5: Plugin aktivieren (falls nötig)

In config/packages/kimai.yaml:

kimai:
    plugins:
        - 'ReisekostenBundle'

Schritt 6: Plugin aufrufen

Nach dem Login erscheint im Kimai-Seitenmenü der Eintrag „Reisekosten".


Stammdaten anpassen

Alle Stammdaten (Mitarbeiter, Kunden, Positionstypen, Länderpauschalen) sind in der Datei
Service/StammdatenService.php hinterlegt und können dort direkt bearbeitet werden.

Für eine datenbankbasierte Verwaltung der Stammdaten können entsprechende Admin-Screens
auf Anfrage ergänzt werden.


Positionstypen & Konten (SKR03)

Positionstyp MwSt Konto
Hotelkosten 19% 19% 4666
Hotelkosten 7% 7% 4666
Hotelkosten Pauschale 0% 4666
Allgemeine Fahrtkosten 19% 19% 4663
Taxifahrt 7% 7% 4663
Zugfahrt 7% 7% 4663
Flug 19% (National) 19% 4663
Flug 0% (International) 0% 4663
Parken 19% 19% 4663
Tagespauschalen > 8 Stunden 0% 4664
Tagespauschalen 24 Stunden 0% 4664
Fahrtkosten pro KM (Privatauto) 0% 4668 (0,35 €/km)
Fahrtkosten pro KM (Geschäftsauto) 0% 4668
Bewirtungsbeleg 19% 19% 4650 / 4654 (30%)
Maut Inland 19% 4663
Maut Ausland 0% 4663

Datenbankstruktur

Tabelle Beschreibung
kimai2_reisekosten Haupttabelle Reisekostenabrechnungen
kimai2_reisekosten_positionen Einzelpositionen je Abrechnung
kimai2_reisekosten_korrekturen Korrekturen je Abrechnung
kimai2_reisekosten_korrektur_pos Positionen je Korrektur

API-Endpunkte (intern, für JavaScript)

Route Beschreibung
POST /reisekosten/api/pauschale Berechnet Tagespauschale (Land, Typ, Mahlzeiten)
POST /reisekosten/api/positionstyp Liefert MwSt & Konto für einen Positionstyp

Beleg-Uploads pro Reisekostenabrechnung

Diese Version ergänzt Reisekostenabrechnungen um mehrere PDF-Belege:

  • Upload mehrerer PDF-Dateien über eine Dropzone im Reisekostenformular
  • dauerhafte Speicherung der einzelnen Original-PDFs unter var/data/reisekosten/{reportId}/original/
  • Download einzelner Belege in der Detailansicht
  • dynamisches Zusammenführen aller Belege erst beim Download des Sammel-PDFs
  • Löschen einzelner Belege aus der Detailansicht
  • Entfernen des Dokumentenordners beim Löschen der Reisekostenabrechnung

Für das dynamische Zusammenführen der PDFs werden die Composer-Pakete benötigt, die in composer.json eingetragen sind:

composer require setasign/fpdf setasign/fpdi

Nach dem Update muss der Installationsbefehl erneut ausgeführt werden, damit die Tabelle kimai2_reisekosten_documents erstellt wird:

bin/console kimai:bundle:reisekosten:install