Darstellung
Projektabrechnung (PRM58)
Transaktion: PRM58 Projektabrechnung (Report)
UI-Pfad: /documentFromTaskCost
Controller: TaskApiController – /api/task
Business-Zweck
PRM58 schließt die Kette Projekt → Zeiterfassung → Beleg. Nicht abgerechnete TaskCosts (bestätigte Leistungen ohne SalesItem-/VerificationItem-Referenz) werden zu Verkaufsbelegen (SAL18) oder Eingangsrechnungsprüfpositionen (PUR04) zusammengefasst.
Partner automatisieren damit PSA-Abrechnung, Service-Rechnungen und interne Verrechnung.
Kernbegriffe
| Begriff | Bedeutung |
|---|---|
| TaskCost (offen) | salesItem IS NULL, isDelete=0, abrechenbarer TaskType |
documentFromTaskCost | Listen-Metadaten für PRM58-Grid |
createSalesDocuments | Erzeugt SalesHead (Rechnung/Auftrag) aus Tasks |
createVerificationDocuments | Erzeugt VerificationHead für interne Abrechnung |
taskCostList | API-Liste aller abrechnungsfähigen TaskCosts |
saveCostQuantities | Mengen vor Abrechnung anpassen |
Fachlicher Ablauf
Filter in PRM58
Nur TaskCosts mit:
- Projekt
profit=1, nicht gelöscht - TaskType
isInvoiceAble=1 - TaskCost ohne
salesItem-Referenz - TaskStatus > 1, bestätigte Zeit (
timeConfirmed)
Partner-Szenarien
Abrechnungsliste abrufen
GET /api/task/taskCostListKendo-Grid mit Filter/Sort/Paging. Felder u. a.: Kunde, Projekt, Task-Nummer, Menge, timeConfirmed, verknüpfter Auftrag.
Verkaufsbeleg erstellen (Kundenabrechnung)
POST /api/task/createSalesDocumentsRequest:
json
{
"docType": { "id": 1234567890 },
"docDate": "09.09.2026",
"taskIds": [111, 222, 333]
}Logik (vereinfacht):
- Tasks mit offenen TaskCosts gruppieren
- Tasks mit bestehender
salesItem-Referenz → Folgeposition auf referenziertem SalesHead - Support-Projekte (projectType.type=8) → gruppiert nach Kunde
- Kundenprojekte (
profit) → gruppiert nach Projekt/Kunde - SalesItem aus TaskType-Material, Menge/Zeit aus TaskCost
Response: Liste { id, docNumber } der erzeugten Belege.
→ Fachlich: Rechnungen SAL18, FiBu: Rechnungslauf SAL11
Eingangsrechnung / interne Verrechnung
POST /api/task/createVerificationDocumentsRequest:
json
{
"docType": { "id": 9876543210 },
"docDate": "09.09.2026",
"taskIds": [111, 222]
}Erzeugt VerificationHead pro User/Kunde mit Material aus activityType. TaskCost erhält verificationItem-Referenz.
→ Fachlich: Eingangsrechnungsprüfung PUR04
Mengen vor Abrechnung anpassen
POST /api/task/saveCostQuantitiesVoraussetzungen
- Abgeschlossene Buchungen (PRM29) mit
timeConfirmed - Projekt
profit=1, TaskTypeisInvoiceAble=1 - SalesDocType bzw. VerificationDocType konfiguriert
- Standard-Lager/Warehouse für SalesItem-Anlage
- Partner-Rechte PRM58
Auswirkungen im ERP
| Aktion | Auswirkung |
|---|---|
| createSalesDocuments | SalesHead + SalesItems, TaskCost.salesItem gesetzt |
| createVerificationDocuments | VerificationHead, TaskCost.verificationItem gesetzt |
| Rechnung | Offene Posten FIN07 nach FiBu-Übergabe SAL11 |
| Bereits verknüpfte TaskCosts | Verschwinden aus PRM58-Liste |
API-Referenz
Details: Task API (Abschnitt Projektabrechnung)