使用 Beancount.io 命令行工具 bea 创建本地账本并记录你的第一笔购买。本地记账无需 Beancount.io 账户。
本教程从支票账户中有 1,000 美元开始。在购买一杯 12.50 美元的咖啡后,你将验证余额为 987.50 美元。
1. 安装命令
在 macOS 或 Linux 上使用 Homebrew:
brew install bex-co/tap/bea
bea --version如果你不使用 Homebrew,请安装 uv 并使用 uv tool install beancount-io。该 Python 包要求 Python 3.12 或更高版本。Homebrew 在安装时会提供会计引擎。使用 PyPI 时,请保持 uv 可用:第一条本地命令会下载托管的引擎,之后命令会在离线时复用该引擎。你无需单独安装 Beancount。
2. 创建你的账本
选择一个新目录。此示例在 ~/my-books 中创建 main.bean:
bea --no-input init ~/my-books --currency USD --date 2026-08-01 \
--opening-balance "Assets:Checking 1000"
cd ~/my-books模板会打开常见的支票、储蓄、现金、信用卡、收入和费用账户。期初余额会与 Equity:OpeningBalances 抵消。
对于你自己的账簿,选择你打算记录的最早日期。所有模板账户会在此日期开启。期初余额必须描述该日的账户状况。信用卡债务使用负数金额。
init 永远不会覆盖现有账本。在 POSIX 系统上,新文件是私有的:只有所有者可以读取和写入。要与你的本地用户组共享,请使用 chmod 640 main.bean 显式更改权限。
如需引导式设置,请在终端中运行 bea init ~/my-books。向导会询问你的货币、历史起始日期和支票余额。
3. 记录一笔购买
bea add transaction --date 2026-08-02 --narration "Coffee" \
--posting "Expenses:Dining 12.50" \
--posting "Assets:Checking"该费用使用账户的美元货币。Beancount 会将另一条分录填写为 -12.50 USD。如果购买发生在今天,你可以省略 --date。
每次添加都会在文件替换前对照完整账本进行检查。未知账户或不平账的交易会产生带有指导的错误。
4. 检查结果
bea check
bea list transaction --limit 10
bea report balance-sheet交易列表会先显示最新条目及其分录金额。资产负债表显示支票账户中有 987.50 美元。
要直接验证该金额:
bea query "SELECT account, sum(position) WHERE account = 'Assets:Checking' GROUP BY account"查询表会保留结果的精度。如需结构化输出,请将全局 --json 标志放在命令之前:
bea --json list transaction --limit 105. 保持账簿良好状态
手动编辑文件后,运行 bea check。运行 bea format -i main.bean 可直接对齐列。不加 -i 时,格式化文本会输出到标准输出,文件保持不变。当脚本在需要格式化时应失败时,使用 bea format main.bean --check。
要从其他目录工作,请显式选择根文件:
bea --file ~/my-books/main.bean check根文件按 --file、BEA_FILE、然后是工作目录中的 main.bean 的顺序选择。全局选项放在命令之前。格式化接受自己的文件或目录参数。
继续记录你自己的账目
- 导入银行导出,带有预览和重复检查。
- 交予外部代理两项记账任务,带有可复制的提示词和 CLI 等效操作。
- 比较五种适用于 AI 代理的会计工具,涵盖安装、认证、范围、数据、预览、输出和重复,并附有日期来源。
- 查询命令和选项,用于账户、余额、投资、报告和自动化。
- 跨文件组织账本。使用
--into在针对根文件验证的同时写入包含的文件。 - 使用浏览器界面,如果你更喜欢表单而非终端命令。
使用 bea upgrade --check 检查更新。运行 bea upgrade 以调用安装你的副本的包管理器。使用 bea --help 或 bea add transaction --help 查看你已安装版本中可用的选项。