railslove / cmxl

your friendly MT940 SWIFT file parser for bank statements
http://railslove.com
MIT License
46 stars 25 forks source link

Add support for SWIFT headers #9

Closed bumi closed 5 years ago

bumi commented 8 years ago

SWIFT headers like {1:F01AXISINBBAXXXXXXXXXXXXX}{2:I940XXXXXXXXAXXXN}{4: should be supported. see also issue #8

FooBarWidget commented 7 years ago

I want to report that ING in the Netherlands also has MT940 files with such SWIFT headers.

bumi commented 7 years ago

Hi @FooBarWidget thanks for the report. good to know. Do the headers contain information that you need? Sadly I am currently lacking time to add this functionality.

FooBarWidget commented 7 years ago

MT940 looks like arcane magic to me so I don't know how to answer that question. :) I haven't been able to parse my files using any Ruby parser library so I've switched to using CAMT053 XML files.

bumi commented 7 years ago

sorry to hear that. maybe we should just strip it by default as the headers are mostly not needed and just cause problems. parsing should work fine if you remove the header.

But if you can use CAMT53 it is the better format to use anyway. Thanks for reporting and let me know if there is anything that I can help with.

bumi commented 7 years ago

could you provide a sample file of your format?

FooBarWidget commented 7 years ago

I can't provide a full sample, but maybe it's helpful if I provide the beginning (with some info stripped out):

{1:F01INGBNL2ABXXX0000000000}
{2:I940INGBNL2AXXXN}
{4:
:20:P161007000000001
:25:<some IBAN here>EUR
:28C:00000
:60F:C160831EUR1234,56
:61:1609130913D1700,05NTRFEREF//16257002497622
/TRCD/00100/
:86:/EREF/<some description>//CNTP/<some IBAN here>/<some BIC here>
/<vendor name here>///REMI/USTD//<another description>/

It seems the parser bailed out at the first line.

bumi commented 7 years ago

great thanks!

yes, the first 3 lines ({1: ...) are some header data the actual MT940 starts at :20: / after {:4

if you strip that header it should work. but as some banks have this header data the parser should support it.

Uepsilon commented 5 years ago

fixed by #13

Uepsilon commented 5 years ago

included in new release 1.2.0