L14 Abrechnungsübersicht: Services für Einträge, Aufstellung, Abrechnen/Stornieren, Meilensteine und PDF
syncBillingCandidates (idempotent, Event-Hook für work_order.released_for_billing und report.approved), Aufstellung ohne Preise (nur freigegebene Zeiten, Fahrzeit getrennt, Pausen informativ, Anfahrten-Zählung, Material), markBilled mit eingefrorenem Snapshot und Positionszuordnung, voidBilling mit Grund und neuem offenen Eintrag (billed → released_for_billing nur über applyTransition-Option billingVoid), Meilenstein-Flow mit Events, Job billing-pdf (Dokument other/backoffice_only), Sync-Op milestone.reach. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -48,7 +48,10 @@
|
||||
"sync_failed": "Synchronisationsfehler",
|
||||
"time_approval_requested": "Zeit zur Freigabe",
|
||||
"time_approved": "Zeit freigegeben",
|
||||
"time_rejected": "Zeit abgelehnt"
|
||||
"time_rejected": "Zeit abgelehnt",
|
||||
"milestone_reached": "Meilenstein erreicht",
|
||||
"milestone_confirmed": "Meilenstein bestätigt",
|
||||
"milestone_rejected": "Meilenstein abgelehnt"
|
||||
},
|
||||
"events": {
|
||||
"work_order_assigned": {
|
||||
@@ -130,6 +133,18 @@
|
||||
"time_rejected": {
|
||||
"title": "Zeit abgelehnt: {number}",
|
||||
"message": "{actor} hat Ihre Zeit zu {number} abgelehnt: {reason}"
|
||||
},
|
||||
"milestone_reached": {
|
||||
"title": "Meilenstein erreicht: {number}",
|
||||
"message": "{actor} meldet einen Meilenstein zu {number} als erreicht. Bitte bestätigen."
|
||||
},
|
||||
"milestone_confirmed": {
|
||||
"title": "Meilenstein bestätigt: {number}",
|
||||
"message": "{actor} hat Ihren gemeldeten Meilenstein zu {number} bestätigt."
|
||||
},
|
||||
"milestone_rejected": {
|
||||
"title": "Meilenstein abgelehnt: {number}",
|
||||
"message": "{actor} hat Ihren gemeldeten Meilenstein zu {number} abgelehnt: {reason}"
|
||||
}
|
||||
},
|
||||
"fallback": {
|
||||
|
||||
Reference in New Issue
Block a user