German and Dutch bank statements to Excel
Kontoauszug and afschrift PDFs use comma decimals, trailing minus signs and their own column names. How to convert them without corrupting the amounts.
Statements from German, Austrian and Dutch banks break most converters for reasons that have nothing to do with the bank and everything to do with number formatting.
Comma decimals, dot thousands
A German statement writes 1.234,56 where an English one writes 1,234.56. Read with English rules, 1.234,56 becomes 1.23456 - out by a factor of a thousand, and still a plausible-looking number, so nothing warns you.
The separator has to be detected from the document rather than assumed.
The minus sign comes last
German and Austrian statements often print 45,00- rather than -45,00. A parser looking only for a leading minus reads that as a positive amount, and the sign error stays invisible until the account will not balance.
Some print an en dash instead of a hyphen. Same problem, different character.
The column names are not English
| German | Dutch | English |
|---|---|---|
| Buchungstag | Boekdatum | Date |
| Verwendungszweck | Omschrijving | Description |
| Betrag | Bedrag | Amount |
| Kontostand / Saldo | Saldo | Balance |
| Alter Kontostand | Beginsaldo | Opening balance |
| Neuer Kontostand | Eindsaldo | Closing balance |
These are recognised directly, so a Kontoauszug is read as a statement rather than an unknown table.
N26, Deutsche Bank, ING
- N26 issues monthly PDF statements in-app, plus a CSV export of transactions. For a specific past month with balances, that is the PDF.
- Deutsche Bank provides the Kontoauszug as a PDF in the electronic mailbox.
- ING offers PDF statements and a transaction download with a limited window, so older periods mean PDFs.
As everywhere, the transaction export and the statement are different documents. The statement is the one with the balances - and the balances are what let the conversion be checked.
The check still applies
Alter Kontostand + sum of transactions = Neuer Kontostand. If that does not hold to the cent, the file is flagged and you are not charged.