aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
30 hourstui: bankgiro and our ref belong to Företagsuppgifterv0.1.53Anders Betts
34 hourstui: set the next invoice number from the listv0.1.52Anders Betts
34 hoursdocs: invoicing waves 1-3 completev0.1.51Anders Betts
34 hourstui: fakturering with invoice form, preview and sendAnders Betts
34 hoursdocs: document the invoice_our_ref settingAnders Betts
34 hourssettings: allow invoice_our_refAnders Betts
34 hoursdeploy: pass BOKFD_SECRET_KEY through compose; document waves 1-2Anders Betts
34 hoursinvoice: send the issued PDF over SMTPAnders Betts
34 hoursbuild: wire the SMTP client into the test suiteAnders Betts
34 hourssmtp: send messages with a PDF attachmentAnders Betts
34 hourssecret: build it as its own unitAnders Betts
34 hourssettings: encrypted secrets and SMTP settingsAnders Betts
35 hoursinvoice: skip the Swish QRv0.1.50Anders Betts
35 hoursinvoice: allow setting the bankgiro, document wave 1Anders Betts
35 hoursinvoice: customer, sequence, preview and issue commandsAnders Betts
35 hoursbuild: wire the invoice renderer into the test suiteAnders Betts
35 hoursinvoice: render the document as PDFAnders Betts
35 hoursdb: schema v9 for invoicing, vouchers source rebuildAnders Betts
35 hoursinvoice: extract the Comfortaa wordmark as vector pathsAnders Betts
35 hourspdf: minimal PDF writer for generated documentsAnders Betts
35 hoursinvoicing: keep customers in Register per the menu ruleAnders Betts
35 hoursinvoicing: design chapter with layout, numbering and SMTPAnders Betts
37 hoursdocs: bank reconciliation phase 1v0.1.49Anders Betts
37 hourstests: bank reconciliation pty scenarioAnders Betts
37 hourstui: bank reconciliation screenAnders Betts
37 hoursbank: import SEB CSV and match against vouchers (schema v8)Anders Betts
39 hoursdb: make attachments append-only (schema v7)Anders Betts
40 hourstui: pinned report headers, voucher detail headers, clamped pagingv0.1.48Anders Betts
40 hourstui: align list rows beyond nine itemsv0.1.47Anders Betts
40 hoursdocs: mark the moms rule editor and pre-migration snapshot donev0.1.46Anders Betts
40 hourstests: momsregler pty scenarioAnders Betts
40 hourstui: momsregler screen for the vat report rulesAnders Betts
40 hoursreport: per-org moms rule editor commandsAnders Betts
40 hoursdb: snapshot the database before forward migrationsAnders 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.
40 hoursbuild: ignore the sanitizer build directoriesAnders Betts
40 hourstests: wire check, pty and sanitizer targets and document themAnders Betts
40 hoursledger: free the default-series string on every post error pathAnders Betts
40 hourscommands: declarative argument schemas with dispatch validationAnders Betts
40 hoursscripts: check command and error-code drift against the docsAnders Betts
40 hourstests: pty golden harness for the TUIAnders Betts
41 hoursdeploy: alpine runtime image with the daemon and CLI onlyv0.1.45Anders Betts
41 hoursaudit: verify voucher chains and attachment hashesAnders Betts
2 daystui: remember the focused row in forms and the bokslut hubv0.1.44Anders Betts
2 daystui: bokslut hub with year fields, reports and the posting actionv0.1.43Anders Betts
2 daystui: bokslut footer explains the plan/post keysv0.1.42Anders Betts
2 daystui: backspace deletes backwards while editing; esc restores the valuev0.1.41Anders Betts
2 daystui: themes, pager markup, menu sections; merge Bokslut and year infov0.1.40Anders Betts
2 daystui: form fields on the row-table screen; home/end/pgup/pgdn navigationv0.1.39Anders Betts
2 daystui: migrate the remaining screens to the widget layerv0.1.38Anders Betts
2 daystui: row table widget (dynamic rows, trailing blank row) + testsv0.1.37Anders Betts