| Age | Commit message (Expand) | Author |
| 69 min. | settings: per-feature voucher series and console invoice number; tui: F9 hintsv0.1.60 | Anders Betts |
| 8 hours | tls: load the system CA bundle explicitly under static OpenSSLv0.1.58 | Anders Betts |
| 12 hours | commands: db_row_json and db_exec_bound helpers | Anders Betts |
| 12 hours | mail: honor smtp_reply_to; mention payroll in agent instructions | Anders Betts |
| 13 hours | payroll: lönebesked PDF and mail (schema v11) | Anders Betts |
| 14 hours | payroll: employees, tax tables and the monthly run (schema v10) | Anders Betts |
| 24 hours | docs: generate the command catalogue from the command tables | Anders Betts |
| 25 hours | sru: bound the org-nr copy so -Werror builds are clean | Anders Betts |
| 25 hours | commands: shared DB-error helpers | Anders Betts |
| 27 hours | commands: split the command table by domain | Anders Betts |
| 31 hours | settings: allow invoice_our_ref | Anders Betts |
| 31 hours | invoice: send the issued PDF over SMTP | Anders Betts |
| 31 hours | smtp: send messages with a PDF attachment | Anders Betts |
| 31 hours | secret: build it as its own unit | Anders Betts |
| 31 hours | settings: encrypted secrets and SMTP settings | Anders Betts |
| 31 hours | invoice: allow setting the bankgiro, document wave 1 | Anders Betts |
| 31 hours | invoice: customer, sequence, preview and issue commands | Anders Betts |
| 32 hours | invoice: render the document as PDF | Anders Betts |
| 32 hours | db: schema v9 for invoicing, vouchers source rebuild | Anders Betts |
| 32 hours | invoice: extract the Comfortaa wordmark as vector paths | Anders Betts |
| 32 hours | pdf: minimal PDF writer for generated documents | Anders Betts |
| 34 hours | bank: import SEB CSV and match against vouchers (schema v8) | Anders Betts |
| 36 hours | db: make attachments append-only (schema v7) | Anders Betts |
| 37 hours | report: per-org moms rule editor commands | Anders Betts |
| 37 hours | db: snapshot the database before forward migrations | Anders Betts |
| 37 hours | ledger: free the default-series string on every post error path | Anders Betts |
| 37 hours | commands: declarative argument schemas with dispatch validation | Anders Betts |
| 38 hours | audit: verify voucher chains and attachment hashes | Anders Betts |
| 2 days | årsredovisning: Information om året per räkenskapsår (schema v6)v0.1.34 | Anders Betts |
| 2 days | bokslut: TUI screen, K2 årsredovisning draft, storable dividend (schema v4)v0.1.33 | Anders Betts |
| 2 days | attachments: list every link when filtering by voucherv0.1.32 | Anders Betts |
| 3 days | sru: INK2 report view in the TUI; voucher list tweaksv0.1.31 | Anders Betts |
| 3 days | bokslut, INK2/SRU export and attachment markersv0.1.30 | Anders Betts |
| 3 days | attachments: link/unlink from the TUI, multi-voucher linksv0.1.29 | Anders Betts |
| 3 days | eskd: generate the momsdeklaration file (eSKDUpload 6.0)v0.1.28 | Anders Betts |
| 3 days | reports: huvudbok and verifikationslista; fiscal_year.reopen | Anders Betts |
| 3 days | reports: Kapitas-style TUI tables, corrected moms rules (schema v3)v0.1.26 | Anders Betts |
| 4 days | bokfd: re-exec via PATH so a bare argv[0] works; faster healthcheckv0.1.16 | Anders Betts |
| 4 days | deploy: --dev hot-reloads the daemon via docker cp + SIGHUPv0.1.14 | Anders Betts |
| 4 days | bokftui: Företagsuppgifter screen; org.update dry-runv0.1.7 | Anders Betts |
| 4 days | sie: import CRLF, #RAR 0, zero rows; skip #IB with prior historyv0.1.6 | Anders Betts |
| 4 days | Implement org.update (owner) and cover it in testsv0.1.5 | Anders Betts |
| 4 days | Add token login to bokfctl and enforce admin scope for tokensv0.1.3 | Anders Betts |
| 4 days | Add native TLS transport, TLS clients and lego cert sidecarv0.1.1 | Anders Betts |
| 4 days | Initial commit: daemon, clients, docs, Docker deploy pipelinev0.1.0 | Anders Betts |