Parser for Norma43 bank account documents, commonly used in spanish banks to retrieve account movements. It supports Python 3.6 onwards.
$ pip install norma43parserfromnorma43parserimportNorma43Parser, DateFormatparser=Norma43Parser(DateFormat.SPANISH)
# it reads dates in DMY format, for YMD use DateFormat.ENGLISHcontents=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).