| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
- 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.
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
Template names, org names, filenames and the account-list type column
were padded with byte widths, so Swedish characters broke the alignment.
|
|
- whole chain (session, token, password) is retried while the server is
unreachable, with an on-screen counter
- the adopted connection is taken over instead of reconnecting
- failures show the server error in a box and append to
~/.cache/bokf/tui.log for later diagnosis
|
|
Namn/Serie/Text (and the voucher date) drew the caret at the end of the
string; editing worked but the cursor never appeared to move.
|
|
|
|
select_list refused to move when fewer than a full page remained; menu
already clamped. Matches the menu behaviour now.
|
|
- stale BOKFD_SESSION falls back to token/password auto-login and shows
a message before the login screen when neither is available
- the password typed this session is handed to the re-exec'd process
|
|
- build: VERSION defaults to git describe, deploy passes the tag via --build-arg
- bokftui: srv version from meta, right-aligned next to the status line
|
|
Was listing the IB voucher's rows (the reconciliation deltas) and
computing edits against those, which mismatched reports on years with
carry-forward and could not set a target balance. Also guard the editor
against more than 63 rows.
|
|
The IB list arrays were sized by voucher count but appended per row; a
single IB voucher with more than one row overwrote the heap and crashed
after leaving the view. Grow the arrays dynamically.
|
|
|
|
|
|
- owner-editable company details form (read-only for other roles)
- org.update honors dry_run; covered in tests
|
|
|
|
- bokfd: optional TLS listener (OpenSSL), certificate reload on change
- clients: tls:host:port targets with chain and host verification
- compose: port 8788 and an INWX/lego renewal sidecar
- Makefile: header dependency tracking (-MMD -MP)
|
|
|