Skip to content

Releases: AsyncAlchemist/akt-cli

v0.3.0 — Double-entry: journal entries + chart of accounts

Choose a tag to compare

@AsyncAlchemist AsyncAlchemist released this 01 Jul 23:12

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

Choose a tag to compare

@AsyncAlchemist AsyncAlchemist released this 01 Jul 14:57

Attachments for bills, invoices & payments (#3)

Upload, list, download, and remove file attachments entirely from the CLI.

  • --attachment <path> (repeatable) on create/update for bill, invoice, payment; --remove-attachment on update
  • akt <noun> attachments <id> to list; akt <noun> download-attachment <id> [--out DIR] [--media-id ID] to fetch
  • Multipart attachment[] uploads with POST + _method=PATCH spoofing; nested single-attachment route 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 on document_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

Choose a tag to compare

@AsyncAlchemist AsyncAlchemist released this 30 Jun 19:12

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 --help

Full 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.