#1061: AccountingRecord.kt
projectforge-business/src/main/kotlin/org/projectforge/business/scripting/support/AccountingRecord.kt Data Aggregation Helper / Scripting Support, projectforge-business/src/main/kotlin/org/projectforge/business/scripting/support/AccountingRecord.kt 188 lines · 145 code · 28 comments · 15 blank
Financial aggregation helper for script-based reporting. Holds revenue and costs per project/customer/business-unit with a date. Supports three record types: RECORD (generic booking), INVOICE, and TIMESHEET. Computes derived values: profit (revenue + costs where costs are negative) and percentage. Companion factory methods create records from BuchungssatzDO (bookkeeping entries), RechnungDO (invoices), and TimesheetDO (time sheets with hourly rate). Provides static aggregation: groupByProject() filters by date range and sums by project, groupByMonth() groups by AccountingRecordMonthKey.
Git History
868d6abb7 2025 -> 2026
6d35223b0 AccountingRecord supports now kost2String
63081666f Source file headers: 2024-> 2025.
53b501ab6 Example scripts fixed. TimesheetDO.getDuration() -> TimesheetDO.duration.
d394f410f Migration stuff in progress... (all tests of all packages: OK).
b47c21af6 Refactored caching and calculations with invoices (not yet finished)
4c04cfd65 MAJOR-CHANGE! Migration of integer id's to Long id's (including fk's etc.)
67ce75fe9 Migration stuff in progress...
06828f490 Migration stuff in progress...
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
ec7f46aa1 WIP: scripting