Popularity
3.5
Growing
Activity
0.0
Stable
6
3
8

Monthly Downloads: 0
Programming language: Elixir
License: MIT License
Tags: Text And Numbers    
Latest version: v1.1.2

mt940 alternatives and similar packages

Based on the "Text and Numbers" category

Do you think we are missing an alternative of mt940 or a related project?

Add another 'Text and Numbers' Package

README

MT940/MT942 parser for Elixir

Build Status Coverage Status Hex.pm Inline docs

This is a library to parse MT940 and MT942 account statements. It was ported from Ruby and is based on Thies C. Arntzen's mt940 library. The MT94x category of SWIFT messages are meant for customer statements and cash management:

  • MT940 is the standard structured Customer Statement Message format (end-of-day statement file which details all entries booked to a bank account). Usually you receive a customer statement message the next morning of the day of business.
  • MT942 is the standard structured Interim Transaction Report format. MT942 gives a report of the debits/credits any given time of the day.

Basic usage

Include a dependency in your mix.exs:

deps: [{:mt940, "~> 1.1.2"}, …]

use MT940 and parse! the raw input:

defmodule BankAccount do
  use MT940

  def balance(raw) when is_binary(raw) do
    %{amount: amount, currency: currency} = raw
    |> parse!
    |> Enum.at(-1)
    |> MT940.CustomerStatementMessage.closing_balance
    "#{amount} #{currency}"
  end

  def transactions(raw) when is_binary(raw) do
    raw
    |> parse!
    |> Enum.flat_map(&MT940.CustomerStatementMessage.statement_lines/1)
  end
end

If you want to have a more detailed, low-level list of MT940 commands, use the MT940.Parser.parse! command.

Specification

Find the specification in the MT940 Format Overview or in the SWIFT MT 940 Customer Statement Message Report.

Documentation

API documentation is available at http://hexdocs.pm/mt940.

Copyright (c) 2015-2016 Florian J. Breunig

Licensed under MIT, see LICENSE file.


*Note that all licence references and agreements mentioned in the mt940 README section above are relevant to that project's source code only.