Parser for Norma43 bank account documents, commonly used in spanish banks to retrieve account movements. It supports Python 3.6 onwards.
$ pip install norma43parserfrom 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)Class Norma43Document:
accounts:ListofAccountobjects.reported_entries: number of reported n43 file entries.
Class Account:
header: aHeaderobject.movement_lines:ListofrMovementLineobjectsfooter: aFooterobject.
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).