YNAB CLI 是一个用于通过命令行管理 YNAB 预算、账户、分类和交易的工具。
用途 该工具面向需要在终端或脚本中操作 YNAB 数据的用户,提供对预算、账户、分类、交易、收款人、月份和计划交易的查询与管理能力。
安装 使用 npm 全局安装: npm i -g @stephendolan/ynab-cli
认证 需要从 https://app.ynab.com/settings/developer 获取 API 密钥,然后设置 YNAB_API_KEY 环境变量,或使用以下命令: ynab auth login ynab auth status
主要能力
- 预算:列出预算、查看指定预算、设置默认预算。
- 账户:列出账户、查看账户、查看账户下的交易。
- 分类:列出分类、查看分类、查看分类下的交易、为分类设置某月预算金额。
- 交易:列出交易(支持按账户、日期、是否已批准、最低金额筛选)、搜索交易(按备注或收款人名称)、查看交易、创建交易、更新交易、删除交易、拆分交易。
- 收款人:列出收款人、查看收款人、更新收款人名称、查看收款人交易。
- 月份:列出月份、查看指定月份。
- 计划交易:列出计划交易、查看计划交易、删除计划交易。
- 原始 API:通过 ynab api GET/POST 直接调用 YNAB API。
使用方式 常用命令示例: ynab budgets list ynab budgets view [id] ynab budgets set-default <id> ynab accounts list ynab accounts view <id> ynab accounts transactions <id> ynab categories list ynab categories view <id> ynab categories transactions <id> ynab categories budget <id> --month <YYYY-MM> --amount <amount> ynab transactions list ynab transactions list --account <id> --since <YYYY-MM-DD> ynab transactions list --approved=false --min-amount 100 ynab transactions search --memo "coffee" ynab transactions search --payee-name "Amazon" ynab transactions view <id> ynab transactions create --account <id> --amount <amount> --date <YYYY-MM-DD> ynab transactions update <id> --amount <amount> ynab transactions delete <id> ynab transactions split <id> --splits '[{"amount": -50.00, "category_id": "xxx"}]' ynab payees list ynab payees view <id> ynab payees update <id> --name <name> ynab payees transactions <id> ynab months list ynab months view <YYYY-MM> ynab scheduled list ynab scheduled view <id> ynab scheduled delete <id> ynab api GET /budgets ynab api POST /budgets/{budget_id}/transactions --data '{"transaction": {...}}'
适用场景 适合习惯命令行操作、需要批量查询或脚本化处理 YNAB 数据的用户,例如查看交易、搜索备注或收款人、调整分类预算、管理计划交易等。
限制
- 金额以预算货币为单位,不是 milliunits。
- 可使用 --compact 输出压缩 JSON。
- 速率限制为每小时 200 次请求。
- 无法通过 API 创建分类、分组或收款人。