#971: RechnungCalculator.kt

projectforge-business/src/main/kotlin/org/projectforge/business/fibu/RechnungCalculator.kt Calculation Utility Object, projectforge-business/src/main/kotlin/org/projectforge/business/fibu/RechnungCalculator.kt 229 lines · 176 code · 39 comments · 14 blank
Kotlin object that performs all financial calculations for invoices. Computes RechnungInfo from AbstractRechnungDO: net sum, VAT amount (summed by VAT rate then rounded per German law), gross sum, gross sum with discount (if within discount period), and cost assignment net/gross sums. Each position gets calculated net sum, VAT, gross sum, and cost assignment sums. Detects whether the invoice is paid, overdue, and handles rounding at position-level or sum-level. References RechnungCache and AuftragsCache for order position linkage.

Git History

868d6abb7 2026-01-01 Kai Reinhard: 2025 -> 2026
2cd176b95 2025-10-02 Kai Reinhard: WIP: Import of creditor invoices
e8a5e51d4 2025-10-01 Kai Reinhard: WIP: Import of creditor invoices
63081666f 2025-01-01 Kai Reinhard: Source file headers: 2024-> 2025.
5f9bbfbd3 2024-12-27 luzpaz: Fix typos in projectforge-business directory
197d60efa 2024-12-15 Kai Reinhard: Finance: incoming invoices fixed.
3159cfa6c 2024-11-10 Kai Reinhard: Migration stuff in progress... (all tests of all packages: OK).
12610fee2 2024-11-09 Kai Reinhard: Migration stuff in progress... (all tests of all packages: OK).
ff2cc4cfa 2024-11-09 Kai Reinhard: Migration stuff in progress... (all tests of all packages: OK).
f31e8064e 2024-11-08 Kai Reinhard: Migration stuff in progress...
2e9839891 2024-11-03 Kai Reinhard: Migration stuff in progress...
973fbf518 2024-10-30 Kai Reinhard: Migration stuff in progress...
ba2479571 2024-10-30 Kai Reinhard: Migration stuff in progress...
b47c21af6 2024-10-30 Kai Reinhard: Refactored caching and calculations with invoices (not yet finished)
ccb7ca64d 2024-10-29 Kai Reinhard: Migration stuff in progress...
b6092df09 2024-01-09 Kai Reinhard: Copyright 2023 -> 2024
ab45d51fa 2023-01-01 Kai Reinhard: Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 2022-02-18 Kai Reinhard: Copyright 2021 -> 2022
ceb63e8a1 2021-03-08 Kai Reinhard: Source code header: (C) 2001-2021.
07cb34acb 2020-03-12 Kai Reinhard: IRechnung, IRechnungsPosition introduced. DTOs fro Eingangsrechnung{sPosition}DO added.
7c79f1922 2020-01-03 Kai Reinhard: Copyright of source header -> 2020.
9f21d879d 2019-12-09 Kai Reinhard: RechnungCalculator: rounding issues in vat amounts fixed. CurrencyHelper converted to Kotlin.
812b5b751 2019-11-06 Kai Reinhard: Heavy WIP: refactoring of (Eingangs)Rechnung*. Found a big performance killer!!!!!