{{define "nav"}}
bookkeeping ยท 2026
buildout of internal tooling the hardship of this endiver and leason learn of programming for reliability and easy use.
Book keeping and other record keeping tasks, benefit of not having a real deletation of data/infomation. Rather have a record of change.
Programming can be a chore, but for me it's a source of joy. It's something I do as a hobby, and I don't use LLMs much. It's about having fun and making a fool of yourself. It's not about how good it is, in this case, I'd rather just listen to music and drink a cup of tea. I enjoy the struggle to debug, the small beauty in understanding why a bug was there in the first place.
I chose SQLite3 because it's a SQL-based database that doesn't need a live server, just a single db file. The idea is to use a monolith to control the book records, so no collisions should happen. The IDs and other fields are kept very basic because of SQLite's minimal type support. Entries are ints and strings. The history of changes, saved as events, is stored as blobs, since retrieving these should only happen on rare occasions. Mostly the resulting changes are saved, while the more granular event-by-business-action log is timestamped, and its id relates to the resulting entries (account movements).
Space can be a concern, so I save attachments in a compressed format. By separating attachments, a linked
directory could be saved on a hard disk drive instead, as these will probably almost never get accessed after
saving. Only occasionally in an audit scenario.
The filename is the id from the db. This way, if there's ever a corruption scare, I could read the db as a
text file and find the metadata from the id. It also makes naming irrelevant, so filenames can't collide.
later versions will have more user account restricted access, in this beta version, web access is consider the same user.
I can assume all actions is myself as i self host on my local network.
This is first look at the testing of the web ui of the bookkeeping software.
The alerts represent the current failure to comply with the law, is no attachments have been filed to these evenets.
The Blue highlighted event of synthitc nature, as it is created by the system as the resulting section of the book have yet to be moved to balance as a result.
Most of these posted done via the command line (cli) tool as this will give 100% control of the events and the underlying entries
Depreciation and amortization will soon be automatic as "notes" will soon contain the data such as lifespan of assets and other human insight infomation, like the accoutning method in use.
Command: ./klacq_acc_linux_xx.xx --port=8081
Password enable by setting ".env" file with PASSWORD_HASH="secret" secret is bcrypt
Free to run on your own machine or server. No account needed.
| /data/app.db | Main database |
| /data/attachments | Receipts & documents |
| /data/reports | Generated reports |
| /data/config.json | company info |