With the coming switch in Germany from Bank account number and banking sort code (BLZ) to IBAN and BIC, there are quite some tasks to accomplish.

One task is to convert the bank account numbers to the new IBAN number.
On the first look, you might think that it is simply concatenating the account number and BLZ, add a checksum digit, and you are done. Eg: kto=648489890 and blz=50010517 becomes IBAN DE12500105170648489890
But in fact there are currently 54 rules, explained on 171 pages (see Bundesbank IBAN_Regeln).

There is an Open Source library available under LGPL that does implement all these rules:

It can be used from several programming languages, among them C# and PHP (see http://kontocheck.sourceforge.net/konto_check.php?fix_nav=1&ausgabe=5&sub=4).
I have packaged it for PHP to offer it as a webservice for OpenPetra.
You can test it live here:
I have added an option to use it as a webservice.
Eg. https://kontocheck.solidcharity.com/index.php?kto=648489890&blz=50010517 returns an xml file like this:

<ort>Frankfurt am Main</ort>

The packages are built on the Suse Open Build Service: https://build.opensuse.org/package/show/home:tpokorra:kontocheck/kontocheck
At the moment I build it for CentOS5, CentOS6, and Debian 7. If you are interested in other distributions that are available on build.opensuse, let me know, I might add that.

Installation instructions for CentOS5, CentOS6 and Debian 7 see: http://software.opensuse.org/download/package?project=home:tpokorra:kontocheck&package=kontocheck

DTAUS with C#   October 28th, 2008

I needed to export Lastschriften (instructions for direct debit) for our german office, and after looking for some solutions, I realised that it is not that hard to write it yourself…

Here is the result: http://download.pokorra.de/coding/Dtaus.cs
Please feel free to use the code any way you like.
I read the input data from an XML file, of course this needs to be modified to your specific situation.

A good help was this documentation of the german DTAUS bank file format:

Another useful tool was the JDTAUS editor, a java editor that can process and create DTAUS files:
I use this to validate and test the files written with my C# program.