| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 10 hours | payroll: design chapter | Anders Betts | |
| 10 hours | docs: prune STATE into a decision archive; record the branch rule | Anders Betts | |
| Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> | |||
| 20 hours | deploy: cross-compile static aarch64 for the Alpine imagev0.1.54 | Anders Betts | |
| 20 hours | tui: bank prefill vouchers and auto-match after posting | Anders Betts | |
| 20 hours | docs: render enum args as type(values) in the generated catalogue | Anders Betts | |
| 20 hours | docs: generate the command catalogue from the command tables | Anders Betts | |
| Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> | |||
| 21 hours | tui: split bokftui into screen files | Anders Betts | |
| 23 hours | commands: split the command table by domain | Anders Betts | |
| 23 hours | tui: bankgiro and our ref belong to Företagsuppgifterv0.1.53 | Anders Betts | |
| 27 hours | tui: set the next invoice number from the listv0.1.52 | Anders Betts | |
| 27 hours | docs: invoicing waves 1-3 completev0.1.51 | Anders Betts | |
| 27 hours | tui: fakturering with invoice form, preview and send | Anders Betts | |
| 27 hours | docs: document the invoice_our_ref setting | Anders Betts | |
| 27 hours | deploy: pass BOKFD_SECRET_KEY through compose; document waves 1-2 | Anders Betts | |
| 27 hours | invoice: send the issued PDF over SMTP | Anders Betts | |
| 27 hours | settings: encrypted secrets and SMTP settings | Anders Betts | |
| 27 hours | invoice: skip the Swish QRv0.1.50 | Anders Betts | |
| 27 hours | invoice: allow setting the bankgiro, document wave 1 | Anders Betts | |
| 28 hours | invoice: customer, sequence, preview and issue commands | Anders Betts | |
| 28 hours | invoice: render the document as PDF | Anders Betts | |
| 28 hours | db: schema v9 for invoicing, vouchers source rebuild | Anders Betts | |
| 28 hours | invoicing: keep customers in Register per the menu rule | Anders Betts | |
| 28 hours | invoicing: design chapter with layout, numbering and SMTP | Anders Betts | |
| 30 hours | docs: bank reconciliation phase 1v0.1.49 | Anders Betts | |
| 30 hours | bank: import SEB CSV and match against vouchers (schema v8) | Anders Betts | |
| 32 hours | db: make attachments append-only (schema v7) | Anders Betts | |
| 32 hours | tui: pinned report headers, voucher detail headers, clamped pagingv0.1.48 | Anders Betts | |
| 33 hours | docs: mark the moms rule editor and pre-migration snapshot donev0.1.46 | Anders Betts | |
| 33 hours | report: per-org moms rule editor commands | Anders Betts | |
| 33 hours | db: snapshot the database before forward migrations | Anders Betts | |
| When db_open finds an older schema version, write a consistent VACUUM INTO copy to <backup_dir>/pre-migration-v<old>-<UTC>.db before the first migration statement. A taken name gets a numeric suffix; if the snapshot fails, the open and the migration abort. | |||
| 33 hours | tests: wire check, pty and sanitizer targets and document them | Anders Betts | |
| 33 hours | commands: declarative argument schemas with dispatch validation | Anders Betts | |
| 33 hours | scripts: check command and error-code drift against the docs | Anders Betts | |
| 34 hours | deploy: alpine runtime image with the daemon and CLI onlyv0.1.45 | Anders Betts | |
| 34 hours | audit: verify voucher chains and attachment hashes | Anders Betts | |
| 43 hours | tui: remember the focused row in forms and the bokslut hubv0.1.44 | Anders Betts | |
| 43 hours | tui: bokslut hub with year fields, reports and the posting actionv0.1.43 | Anders Betts | |
| 44 hours | tui: backspace deletes backwards while editing; esc restores the valuev0.1.41 | Anders Betts | |
| 44 hours | tui: themes, pager markup, menu sections; merge Bokslut and year infov0.1.40 | Anders Betts | |
| 44 hours | tui: form fields on the row-table screen; home/end/pgup/pgdn navigationv0.1.39 | Anders Betts | |
| 44 hours | tui: migrate the remaining screens to the widget layerv0.1.38 | Anders Betts | |
| 45 hours | tui: shared widget layer (fields, prompts, lists, forms, pager) + testsv0.1.36 | Anders Betts | |
| 46 hours | årsredovisning: Information om året per räkenskapsår (schema v6)v0.1.34 | Anders Betts | |
| 47 hours | 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 | |
| sru.export now returns the emitted fields as ink2/ink2r/ink2s arrays plus from/to, so Rapporter -> Inkomstdeklaration (INK2/SRU) renders the declaration as a table with the official fältnamn before saving; unmapped accounts are listed in the view. The voucher list puts the verifikat id before the date, widens the column gaps and adds an inner margin. | |||
| 3 days | bokslut, INK2/SRU export and attachment markersv0.1.30 | Anders Betts | |
| - bokslut.post: year-end bookings (manual entries, periodiseringsfond, skatt at a given rate, resultatdisposition) with a dry-run plan through the normal ledger path; the resultatrapport separates bokslutsdispositioner and skatt per K2. - sru.export: INFO.SRU + BLANKETTER.SRU (INK2/INK2R/INK2S) from the official 2025P4 field tables and the BAS mapping, with manual INK2S adjustments, submitter defaults and unmapped-account detection; the TUI writes both files from Rapporter -> Inkomstdeklaration. - voucher.list carries attachment_count and the voucher list marks vouchers with underlag with an x column. - date_prompt restores the cursor state so it stops blinking at the bottom after the report date prompts. | |||
| 3 days | attachments: link/unlink from the TUI, multi-voucher linksv0.1.29 | Anders Betts | |
| The voucher detail can attach a file to an existing voucher (^F) and the underlag picker (f) can remove a link (d, confirmed). The Underlag inbox links a highlighted item to a voucher picked from a list (k). attachment.link and attachment.unlink are new write commands (dry-run, audited); unlinked files return to the inbox. The same content may now link to several vouchers — only the same voucher/attachment pair is a CONFLICT, matching the table's primary key. | |||
| 3 days | eskd: generate the momsdeklaration file (eSKDUpload 6.0)v0.1.28 | Anders Betts | |
| report.vat_eskd builds the ISO-8859-1 XML from report.vat: whole kronor with öre truncated like the blankett, box 48 positive as filed, MomsBetala computed from the whole-krona boxes, and an optional upplysning converted from UTF-8, XML-escaped and capped at 300 characters. The TUI momsrapport gains "s = spara eSKD", prompting for a path and writing the bytes verbatim. Verified against the FY2027 Kapitas report: 05=703200, 10=175800, 20=1453, 30=851, 48=1030, 49=175621. | |||
| 3 days | bokftui: Huvudbok/Verifikationslista views, Räkenskapsår screen, ^Enter/^Xv0.1.27 | Anders Betts | |
| The report menu gains Kapitas-style Huvudbok and Verifikationslista tables. "Byt räkenskapsår" is now "Räkenskapsår": the list shows öppen/stängd and ^A closes or reopens the highlighted year (via the new fiscal_year.reopen). Menus remember the selection, Mallar opens straight into the list (Enter edit, ^N new, d arkivera), report tables get column rules and aligned sums, and text_view clears stale lines. Footer hints write control keys as ^N/^A/^C/^R/^X, ^Enter saves or posts a form and ^X clears the focused row (F9 still works as a fallback). | |||
