fobs stm transactions

fobs stm transactions <action> [target] [options]

Two actions:

ActionDescription
listList transactions (default sort: date DESC)
show <id>Show one transaction by ID

transactions list

fobs stm transactions list
fobs stm transactions list --account acc1,acc2              # one or more accounts
fobs stm transactions list --from 2026-04-01 --to 2026-04-30
fobs stm transactions list --particulars "netflix"          # case-insensitive substring
fobs stm transactions list --entity "amazon"
fobs stm transactions list --category empty                 # unset rows
fobs stm transactions list --type expense
fobs stm transactions list --amount-from 100 --amount-to 5000 --flow outflow
fobs stm transactions list --sort asc                       # asc | desc (default)
fobs stm transactions list --statement stmt789              # filter to one statement
fobs stm transactions list --fields id,date,particulars,inflow,outflow,balance
fobs stm transactions list --totals                         # print sums under the table

# Export — auto-paginates up to 15000 rows, respects all filters
fobs stm transactions list --format csv --output txns.csv
fobs stm transactions list --format json --output txns.json
fobs stm transactions list --format csv > txns.csv

Flags

FlagDefaultDescription
--account <ids>Comma-separated account IDs
--from <YYYY-MM-DD>Date range start (inclusive)
--to <YYYY-MM-DD>Date range end (inclusive)
--particulars <text>Case-insensitive substring on description
--entity <text>Case-insensitive substring on entity
--category <text>Exact match; pass empty for unset
--comments <text>Case-insensitive substring; pass empty for unset
--type <type>income, expense, transfer, asset, liability, unknown
--amount-from <n>Minimum amount, in currency units (not milli-units)
--amount-to <n>Maximum amount, in currency units
--flow <kind>allApply amount range to inflow, outflow, or all
--statement <id>Filter to transactions from one statement
--sort <order>descasc or desc by date
--fields <list>default columnsComma-separated field names
--totalsPrint inflow/outflow sums; auto-paginates
--page <n> / --limit <n>1 / 100Table paging only
--format <fmt> / --output <path>table / stdoutExport to CSV / JSON file
--jsonRaw JSON output

Default Columns

ID, DATE, ACCOUNT, PARTICULARS (truncated to 50 chars), TYPE, CATEGORY, ENTITY, INFLOW, OUTFLOW.

Available Fields

id, date, particulars, inflow, outflow, balance, entity, category, po, comments, type, account, statement.

Notes

  • Amount handling. The API stores monetary values as integer milli-units (× 1000). The table view divides by 1000 and adds thousands separators (1351979013,519.79). CSV/JSON exports preserve the raw integers — divide downstream as needed.
  • --amount-from / --amount-to take currency units, not milli-units--amount-from 100 means 100 rupees, not 0.10.
  • Empty filters. Pass the literal string empty to --category, --entity, or --comments to filter for unset rows.
  • --totals, --format csv, --format json auto-paginate; --limit / --page are ignored.

transactions show <id>

fobs stm transactions show txn123abc
fobs stm transactions show txn123abc --json

Prints the full transaction. With --json, output matches GET /api/v1/transactions/:id.