Skip to content
PN Scripts

Business apps

Izvlechka

Turn the camt.053 or MT940 statements from your online bank into one Excel workbook, check that they add up, and see which invoices have been paid.

  • Python 3.10+
  • ISO 20022 camt.053
  • SWIFT MT940
  • XLSX
  • CSV
  • Coming soon

Coming soon

Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.

The matching report opened as LibreOffice exports it: eight made-up invoices with paid, partly paid and unpaid status, and the payments that paid them

What it solves

The gap

Finding out who paid which invoice means reading the bank statement line by line, retyping amounts into a spreadsheet and searching for invoice numbers that customers write in a dozen different ways.

What it is

Izvlechka turns the statement files the bank already gives you into a workbook and a list of invoices with their payment status, in seconds and on your own computer.

How you use it

The month's bank statement in Excel and the paid invoices ticked off, without retyping a line.

A one-time tool for small businesses, accountants and bookkeepers anywhere their bank exports camt.053 or MT940, who reconcile bank payments with invoices.

Who it is for

Use it when

  • A small company that checks every Monday which customers paid last week
  • An accountant who receives camt.053 files from clients and needs them in Excel for the books
  • A shop owner who matches bank transfers to pro forma invoices before shipping the order

Built for

  • Small businesses and freelancers who issue invoices and are paid by bank transfer
  • Accountants and bookkeepers who work with clients' bank statements

What is inside

Statements into one workbook

Give it one file or a whole month of daily files, camt.053 XML or MT940, and it writes every entry with booking and value date, signed amount, counterparty, IBAN, BIC, payment text, references and transaction code. Batch debits are split into each person, so salaries show up by name.

Does it add up

For every statement the opening balance plus the booked entries is compared with the closing balance. A difference means an entry or a page is missing from the export. Pending entries are listed but not counted, as the bank does, and duplicates from overlapping downloads are skipped and reported.

Payments matched to invoices

Incoming payments are matched by RF creditor reference, by invoice numbers in the payment text, including several numbers for one payment, by amount and payer name with Cyrillic and Latin compared, and finally by amount alone, marked for checking. Partial payments add up across months.

Runs anywhere Python runs

One file, izvlechka.pyz, runs with any Python 3.10 or newer on Windows, macOS or Linux, with nothing to install and nothing sent anywhere. Developers can install the wheel and use the same functions from their own code. Headings and messages are in Bulgarian or English.

Specs

Availability
Coming soon
Vendor
PN Scripts
Pricing
One-time purchase Price to be announced.
License
Proprietary
Deployment
Runs on your own computer with Python 3.10+; one file, no installation needed
Maturity
v1.0.0

Compatibility

Platform or runtime Supported versions Tested up to
Python 3.10 or newer 3.12
LibreOffice Any version 24.2 (opens the workbooks)

Stack

  • Python 3.10+
  • ISO 20022 camt.053
  • SWIFT MT940
  • XLSX
  • CSV

Izvlechka is coming soon

It is finished and tested. It is not on sale yet; this page will say where to get it when it is.

Coming soon

Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.

Questions

A Python command line tool and library that converts bank statements in camt.053, camt.052, camt.054 and MT940 format to Excel, CSV or JSON, checks their balances and matches incoming payments to a list of open invoices. It comes as a zip with a single runnable file, a wheel, the source, examples and a README.

Python 3.10 or newer on Windows, macOS or Linux, statement files exported from your online bank as camt.053 XML or MT940, and for matching a list of open invoices as CSV or Excel. Nothing else is installed. It was tested with Python 3.12.

PDF statements, bank-specific CSV exports, booking into accounting programs, currency conversion and reminders for unpaid invoices. It was not tried with statements from real banks during development; banks fill optional fields differently, so compare the first workbook with your statement.

Made by PN Scripts, a Sofia studio that builds games and tools, in Python with the standard library only, with amounts kept as exact decimals. Created with AI assistance; the code was written for this product and checked by PN Scripts with 16 automated tests and a buyer check in which LibreOffice opens the workbooks it writes.

It is not on sale yet. When it is, this page will link to the store; PN Scripts does not take payment on this site.