Commit Graph
3 Commits
Author SHA1 Message Date
jakob 2a0bba5be7 Add web, state, and backup sections to config template
- [web]: port and public fqdn for the daemon (Caddy proxies from a
  separate jail); port defaults to 8080
- [state]: daemon pidfile and logs directory, default ~/.config/rpn
- [backup]: timestamped dumps for rpnc db backup, default
  ~/.config/rpn/backups; rpnc db restore looks here by default
- cli.md: document the optional positional path and the directory
  defaults for db backup/restore
2026-09-02 11:37:04 +02:00
jakob 2b1cbb2500 Redesign CLI command structure after design review
Reframe the implementation notes as design decisions (no code exists
yet) and resolve the open design questions:

- card: contract fuel card only; retail rows carry no card
- customer delete also guards against invoices and cards
- invoice: outgoing fuel only; add explicit send (draft -> sent);
  --all fans out to one invoice per customer; document statuses
- VAT: amounts stored inclusive, 25% base/VAT split at invoice time
- file import: v1 = epsilon TSV only; one DB transaction per import;
  batch-total mismatch aborts with exit code 1
- file export --format raw is source-faithful; raw errors elsewhere
- batch: document derived nature; update = manual reconciliation;
  list gains --from/--to/--year filters
- daemon status is local-only (no external check); pidfile/logs under
  a configured state directory
- db: --force on reset/restore; timestamped backups in configured dir;
  status reports migration version
- add config show, --version, --config precedence, exit-code table,
  business-key ID semantics, and status values
2026-09-02 11:37:04 +02:00
jakob 6ea85df167 Import command wip structure plan
Copy a draft for command structure from a previous attempt at writing
this application.
2026-09-02 11:35:03 +02:00