Releases: AsyncAlchemist/akt-cli
Release list
v0.3.0 — Double-entry: journal entries + chart of accounts
Wraps the Akaunting Double-Entry module so `akt` can drive the general ledger (closes #5).
New resources
- `journal-entry` (full CRUD via `/api`) — balanced multi-line entries with a client-side debit==credit guard (≥2 lines) before any network call, auto-generated `journal_number`, and ledger-preserving updates (existing lines resent with their ids so a scalar-only update doesn't wipe the entry).
- `chart-of-account` — `list`/`get` via `/api`; `create`/`update`/`delete` via the session/CSRF web route (the module publishes accounts read-only on `/api`), including sub-accounts via `--account-id`.
Client
- New `web_json()` for session-authenticated web-surface calls that unwrap Akaunting's `{success,error,data,message}` AJAX envelope. CSRF flows via the `X-XSRF-TOKEN` header (echoing the encrypted `XSRF-TOKEN` cookie, which Laravel decrypts) — the same mechanism Akaunting's axios frontend uses.
Verified end-to-end against the live instance. Adds 9 unit tests plus integration coverage that skips gracefully when the module isn't installed.
v0.2.0 — Attachments
Attachments for bills, invoices & payments (#3)
Upload, list, download, and remove file attachments entirely from the CLI.
--attachment <path>(repeatable) oncreate/updateforbill,invoice,payment;--remove-attachmentonupdateakt <noun> attachments <id>to list;akt <noun> download-attachment <id> [--out DIR] [--media-id ID]to fetch- Multipart
attachment[]uploads withPOST+_method=PATCHspoofing; nested single-attachmentroute for document-linked payment updates - Fix: updating a document-linked payment now resolves to the nested
documents/{doc}/transactions/{id}route (the flat route 400s ondocument_id) - Attachment download logs in a web session (bytes aren't served by
/api); server-supplied filenames are sanitized against path traversal
Unit + live integration tests cover the full lifecycle on standalone and document-linked payments and document create.
v0.1.0
First release of akt — a CLI toolbox to fully drive an Akaunting accounting instance from the command line.
uv tool install akt-cli # or: pip install akt-cli
akt --helpFull create / read / update / delete for customers, vendors, items, invoices, bills, payments, accounts, categories, taxes, currencies and transfers, plus a raw escape hatch. Handles Akaunting's type-scoped ACL, server-side total recomputation, nested payment route, and full-replace updates. See the README for usage.