Skip to content

Task-Buchungen (PRM29) ​

Transaktion: PRM29 Buchungen
UI-Pfad: /taskHistory
Controller: TaskHistoryApiController – /api/taskHistory

Business-Zweck ​

PRM29 erfasst Zeiten und Leistungen auf Tasks. Aus TaskHistory-Einträgen (Start/Ende) entstehen aggregierte TaskCost-Datensätze – die Basis für Projektabrechnung PRM58 und interne Kostencontrolling.

Partner integrieren Zeiterfassungs-Tools, PSA-Systeme oder mobile Buchungs-Apps über die Task-History-API.

Kernbegriffe ​

BegriffBedeutung
TaskHistoryEinzelner Zeiteintrag mit startTime, endTime, user
TaskCostAggregierte Buchung: cost, timeConfirmed, quantity, costDate
timeConfirmedBestätigte abrechenbare Stunden
pausePausenminuten (abgezogen von cost)
isCompletedBuchung abgeschlossen
isAppliedBereits in Beleg übernommen (nicht mehr änderbar bei Factoring)
atCustomerLeistung beim Kunden (Reisezeit o. Ä.)
salesItem / verificationItemBelegreferenz nach Abrechnung

Fachlicher Ablauf ​

Live-Zeiterfassung ​

  1. GET /api/taskHistory/bookTask/{taskId} – Buchung starten
  2. GET /api/taskHistory/currentBookingTask – aktive Buchung prüfen
  3. GET /api/taskHistory/endTask – Buchung beenden
  4. Optional mit SubTask: POST /api/taskHistory/bookTaskWithSubTask

Manuelle Buchung / Korrektur ​

POST /api/taskHistory/ speichert TaskHistory-Einträge und TaskCost in einem Schritt (wie UI-Dialog „Buchung erfassen“).

Partner-Szenarien ​

Eigene offene Buchungen listen ​

GET /api/taskHistory/myBookings

Gruppiert nach Task und Tag, liefert Dauer, cost, timeConfirmed.

Abgeschlossene Buchungen ​

GET /api/taskHistory/myClosedBookings

Buchungsdialog-Daten laden ​

POST /api/taskHistory/showBookingEntryDialog

Body: { "taskId": ..., "startTime": "...", "taskCostId": ... }

TaskCosts löschen / wiederherstellen ​

POST /api/taskHistory/handleTaskCosts

Body: { "type": "delete" | "restore", "taskCosts": [id1, id2] }

Laufende Buchungszeit (UI-Timer) ​

GET /api/taskHistory/bookingTime

E-Mail aus Buchung ​

POST /api/taskHistory/showEmailEditor

Leistungsnachweis per E-Mail (Anhänge aus TaskCost).

Voraussetzungen ​

  • Task mit Status > 1 (nicht „neu“)
  • Für Freigabe: ggf. taskType.isApprovedEnabled mit approvedBy
  • TaskCost mit gültigem costDate (nicht Platzhalter 1970)
  • Partner-Rechte PRM29

Auswirkungen im ERP ​

AktionAuswirkung
TaskCost ohne salesItemErscheint in PRM58 (taskCostList)
createSalesDocumentsTaskCost → SalesItem auf Rechnung
createVerificationDocumentsTaskCost → VerificationItem (PUR04)
isApplied=trueKeine Änderung mehr (Factoring-Schutz)
Internes Projektcost = Stunden (kein externer VK)

API-Referenz ​

Details: Task History API

Weiterlesen ​

Nur für reybex-Partner. Nicht für Endkunden bestimmt.