Lxledger: powerglue for small enterprise plain text accounting
Vermeylen, Pieter (2025)
Vermeylen, Pieter
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202505059120
https://urn.fi/URN:NBN:fi:amk-202505059120
Tiivistelmä
Plain text accounting in which accounting entries are saved in the plain text format and edited using a plain text editor may provide the lowest barrier of entry for programmers to get started with accounting. Out of the box however, plain text accounting falls short for business accounting purposes.
This thesis explores whether the development of a command line application called lxledger can speed up the accounting of Luminix. Luminix is a small language technology company that is using plain text accounting for its simplicity. However, manually entering invoices, bills and bank statements has been slow and error prone. Tools that automate these actions are widespread and generally well received in accounting.
To guide lxledger software development, a plan-driven software development methodology was chosen over an agile approach. This choice was made to gain experience with plan-driven software development and because it is a good fit for the lxledger project. Keep It Simple Stupid (KISS) was also selected as a guiding principle for the software project.
The thesis structure broadly follows the Software Development Life Cycle (SDLC) from design to acceptance testing. The program scope and features are defined using gradually more specific diagrams. The initial diagrams identify actors, tasks, data sources and the relationships between them. This was then translated into implementation by adding the data layer and application API diagrams. The implementation of the lxledger user interface, business logic, data layer, testing framework and acceptance testing are briefly introduced.
Both the objective to speed up Luminix accounting and the plan-driven approach to software development are considered a success. All planned features have been implemented. Real world usage has shown tangible accounting speed improvements.
The thesis concludes by suggesting future lxledger improvements, explaining the use of AI and recommending a nuanced approach to software development methodology that uses elements of plan-driven and agile approaches based on how well they fit a particular project.
This thesis explores whether the development of a command line application called lxledger can speed up the accounting of Luminix. Luminix is a small language technology company that is using plain text accounting for its simplicity. However, manually entering invoices, bills and bank statements has been slow and error prone. Tools that automate these actions are widespread and generally well received in accounting.
To guide lxledger software development, a plan-driven software development methodology was chosen over an agile approach. This choice was made to gain experience with plan-driven software development and because it is a good fit for the lxledger project. Keep It Simple Stupid (KISS) was also selected as a guiding principle for the software project.
The thesis structure broadly follows the Software Development Life Cycle (SDLC) from design to acceptance testing. The program scope and features are defined using gradually more specific diagrams. The initial diagrams identify actors, tasks, data sources and the relationships between them. This was then translated into implementation by adding the data layer and application API diagrams. The implementation of the lxledger user interface, business logic, data layer, testing framework and acceptance testing are briefly introduced.
Both the objective to speed up Luminix accounting and the plan-driven approach to software development are considered a success. All planned features have been implemented. Real world usage has shown tangible accounting speed improvements.
The thesis concludes by suggesting future lxledger improvements, explaining the use of AI and recommending a nuanced approach to software development methodology that uses elements of plan-driven and agile approaches based on how well they fit a particular project.
