ProductPromotion
Logo

Elixir

made by https://0x3d.site

GitHub - my-flow/mt940: MT940 parser for Elixir
MT940 parser for Elixir. Contribute to my-flow/mt940 development by creating an account on GitHub.
Visit Site

GitHub - my-flow/mt940: MT940 parser for Elixir

GitHub - my-flow/mt940: MT940 parser for Elixir

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 & License

Copyright (c) 2015-2016 Florian J. Breunig

Licensed under MIT, see LICENSE file.

Articles
to learn more about the elixir concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here 🔥.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here 🔥.

Queries
or most google FAQ's about Elixir.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory