summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
27 hourspayroll: design chapterAnders Betts
27 hoursdocs: prune STATE into a decision archive; record the branch ruleAnders Betts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
27 hoursbuild: run gate in its own build directoryAnders Betts
36 hoursdeploy: cross-compile static aarch64 for the Alpine imagev0.1.54Anders Betts
36 hoursbuild: gate builds the clients too, not just the testsAnders Betts
37 hourstui: bank prefill vouchers and auto-match after postingAnders Betts
37 hoursdocs: render enum args as type(values) in the generated catalogueAnders Betts
37 hoursdocs: generate the command catalogue from the command tablesAnders Betts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
37 hoursbokftui-bw: fall back to the checkout in the current directoryAnders Betts
37 hoursbokftui-bw: default to the checkout's build/bokftuiAnders Betts
37 hoursbuild: make gate with WERROR and a pre-push hookAnders Betts
37 hourssru: bound the org-nr copy so -Werror builds are cleanAnders Betts
37 hourscommands: shared DB-error helpersAnders Betts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
37 hourstui: split bokftui into screen filesAnders Betts
38 hourstests: named test_core sections with --onlyAnders Betts
39 hourscommands: split the command table by domainAnders Betts
39 hourstui: bankgiro and our ref belong to Företagsuppgifterv0.1.53Anders Betts
43 hourstui: set the next invoice number from the listv0.1.52Anders Betts
43 hoursdocs: invoicing waves 1-3 completev0.1.51Anders Betts
43 hourstui: fakturering with invoice form, preview and sendAnders Betts
43 hoursdocs: document the invoice_our_ref settingAnders Betts
43 hourssettings: allow invoice_our_refAnders Betts
43 hoursdeploy: pass BOKFD_SECRET_KEY through compose; document waves 1-2Anders Betts
43 hoursinvoice: send the issued PDF over SMTPAnders Betts
44 hoursbuild: wire the SMTP client into the test suiteAnders Betts
44 hourssmtp: send messages with a PDF attachmentAnders Betts
44 hourssecret: build it as its own unitAnders Betts
44 hourssettings: encrypted secrets and SMTP settingsAnders Betts
44 hoursinvoice: skip the Swish QRv0.1.50Anders Betts
44 hoursinvoice: allow setting the bankgiro, document wave 1Anders Betts
44 hoursinvoice: customer, sequence, preview and issue commandsAnders Betts
44 hoursbuild: wire the invoice renderer into the test suiteAnders Betts
44 hoursinvoice: render the document as PDFAnders Betts
44 hoursdb: schema v9 for invoicing, vouchers source rebuildAnders Betts
45 hoursinvoice: extract the Comfortaa wordmark as vector pathsAnders Betts
45 hourspdf: minimal PDF writer for generated documentsAnders Betts
45 hoursinvoicing: keep customers in Register per the menu ruleAnders Betts
45 hoursinvoicing: design chapter with layout, numbering and SMTPAnders Betts
46 hoursdocs: bank reconciliation phase 1v0.1.49Anders Betts
46 hourstests: bank reconciliation pty scenarioAnders Betts
46 hourstui: bank reconciliation screenAnders Betts
46 hoursbank: import SEB CSV and match against vouchers (schema v8)Anders Betts
2 daysdb: make attachments append-only (schema v7)Anders Betts
2 daystui: pinned report headers, voucher detail headers, clamped pagingv0.1.48Anders Betts
2 daystui: align list rows beyond nine itemsv0.1.47Anders Betts
2 daysdocs: mark the moms rule editor and pre-migration snapshot donev0.1.46Anders Betts
2 daystests: momsregler pty scenarioAnders Betts
2 daystui: momsregler screen for the vat report rulesAnders Betts
2 daysreport: per-org moms rule editor commandsAnders Betts
2 daysdb: 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.