fobs stm accounts

fobs stm accounts <action> [target] [options]
ActionDescription
listList accounts (sorted by name ASC server-side)
show <id>Show one account by ID
balance <id> [YYYY-MM-DD]Computed balance as of a date (default: today)
createCreate a new account
update <id>Update account fields
retire <id> / quarantine <id> / reactivate <id>Set lifecycle status
delete <id>Permanently delete (blocked if it has linked transactions)
merge <retain_id> <delete_id>Merge one account into another (destructive)
add-identifier <id> <value> / remove-identifier <id> <value>Manage statement-matching identifiers
recalculate-opening-balance <id>Recompute opening balance from the earliest statement

accounts list

fobs stm accounts list
fobs stm accounts list --category bank
fobs stm accounts list --status retired             # all | active (default) | retired | quarantined
fobs stm accounts list --fields id,name,opening_balance,created_at
fobs stm accounts list --totals
fobs stm accounts list --page 2 --limit 50

# Export — auto-paginates up to 15000 rows, respects --category and --status
fobs stm accounts list --format csv --output accounts.csv
fobs stm accounts list --format json --output accounts.json

Flags

FlagDefaultDescription
--category <kind>bank or credit_card
--status <mode>activeactive (default), retired, quarantined, or all
--fields <list>default columnsComma-separated field names
--totalsPrint count, count-by-category, and opening_balance sum
--page <n> / --limit <n>1 / 100Table paging only
--format <fmt> / --output <path>table / stdoutExport to CSV / JSON file
--jsonRaw JSON output

Default Columns

ID, NAME, CATEGORY, ACCT NO, CCY, OPENING, UPLOAD FREQ, STATUS.

Available Fields

id, name, category, description, acc_no, currency, color, opening_balance, opening_balance_date, status, upload_frequency, created_at, review.

Notes

  • Sort: Fixed name ASC server-side; not overridable today.
  • Opening balance: The accounts API divides opening_balance by 1000 server-side, so the value you see is already in currency units. CSV/JSON exports preserve the API value; the table view adds thousands separators.
  • The web UI has additional name and reviewed filters that the API does not yet expose; the CLI will gain them when the API does.

accounts show <id>

fobs stm accounts show acc123xyz
fobs stm accounts show acc123xyz --json

Prints the full account record. With --json, output matches GET /api/v1/accounts/:id.

accounts balance <id> [YYYY-MM-DD]

fobs stm accounts balance acc123xyz                # balance today
fobs stm accounts balance acc123xyz 2026-04-30     # balance as of that date
fobs stm accounts balance acc123xyz 2026-04-30 --json

Computes the balance from opening_balance + signed sum of transactions up to (and including) the given date. Matches GET /api/v1/accounts/:id/balance.

accounts create

fobs stm accounts create --name "Business Checking" --category bank --currency INR
fobs stm accounts create --name "Business Card" --category credit_card --acc-no 1234

Flags

FlagDescription
--nameRequired
--categorybank or credit_card
--currency, --acc-no, --description, --colorOptional
--opening <amount>Opening balance, currency units
--upload-frequencydaily, weekly, monthly, quarterly, or manual (default: weekly)

accounts update <id>

Same flags as create, all optional — only fields you pass are changed.

fobs stm accounts update acc123xyz --name "Renamed Account"
fobs stm accounts update acc123xyz --opening 5000.50

accounts retire <id> / accounts quarantine <id> / accounts reactivate <id>

fobs stm accounts retire acc123xyz       # closed but real: hidden from live UI, still counted in reports
fobs stm accounts quarantine acc123xyz   # suspect data: hidden from UI and excluded from reports
fobs stm accounts reactivate acc123xyz   # back to active

Idempotent, no confirmation prompt. Each sets status via Update Account. See the lifecycle definitions.

accounts delete <id>

fobs stm accounts delete acc123xyz
fobs stm accounts delete acc123xyz --yes    # skip confirmation

Permanently deletes the account. Prompts for confirmation unless --yes/-y. Fails with a clear message if the account still has linked transactions — reassign or delete them first, or retire/quarantine it instead. Matches Delete Account — a guarded hard delete.

accounts merge <retain_id> <delete_id>

fobs stm accounts merge acc_retain acc_delete
fobs stm accounts merge acc_retain acc_delete --yes

Merges <delete_id> into <retain_id>: unions their identifiers, permanently deletes all of <delete_id>'s transactions, relinks and re-processes its statements onto <retain_id>, then deletes <delete_id>. Destructive and irreversible — prompts for confirmation (naming both accounts) unless --yes. Prints the merge summary (transactions deleted, statements requeued, merged identifiers). Matches Merge Accounts.

accounts add-identifier <id> <value> / accounts remove-identifier <id> <value>

fobs stm accounts add-identifier acc123xyz 1234567890
fobs stm accounts remove-identifier acc123xyz 1234567890

Manage the identifier array used to auto-match uploaded statements to this account. No confirmation needed — reversible. Matches Manage Account Identifiers.

accounts recalculate-opening-balance <id>

fobs stm accounts recalculate-opening-balance acc123xyz

Recomputes opening_balance/opening_balance_date from the earliest statement on file. Prints the old and new values. Matches Recalculate Opening Balance.