Sha256: 8c48608907b80bf2ce4eb660b4a078f68c0471f0fb9882b94d7eddf11ce40a40

Contents?: true

Size: 883 Bytes

Versions: 3

Compression:

Stored size: 883 Bytes

Contents

class MT940::Abnamro < MT940::Base

  def self.determine_bank(*args)
    self if args[0].match(/ABNANL/)
  end

  def parse_tag_61
    if @line.match(/^:61:(\d{6})\d{4}(C|D)(\d+),(\d{0,2})/)
      type = $2 == 'D' ? -1 : 1
      @transaction = MT940::Transaction.new(:bank_account => @bank_account, :amount => type * ($3 + '.' + $4).to_f, :bank => @bank)
      @transaction.date = parse_date($1)
      @transactions << @transaction
      @tag86 = false
    end
  end

  def parse_contra_account
    if @transaction
      if @transaction.description.match(/^(GIRO)\s+(\d+)(.+)/)
        @transaction.contra_account = $2.rjust(9, '000000000')
        @transaction.description    = $3
      elsif @transaction.description.match(/^(\d{2}.\d{2}.\d{2}.\d{3})(.+)/)
        @transaction.description    = $2
        @transaction.contra_account = $1.gsub('.','')
      end
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mt940-0.6.5 lib/mt940/banks/abnamro.rb
mt940-0.6.4 lib/mt940/banks/abnamro.rb
mt940-0.6.3 lib/mt940/banks/abnamro.rb