Generating OFX [V1]
Just in case you never heard about OFX before
V1 was an attempt to create a dedicated SGML for banking and ignoring XML. Details.
It evolved to XML but not for M$ MONEY. Today we would use JSON for similar tasks.
I met OFX [V1] as the import format for M$ MONEY (later Sunset) provided by my bank.
I got M$ MONEY for free from my bank to push Internet Banking in the 90ties. (on Win95,32bit,local language)
Some years after the Year2000 experience the support of local language MONEY and 32bit was dropped.
The successor (Sunrise) was only available as US version. [Guess how funny the conversion was]
The import using OFX [V1] remained, but it tuned out that it only accepts pure ASCII no ÄÖÜß....
As a further consequence, my banks stopped the support of OFX and offered CSV as a replacement.
- one of them delivered clean ASCII encoded files.
- the other struggled with horrible mistakes in OFX. So I decided to use CSV. But I received UTF-16LE encoding.
To stay with Sunset was the trigger to generate OFX [V1] myself and take care of transcoding.
The result is a small Production in Interoperability/Ensemble
divided into these steps:
- an InputFileService to look for fresh files trigger a customized input by bank into a local table to exclude duplicates and fix other nonsense as transcoding to pure 7bit US-ASCII or fixing odd headers
- a BPL Business Process to trigger the correct output from the relevant table
- Business Operations to produce clean and well-formatted OFX files based on
- a customized OFX_OutboundAdaptor parametrized by static information related to bank and account
- a Helper to add required information not supplied by any CSV. (e.g. account balance ) , Start / Stop the production, display the generated OFX_files (especially for Docker Containers)
- The final starter for MS MONEY was removed as it requires details of the working installation in Windows.
The described production is available as an example on OFX and part of the related contest.