Commit
ae5839cc12876467da2bc3b4c76a80a5fdda2f70
by infoBanking: manual CAMT.052 file import for periods before EBICS
Adds "Datei importieren (CAMT.052)" to the Import tab of /accounting/banking:
upload the online-banking export (ZIP or XML) -> dry-run preview -> chunked
import with progress. Nuxt-only, no Laravel staging: statements are created
Drafted directly in iDempiere and appear in step 2 (reconcile).
- camt052Parser: fflate + fast-xml-parser, ISO-8859-1 aware, camt.052/053 in
any .001.xx version; unpacks ZIPs completely (sub-folders, nested ZIPs,
extension-less XML, macOS resource forks ignored). The Volksbank export is
ONE report paginated over the whole period, so entries are split into one
statement per booking day with a derived balance chain (verified against the
daily closings of the MT940 export of the same period).
- bankFileImport: duplicate detection by the bank reference (AcctSvcrRef <->
C_BankStatementLine.EftTrxID, the column the EBICS import fills), fallback
date+amount+memo multiset; foreign same-day statements are never modified
(conflict), own Drafted ones are resumed; balance-chain check against existing
iDempiere statements; plan recomputed live before every write.
- Routes accounting/bank-file-import/{preview,import}; parsed uploads parked in
data/bank-file-import (git-ignored, 24 h), originals archived on import.
- Reconcile statements list: $top 100 -> 500 (history imports).
- fast-xml-parser declared as a direct dependency (was optional transitive).
- MT940 / CSV / PDF deliberately unsupported (MT940 discontinued by DK 11/2025).
- Translations banking_file_* (en/de/es); sample bank exports git-ignored.