Firefly III
Use flowbot fireflyiii for capability fireflyiii.
CLI root is fireflyiii — do not invent flowbot fireflyiii unless cli.md lists it as an alias.
Prefer the workflows below; load references/cli.md only when you need a flag or subcommand not covered here.
JSON fields: Transaction id is the Firefly transaction group id (string id). List/get map the first split only.
Setup
- Ensure CLI auth:
flowbot login - Set server via
FLOWBOT_SERVER_URLor--server-url; optional--profile,--debug/-d - Prefer
-o jsonwhen parsing results programmatically - Destructive commands often need
-y/--yesin non-interactive sessions — check cli.md - Token scopes:
service:fireflyiii:read/service:fireflyiii:write
Workflows
Record an expense
When a user wants to log a withdrawal or purchase:
flowbot fireflyiii accounts -t assetflowbot fireflyiii create -t withdrawal --date <YYYY-MM-DD> -a <amount> -m "<description>" --source-name "<account>" --destination-name "<payee>" [--category "<cat>"] [--budget-name "<budget>"] [--tag <tag>]- Report back with the transaction ID. Source and destination must each use ---id or ---name.
Review and fix a transaction
When a user wants to find, update, or delete a transaction:
flowbot fireflyiii list --start <YYYY-MM-DD> --end <YYYY-MM-DD> [-t withdrawal]flowbot fireflyiii get <id>flowbot fireflyiii update <id> -a <amount> -m "<description>"- For delete use
flowbot fireflyiii delete <id> -yin non-interactive sessions.
Browse finance reference data
When a user needs accounts, categories, budgets, bills, or tags:
flowbot fireflyiii accounts [-t asset|expense|revenue]flowbot fireflyiii categoriesflowbot fireflyiii budgetsflowbot fireflyiii billsflowbot fireflyiii tags
Check Firefly III connectivity
When verifying the finance backend:
flowbot fireflyiii healthflowbot fireflyiii about- Summarize version and health status.
Troubleshooting
| Error | Fix |
|---|---|
| not logged in | flowbot login |
| server URL is required | set FLOWBOT_SERVER_URL or pass --server-url |
| permission denied / 403 | token missing service scopes (service:fireflyiii:read / service:fireflyiii:write) |
| hung waiting for confirm or exit 7 | pass --yes / -y. --no-input without --yes exits 7 and does not read stdin |
| empty results | provider not configured, wrong id/name, or empty dataset |
| unknown command | use flowbot fireflyiii, not the capability id as the CLI verb |