#981: SEPATransferGeneratorUtils.kt
projectforge-business/src/main/kotlin/org/projectforge/business/fibu/SEPATransferGeneratorUtils.kt SEPA Utility Functions, projectforge-business/src/main/kotlin/org/projectforge/business/fibu/SEPATransferGeneratorUtils.kt 45 lines · 15 code · 25 comments · 5 blank
Collection of static utility functions supporting SEPA transfer generation: IBAN/BIC validation, currency formatting, special character sanitization, and bank account data extraction from ProjectForge Konten and Rechnungen.
Design
This companion object-based utility class provides stateless helper methods consumed by SEPATransferGenerator and SEPAXmlBuilder. Key responsibilities:
- IBAN Formatting: Strips whitespace, validates IBAN checksum, and converts to standardized SEPA format.
- Character Sanitization: Removes characters outside the SEPA-allowed character set (a-z, A-Z, 0-9, space, and limited punctuation per ISO 20022).
- Amount Formatting: Converts
BigDecimal amounts to SEPA-compliant decimal strings (max 2 decimal places, dot-separated).
- Bank Account Resolution: Extracts IBAN, BIC, and Konto data from
ProjektDO → KontoDO chains, handling fallback scenarios.
- Debitor Identification: Resolves creditor/debitor names and addresses from
KundeDO objects for SEPA party identification blocks.
Git History
868d6abb7 2025 -> 2026
63081666f Source file headers: 2024-> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
f0b91f12a SEPA-Transfer: If an invoice was exported before, it's marked with exportDate, not removed.
3b4908eb7 SEPA Export for invoices: Using now data from RechnungDO in cooperation with SEPATransferGeneratorUtils.
e4a9008d4 SEPA Export for invoices added.