sergief / norma43parser

Norma43 Bank file format parser

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Norma 43 Parser

Build status Code style: black Checked with mypy

Parser for Norma43 bank account documents, commonly used in spanish banks to retrieve account movements. It supports Python 3.6 onwards.

How to install

$ pip install norma43parser

How to use it

from norma43parser import Norma43Parser, DateFormat                                                                                                                                                                                            

parser = Norma43Parser(DateFormat.SPANISH)
# it reads dates in DMY format, for YMD use DateFormat.ENGLISH

contents = open('./file.n43','r').read()                                                                                                                                                                           

n43 = parser.parse(contents)

Norma43Document Model

Class Norma43Document:

  • accounts: List of Account objects.
  • reported_entries: number of reported n43 file entries.

Class Account:

  • header: a Header object.
  • movement_lines: List ofr MovementLine objects
  • footer: a Footer object.

Class Header:

  • bank_code: string.
  • branch_code: string.
  • account_number: string.
  • start_date: date.
  • end_date: date.
  • initial_balance: Decimal.
  • currency: string in ISO-4217 (number).
  • information_mode_code: string.
  • account_name: string.

Class MovementLine:

  • branch_code: string.
  • transaction_date: date.
  • value_date: date.
  • amount: Decimal.
  • balance: Decimal.
  • description: string.
  • extra_information: List of strings.

Class Footer:

  • bank_code: string.
  • branch_code: string.
  • account_number: string.
  • debit_entries: integer.
  • debit_amount: Decimal.
  • credit_entries: integer.
  • credit_amount: Decimal.
  • final_balance: Decimal.
  • currency: string in ISO-4217 (number).

About

Norma43 Bank file format parser

License:MIT License


Languages

Language:Python 100.0%