diff options
Diffstat (limited to 'docs/STATE.md')
| -rw-r--r-- | docs/STATE.md | 49 |
1 files changed, 30 insertions, 19 deletions
diff --git a/docs/STATE.md b/docs/STATE.md index 4425b10..767ed7c 100644 --- a/docs/STATE.md +++ b/docs/STATE.md @@ -6,29 +6,39 @@ Read with `AGENTS.md` (rules) and `docs/TUI-GUIDELINES.md` (UI conventions). ## Status Working self-hosted bookkeeping system, not production-proven. Backend ledger -core is complete, as are invoicing and the payroll engine; filing/year-end -work and the payroll TUI remain. TUI is usable and exercised by -`make test-pty` (golden screen-text scenarios); `make test` covers the -server/protocol/ledger, the TUI widget unit tests and the docs consistency -check. +core is complete, as are invoicing, the payroll engine and the payroll TUI; +filing/year-end work remains. TUI is usable and exercised by `make test-pty` +(golden screen-text scenarios, now including the payroll run and the +lönebesked); `make test` covers the server/protocol/ledger, the TUI widget +unit tests and the docs consistency check. ## Resume here (2026-09-21) - **Deployed**: `v0.1.54`, healthy on `nas` (Alpine runtime, static aarch64 binaries cross-compiled on this machine — ~20 s, the host only assembles the image; image 33.7 MB, no `libssl3`). `main` is ahead of the deployment: - payroll (schema v11), the query helpers and the mail fixes are **not - deployed** yet — deploy before the human tries payroll in the TUI. -- **Next task**: the **Lön** TUI section (wave 3) per `docs/PAYROLL.md` §6: - `Lönekörningar` (list + Ctrl+N), `Anställda` under Register, a - `Skattetabeller` fetch/status action, and the run screen with F5 preview, - Ctrl+Enter post and the manual buttons Bokför, Lönebesked, AGI-underlag, - Betala skatt & avgifter. -- **Follow-ups from the payroll waves**: fold `payroll.settings_get/set` into + payroll (schema v11), the query helpers, the mail fixes and the payroll + TUI are **not deployed** yet — deploy before the human tries payroll on + `nas`. +- **Next tasks (payroll follow-ups)**: fold `payroll.settings_get/set` into `settings.get/set` (cmd_settings.c was busy during wave 1); settle the over-80k % rule (SKV 433 leaves it ambiguous — currently a clear - `INVALID_ARGS`); move `invoice.send` to the shared `src/mail.c`; add a pty - scenario for the payslip. + `INVALID_ARGS`); move `invoice.send` to the shared `src/mail.c`. The TUI + has no screen for the payroll account/rate settings yet (they are + defaults and can stay server-side until the fold). +- **Done in the TUI wave**: `clients/screens_payroll.c` with Lönekörningar + (list + Ctrl+N, run screen with F5 preview, Ctrl+Enter post after + confirmation and the action rows Lönebesked, AGI-underlag, Betala skatt & + avgifter), Anställda under Företag and the Skattetabeller + fetch/import/status screen under System. A pty scenario posts a run and + fetches its lönebesked, so the payslip PDF path is exercised end to end. +- **Menyn (2026-09-21)**: dashboarden har sektionerna Bokföring (med + Mallar), Fakturering, Lön, Rapporter & bokslut, Företag (Anställda, + Kunder, Bolaget, Momsregler) och System (Skattetabeller, Revision, + Systeminställningar). Inställningar är borttagen: standardserie, + fordrings-/intäktskonto, bankgiro, vår referens och SMTP ligger nu under + Bolaget (sub-formulären Fakturauppgifter och E-post), bilagornas mapp + under System. `--screen settings` är kvar som alias för Bolaget. - **Already merged on main since the last deploy**: payroll schema v10/v11 + employees/tax tables/runs/payslip (`e692f0f`, `4488b6c`), `mail.c` + `smtp_reply_to` (`e25a8c9`), query helpers `db_row_json`/`req_list`/ @@ -60,8 +70,9 @@ None open. Completed items that used to be listed here are archived in 11. ~~SIE import only into an empty fiscal year~~ chronological multi-year import works; each year must still target an empty fiscal year. 12. TUI polish: horizontal scrolling in long text fields, bracketed paste. -13. Payroll TUI (wave 3) and the payroll follow-ups listed under "Resume - here"; payroll is server-complete but has no employee registered yet. +13. ~~Payroll TUI (wave 3)~~ done (`clients/screens_payroll.c`); the + remaining payroll follow-ups are listed under "Resume here". No + employee is registered yet in the real orgs. 14. Invoice follow-ups when needed: credit notes (`invoice.credit`), per-row account in the invoice form, kundreskontra view. 15. `make test-pty` speed if it ever exceeds ~60 s: parallelise the @@ -165,9 +176,9 @@ Original entries for the struck items are in `docs/DECISIONS.md`. pärm (får refereras i efterhand, även i stängda år). - **Lön (2026-09-21)**: bara ägaren är anställd, men schema och kommandon är fleranvändarklara. Lönemotorn (schema v11: anställda, skattetabeller, - lönekörningar, lönebesked + mejl) är klar server-side; TUI:t saknas och + lönekörningar, lönebesked + mejl) och TUI-sektionen Lön är klara, men **ingen anställd är registrerad än** (personnummer, lön, skattetabell och - kolumn fylls i under Anställda). Konton enligt historiken: + kolumn fylls i under Register → Anställda). Konton enligt historiken: 7210/7510/2710/2731/1630. Skattetabellerna hämtas med en knapp från Skatteverket (varning när året är gammalt), personnumret är krypterat i databasen. Ingen semesteruppbokning; arbetsgivardeklarationen (AGI) görs |
