summaryrefslogtreecommitdiffstats
path: root/tests/unit/test_commands_account.py
AgeCommit message (Collapse)AuthorFilesLines
37 hoursfeat: tx list --flat, account create --if-not-exists, --since/--until doc ↵v0.3.6Danilo M.1-1/+35
(v0.3.6) Three smaller ISSUES.md items, one PATCH (two optional flags + a doc fix; no existing caller or JSON shape changes). - tx list --flat: emit one top-level object per split (journal id repeated), dropping the transactions[] nesting so single-split journals script cleanly. JSON-only; --human already explodes splits into a table. - account create --if-not-exists: resolve the name first; on a clash return the existing account with "existed": true (exit 0) instead of surfacing Firefly's 422, so import scripts are idempotent. Detects via resolver, not by parsing the error string. - SKILL.md documents that --since/--until filter on the transaction date (the value date); Firefly journals have a single date field, no separate book date (verified against firefly-iii TimeCollection setRange). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 hoursfeat: account balance --at for historical balance (v0.3.2)Danilo M.1-1/+15
Reconciliation needed an account's balance as of a past date; the command only reported the current balance, forcing hand-written sum scripts. --at YYYY-MM-DD re-fetches the account with Firefly's ?date= param, which recomputes current_balance as of that date (end of day, no client math). Without --at the current-balance path is unchanged (no extra API call). Verified live read-only against real data: Mediolanum current 183.23 vs --at 2026-06-10 164.38, boundary probe gives distinct daily balances. PATCH: new optional flag, contract unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2 daysaccount create: add verb for asset/expense/revenue accountsv0.2.0Danilo M.1-0/+50
New `firefly account create <name> --type asset|expense|revenue` [--opening-balance N] [--currency CODE]. asset accounts default to the defaultAsset role; opening balance is dated today (Firefly pairs the two). Unsupported types (liability, etc.) are a hard client-side error with no API call. Live-verified against the test instance. Bumps to 0.2.0. Docs synced: README, CLAUDE.md, SKILL.md, including the category/tag auto-create clarification. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfeat: account, category, tag, auth commandsDanilo M.1-0/+27