Developing a standalone software solution for financial data processing
Ilves, Aleksander (2025)
Ilves, Aleksander
2025
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2025-02-26
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202502192281
https://urn.fi/URN:NBN:fi:tuni-202502192281
Tiivistelmä
Transferring bank transaction data into bookkeeping systems is a manual, time-consuming, and error-prone process for companies in Finland that lack a Web Service connection that would automate this process. This thesis presents the development process of a software solution that addresses these challenges.
A comprehensive analysis was conducted, covering Finnish accounting practices, legal requirements, and existing tools and methods for importing bank transactions into bookkeeping systems. The analysis revealed that currently available solutions, such as tabular file exports and imports, Account Information Service APIs, and PDF extraction tools, are not optimal for this process. These methods proved to be either costly, dependent on manual data entry, or inaccurate.
To resolve these issues, in this thesis, a standalone software solution is produced that automates the extraction and structuring of transaction data from PDF bank statements into a file format that can be imported to bookkeeping systems. The solution’s architecture, technical decisions, and rationale for them are presented and evaluated in detail. The produced application is based on a modular Model-View-Controller architecture, ensuring extensibility, adaptability, and maintainability in the long term. Key features include automated PDF parsing, data validation, and an access management system.
The produced software’s performance was validated using 100 bank statements. The results showed accuracy of 97% in extracting transaction data and a significant reduction in processing time compared to manual methods—from 20 minutes to 3 seconds per statement. The software successfully handled variations in bank statement formats and addressed edge cases. User feedback confirmed its ability to streamline workflows, minimize manual effort, and enhance data integrity.
Thesis demonstrates how software solutions can substantially improve or even replace manual processes, while improving work quality by reducing errors. It also highlights the importance of architectural choices in software development to ensure the extensibility and adaptability of produced solutions to evolving needs. Pankkitilin tilitapahtumien vieminen kirjanpitojärjestelmiin on manuaalinen, aikaa vievä ja virhealtis prosessi Suomessa toimiville yrityksille, joilla ei ole prosessia automatisoivaa Web Service -yhteyttä. Tässä opinnäytetyössä esitellään ohjelmistoratkaisun kehitysprosessi, jonka lopputulos pyrkii ratkaisemaan nämä haasteet.
Työssä käydään läpi suomalaiset kirjanpitokäytännöt ja -prosessit, lakisääteiset vaatimukset sekä analysoidaan olemassa olevia työkaluja ja menetelmiä, joilla tilitapahtumia voidaan viedä kirjanpitoon. Analyysi paljastaa, että olemassa olevat ratkaisut kuten, taulukkomuotoisen tiedoston vienti ja tuonti, Account Information Service -rajapinnat sekä PDF-työkalut eivät ole optimaalisia tähän prosessiin. Nämä menetelmät osoittautuivat joko kalliiksi, riippuvaisiksi manuaalisesta datan syötöstä tai epätarkoiksi tilitapahtumien käsittelyssä.
Näiden haasteiden ratkaisemiseksi työssä toteutettiin ohjelmistoratkaisu, joka automatisoi tilitapahtumien irrottamisen ja rakenteistamisen PDF-muotoisista pankkitiliotteista tiedostomuotoon, joka on vietävissä kirjanpitojärjestelmiin. Ratkaisun arkkitehtuuri ja tekniset valinnat sekä niiden taustalla olevat perusteet esitellään ja arvioidaan yksityiskohtaisesti. Lopputuloksena syntyi modulaariseen Model-View-Controller-arkkitehtuuriin pohjautuva sovellus, joka mahdollistaa laajennettavuuden, mukautuvuuden ja ylläpidettävyyden pitkällä aikavälillä. Ohjelmiston keskeisiä ominaisuuksia ovat PDF-tiedostojen automaattinen jäsentäminen, datan validointi ja pääsynhallintajärjestelmä.
Tuotetun ohjelmiston suorituskykyä validoitiin 100 pankkitiliotteen avulla. Tulokset osoittivat 97 prosentin tarkkuuden tapahtumatietojen poiminnassa ja merkittävän parannuksen käsittelyajassa verrattuna manuaaliseen prosessiin—20 minuutista 3 sekuntiin per tiliote. Ohjelmisto kykeni myös käsittelemään pankkitiliotteiden formaattivaihtelut ja poikkeustapaukset. Käyttäjäpalaute vahvisti ohjelmiston kyvyn tehostaa työskentelyä, minimoida manuaalinen työ ja parantaa tietojen eheyttä.
Opinnäytetyö osoittaa, kuinka ohjelmistoratkaisut voivat tehostaa manuaalisia prosesseja merkittävästi tai jopa korvata ne kokonaan, samalla parantaen työn laatua ja vähentäen virheiden määrää. Samalla työ korostaa arkkitehtuurivalintojen tärkeyttä ohjelmistokehityksessä, jotta varmistetaan tuotettujen ratkaisujen laajennettavuus ja mukautuvuus muuttuviin tarpeisiin.
A comprehensive analysis was conducted, covering Finnish accounting practices, legal requirements, and existing tools and methods for importing bank transactions into bookkeeping systems. The analysis revealed that currently available solutions, such as tabular file exports and imports, Account Information Service APIs, and PDF extraction tools, are not optimal for this process. These methods proved to be either costly, dependent on manual data entry, or inaccurate.
To resolve these issues, in this thesis, a standalone software solution is produced that automates the extraction and structuring of transaction data from PDF bank statements into a file format that can be imported to bookkeeping systems. The solution’s architecture, technical decisions, and rationale for them are presented and evaluated in detail. The produced application is based on a modular Model-View-Controller architecture, ensuring extensibility, adaptability, and maintainability in the long term. Key features include automated PDF parsing, data validation, and an access management system.
The produced software’s performance was validated using 100 bank statements. The results showed accuracy of 97% in extracting transaction data and a significant reduction in processing time compared to manual methods—from 20 minutes to 3 seconds per statement. The software successfully handled variations in bank statement formats and addressed edge cases. User feedback confirmed its ability to streamline workflows, minimize manual effort, and enhance data integrity.
Thesis demonstrates how software solutions can substantially improve or even replace manual processes, while improving work quality by reducing errors. It also highlights the importance of architectural choices in software development to ensure the extensibility and adaptability of produced solutions to evolving needs.
Työssä käydään läpi suomalaiset kirjanpitokäytännöt ja -prosessit, lakisääteiset vaatimukset sekä analysoidaan olemassa olevia työkaluja ja menetelmiä, joilla tilitapahtumia voidaan viedä kirjanpitoon. Analyysi paljastaa, että olemassa olevat ratkaisut kuten, taulukkomuotoisen tiedoston vienti ja tuonti, Account Information Service -rajapinnat sekä PDF-työkalut eivät ole optimaalisia tähän prosessiin. Nämä menetelmät osoittautuivat joko kalliiksi, riippuvaisiksi manuaalisesta datan syötöstä tai epätarkoiksi tilitapahtumien käsittelyssä.
Näiden haasteiden ratkaisemiseksi työssä toteutettiin ohjelmistoratkaisu, joka automatisoi tilitapahtumien irrottamisen ja rakenteistamisen PDF-muotoisista pankkitiliotteista tiedostomuotoon, joka on vietävissä kirjanpitojärjestelmiin. Ratkaisun arkkitehtuuri ja tekniset valinnat sekä niiden taustalla olevat perusteet esitellään ja arvioidaan yksityiskohtaisesti. Lopputuloksena syntyi modulaariseen Model-View-Controller-arkkitehtuuriin pohjautuva sovellus, joka mahdollistaa laajennettavuuden, mukautuvuuden ja ylläpidettävyyden pitkällä aikavälillä. Ohjelmiston keskeisiä ominaisuuksia ovat PDF-tiedostojen automaattinen jäsentäminen, datan validointi ja pääsynhallintajärjestelmä.
Tuotetun ohjelmiston suorituskykyä validoitiin 100 pankkitiliotteen avulla. Tulokset osoittivat 97 prosentin tarkkuuden tapahtumatietojen poiminnassa ja merkittävän parannuksen käsittelyajassa verrattuna manuaaliseen prosessiin—20 minuutista 3 sekuntiin per tiliote. Ohjelmisto kykeni myös käsittelemään pankkitiliotteiden formaattivaihtelut ja poikkeustapaukset. Käyttäjäpalaute vahvisti ohjelmiston kyvyn tehostaa työskentelyä, minimoida manuaalinen työ ja parantaa tietojen eheyttä.
Opinnäytetyö osoittaa, kuinka ohjelmistoratkaisut voivat tehostaa manuaalisia prosesseja merkittävästi tai jopa korvata ne kokonaan, samalla parantaen työn laatua ja vähentäen virheiden määrää. Samalla työ korostaa arkkitehtuurivalintojen tärkeyttä ohjelmistokehityksessä, jotta varmistetaan tuotettujen ratkaisujen laajennettavuus ja mukautuvuus muuttuviin tarpeisiin.