summaryrefslogtreecommitdiff
path: root/clients
AgeCommit message (Collapse)Author
102 min.user.set_password: change your own password; TUI "Byt lösenord"v0.1.68Anders Betts
Needs the current password (wrong ones rate limited like logins) and a password session, requires at least 10 characters, closes the user's other sessions and is audited without secrets. The TUI main menu gets "Byt lösenord" with masked prompts; ^R keeps working with the new password. Masked prompt buffers are wiped before they are freed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 hourstui: "Byt bolag" in the main menuAnders Betts
Reopens the org picker (cursor on the current org) and switches the running session: the org's name, role, current fiscal year and series are reloaded and the remembered list selections cleared. The context reload now clears the previous org's values first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 hourstui: 'g' + a letter searches list rowsAnders Betts
The goto prompt decides on its first key: digits jump to a row number as before, any other printable key searches the row texts of the list or menu (case-insensitive, also åäö), with up/down stepping through the matches. Keys typed into the prompt no longer reach the screen's key hook, and Enter in the action menu closes an open prompt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 hourstui: aligned voucher detail, up/down between vouchers, list sortingAnders Betts
The detail pads every column by display width, blanks zero amounts and shows row texts and a Summa line. Up/Down step to the previous/next voucher in the list order; 's' cycles the list sort (number or date, ascending or descending, saved in tui.conf). The list fetches all pages of voucher.list instead of stopping at 200. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 hourstui: one shared field editor, in-place form editing, value-only focusAnders Betts
Forms edit fields in place in the value column instead of a bottom prompt, highlight only the focused value and scroll when taller than the screen; long text scrolls horizontally instead of wrapping. Fixes: typing after Backspace/Del no longer wipes the field, 'q' is text in row tables, the caret resets between cells, dialogs decode arrow keys, full buffers never take half a UTF-8 character, an invalid amount stays editable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
13 hourssru, tui: round every account to whole kronor; fix the årsredovisning ↵v0.1.67Anders Betts
Stäng skip Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 hoursreports: ignore IB rows on P&L accounts; bokfctl --dry-runv0.1.66Anders Betts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 hourstui: kundutkast, <UTKAST>, explicit Spara och F2-åtgärderAnders Betts
27 hoursdocuments: org name in the invoice and payslip headers, document_header_colorv0.1.63Anders Betts
37 hoursinvoices: text rows, duplicate and payment link (schema v12); smtp address ↵v0.1.62Anders Betts
checks
38 hourstui: granska/ladda ned underlag via pagern eller skrivbordsvisarenv0.1.61Anders Betts
38 hourssettings: per-feature voucher series and console invoice number; tui: F9 hintsv0.1.60Anders Betts
44 hourstui: level-2 modifyOtherKeys, Kitty keyboard protocol and ^Enter/F9 hintsv0.1.59Anders Betts
45 hourstls: load the system CA bundle explicitly under static OpenSSLv0.1.58Anders Betts
46 hourstui: flat menu, System hub, remembered attachment directoryv0.1.57Anders Betts
46 hourstui: Bolaget hub, drop the Företag sectionv0.1.56Anders Betts
2 daystui: payroll screens, Företag/System menu and settings splitv0.1.55Anders Betts
3 daystui: bank prefill vouchers and auto-match after postingAnders Betts
3 daystui: split bokftui into screen filesAnders Betts
3 daystui: bankgiro and our ref belong to Företagsuppgifterv0.1.53Anders Betts
3 daystui: set the next invoice number from the listv0.1.52Anders Betts
3 daystui: fakturering with invoice form, preview and sendAnders Betts
3 daystui: bank reconciliation screenAnders Betts
3 daystui: pinned report headers, voucher detail headers, clamped pagingv0.1.48Anders Betts
3 daystui: align list rows beyond nine itemsv0.1.47Anders Betts
3 daystui: momsregler screen for the vat report rulesAnders Betts
3 daysaudit: verify voucher chains and attachment hashesAnders Betts
3 daystui: remember the focused row in forms and the bokslut hubv0.1.44Anders Betts
3 daystui: bokslut hub with year fields, reports and the posting actionv0.1.43Anders Betts
4 daystui: bokslut footer explains the plan/post keysv0.1.42Anders Betts
4 daystui: backspace deletes backwards while editing; esc restores the valuev0.1.41Anders Betts
4 daystui: themes, pager markup, menu sections; merge Bokslut and year infov0.1.40Anders Betts
4 daystui: form fields on the row-table screen; home/end/pgup/pgdn navigationv0.1.39Anders Betts
4 daystui: migrate the remaining screens to the widget layerv0.1.38Anders Betts
4 daystui: row table widget (dynamic rows, trailing blank row) + testsv0.1.37Anders Betts
4 daystui: shared widget layer (fields, prompts, lists, forms, pager) + testsv0.1.36Anders Betts
4 daysbokftui: clear the whole prompt line before drawing the labelv0.1.35Anders Betts
4 daysårsredovisning: Information om året per räkenskapsår (schema v6)v0.1.34Anders Betts
4 daysbokslut: TUI screen, K2 årsredovisning draft, storable dividend (schema v4)v0.1.33Anders Betts
4 dayssru: INK2 report view in the TUI; voucher list tweaksv0.1.31Anders 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.
5 daysbokslut, INK2/SRU export and attachment markersv0.1.30Anders 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.
5 daysattachments: link/unlink from the TUI, multi-voucher linksv0.1.29Anders 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.
5 dayseskd: generate the momsdeklaration file (eSKDUpload 6.0)v0.1.28Anders 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.
5 daysbokftui: align report columns when labels contain å/ä/öAnders Betts
printf widths count bytes, so Swedish labels shifted every following column by one per multi-byte character: Huvudbok's Ingående/Omslutning/ Utgående saldo lines, moms ruta 48/49, and the Resultatrapport, Saldobalans and Verifikationslista headers no longer lined up with their rows. pad_min() pads to display columns without truncating long moms labels and pad_hdr() right-aligns headers; the Ingående balans/saldo amounts now sit in the far-right Saldo column like the Kapitas export.
5 daysbokftui: Huvudbok/Verifikationslista views, Räkenskapsår screen, ^Enter/^Xv0.1.27Anders 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).
5 daysreports: Kapitas-style TUI tables, corrected moms rules (schema v3)v0.1.26Anders Betts
The report views dumped JSON; they now render Saldobalans, Resultatrapport (previous-year column, 89xx bokfört/ej bokfört), Balansrapport (Ing balans/Ing saldo/Period/Utg balans, Beräknat resultat) and Momsrapport ruta för ruta, with Swedish amount formatting (1 234,56). The moms starter rules missed 33xx sales, sent reverse-charge VAT 2614 to box 10 instead of 30 and had box 48 positive. Rules may now share a box and report.vat sums them; box 49 is the sum of the moms boxes only. Schema v3 replaces the rules for existing orgs. Verified on a copy of the live DB: 05=703 200, 10=175 800, 20=1 453, 30=851, 48=-1 030, 49=175 621, matching the Kapitas 2027 export. Ctrl+R reload passes --socket and auto-login no longer rewrites tui.conf; pty tests now run through scripts/tui-sandbox.sh so they cannot touch the real config, cache or bw session.
5 daysbokftui: drop the redundant fiscal-year label from the status linev0.1.25Anders Betts
5 daysbokftui: Ctrl+R actually reloads (dashboard ignored the flag)v0.1.24Anders Betts
ui_getch mapped Ctrl+R to Esc, but the dashboard treats Esc as a no-op and looped, so do_reload was never reached; from sub-screens the key merely bounced back to the dashboard. Dashboard and the early screens now honour the flag. Verified by observing the re-exec and session reuse in ~/.cache/bokf/tui.log.
5 daysbokftui: fix self-copy that emptied the username on password loginv0.1.23Anders Betts
try_login is called with a->username as the user; snprintf with overlapping source and destination is undefined and produced "" on glibc, so config_save wrote 'user=' and later reloads could not auto-login. Copy through a temporary, carry BOKFD_USER on reload and never persist an empty user.
5 daysbokftui: pad user text by display width in list columnsv0.1.22Anders Betts
Template names, org names, filenames and the account-list type column were padded with byte widths, so Swedish characters broke the alignment.