npx skills add https://github.com/ouachitalabs/skills --skill 'Beancount Accounting'Beancount 是一个纯文本复式记账系统。本技能提供创建、编辑和查询 beancount 文件的专业知识。
每笔交易必须平衡为零。资金在账户之间流动:
| 类型 | 用途 | 正常余额 |
|---|---|---|
Assets | 您拥有的资产(银行账户、投资) | 正数 |
Liabilities | 您所欠的债务(信用卡、贷款) | 负数 |
Income | 流入的资金(工资、利息) | 负数 |
Expenses | 流出的资金(食品、租金) | 正数 |
Equity | 净资产、期初余额 | 负数 |
使用冒号分隔的层级名称,以大写字母开头:
Type:Country:Institution:Account:SubAccount
示例:
Assets:Checking:Centennial:Joint
Liabilities:Card:Chase:Sapphire
Expenses:Food:Groceries
Income:Salary:Employer
YYYY-MM-DD flag "Payee" "Narration"
Account1 Amount Currency
Account2 Amount Currency ; optional comment
* - 已清算/完成的交易! - 待处理/需要审核简单支出:
2026-01-03 * "Starbucks" "Morning coffee"
Expenses:Food:Coffee 5.75 USD
Liabilities:Card:Chase:Sapphire
包含多个条目的工资单:
2026-01-15 * "Employer" "Bi-weekly salary"
Assets:Checking:Main 3500.00 USD
Expenses:Taxes:Federal 800.00 USD
Expenses:Taxes:State 200.00 USD
Expenses:Insurance:Health 150.00 USD
Income:Salary -4650.00 USD
账户间转账:
2026-01-10 * "Transfer to savings"
Assets:Savings:Ally 500.00 USD
Assets:Checking:Main -500.00 USD
可以省略一个条目的金额 - beancount 会自动计算:
2026-01-03 * "Grocery Store" "Weekly groceries"
Expenses:Food:Groceries 125.43 USD
Assets:Checking:Main ; 金额计算为 -125.43 USD
声明账户生命周期:
2026-01-01 open Assets:Checking:Main USD
2028-12-31 close Assets:Checking:Main
断言账户在当天开始时的余额(用于捕获错误):
2026-01-31 balance Assets:Checking:Main 4583.84 USD
在两个日期之间自动生成平衡条目:
2026-01-01 pad Assets:Checking:Main Equity:Opening-Balances
2026-01-02 balance Assets:Checking:Main 4583.84 USD
为组织目的分割文件:
include "2026-01.beancount"
include "accounts.beancount"
配置 beancount 行为:
option "title" "Personal Finances"
option "operating_currency" "USD"
将键值对附加到指令或条目:
2026-01-03 * "Amazon" "Office supplies"
order-id: "123-456-789"
Expenses:Office 45.00 USD
category: "equipment"
Liabilities:Card:Chase
分组相关交易:
2026-01-15 * "Hotel" "Conference lodging" #work-travel #conference-2026
Expenses:Travel:Lodging 299.00 USD
Liabilities:Card:Chase
2026-02-01 * "Expense Report" "Reimbursement" ^conference-2026
Assets:Checking:Main 299.00 USD
Income:Reimbursements
Beancount 查询语言 (BQL) 提供类似 SQL 的查询。使用 bean-query 运行:
bean-query finances/2026.beancount "SELECT account, sum(position) WHERE account ~ 'Expenses' GROUP BY 1"
账户余额:
SELECT account, sum(position)
WHERE account ~ 'Assets:Checking'
GROUP BY 1
按类别统计的月度支出:
SELECT MONTH(date), account, sum(position)
WHERE account ~ 'Expenses' AND year = 2026
GROUP BY 1, 2
ORDER BY 1, 2
账户的交易记录:
SELECT date, narration, payee, position, balance
WHERE account = 'Assets:Checking:Centennial:Joint'
ORDER BY date
| 函数 | 用途 |
|---|---|
SUM(position) | 聚合金额 |
YEAR(date), MONTH(date) | 提取日期部分 |
COST(position) | 获取成本基础 |
account ~ 'pattern' | 正则表达式匹配账户 |
在编辑之前,请先阅读 beancount 文件以了解:
运行 bean-check 来验证语法:
bean-check finances/2026.beancount
信用卡付款:
2026-01-25 * "Chase" "Credit card payment"
Liabilities:Card:Chase:Sapphire 500.00 USD
Assets:Checking:Main -500.00 USD
包含成本基础的投资购买:
2026-01-20 * "Fidelity" "Buy index fund"
Assets:Investments:Fidelity:FXAIX 10 FXAIX {150.00 USD}
Assets:Investments:Fidelity:Cash -1500.00 USD
抵押贷款付款明细:
2026-01-01 * "Rocket Mortgage" "Monthly mortgage"
Liabilities:Loan:RocketMortgage 800.00 USD ; 本金
Expenses:Housing:Interest 900.00 USD ; 利息
Expenses:Housing:Escrow 300.00 USD ; 托管
Assets:Checking:Main -2000.00 USD
include 按月份或类别分割文件bean-check有关详细语法和模式,请查阅:
references/syntax.md - 包含所有选项的完整指令参考references/bql.md - 完整的 BQL 查询语言文档references/examples.md - 常见交易模式和工作流程| 命令 | 用途 |
|---|---|
bean-check file.beancount | 验证语法 |
bean-query file.beancount "QUERY" | 运行 BQL 查询 |
bean-report file.beancount balances | 余额报告 |
bean-web file.beancount | Web 界面 |
每周安装次数
–
代码仓库
首次出现时间
–
安全审计
Beancount is a plain-text double-entry accounting system. This skill provides expertise for creating, editing, and querying beancount files.
Every transaction must balance to zero. Money flows between accounts:
| Type | Purpose | Normal Balance |
|---|---|---|
Assets | What you own (bank accounts, investments) | Positive |
Liabilities | What you owe (credit cards, loans) | Negative |
Income |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| Money coming in (salary, interest) |
| Negative |
Expenses | Money going out (food, rent) | Positive |
Equity | Net worth, opening balances | Negative |
Use colon-separated hierarchical names starting with capital letters:
Type:Country:Institution:Account:SubAccount
Examples:
Assets:Checking:Centennial:Joint
Liabilities:Card:Chase:Sapphire
Expenses:Food:Groceries
Income:Salary:Employer
YYYY-MM-DD flag "Payee" "Narration"
Account1 Amount Currency
Account2 Amount Currency ; optional comment
* - Cleared/completed transaction! - Pending/needs reviewSimple expense:
2026-01-03 * "Starbucks" "Morning coffee"
Expenses:Food:Coffee 5.75 USD
Liabilities:Card:Chase:Sapphire
Paycheck with multiple postings:
2026-01-15 * "Employer" "Bi-weekly salary"
Assets:Checking:Main 3500.00 USD
Expenses:Taxes:Federal 800.00 USD
Expenses:Taxes:State 200.00 USD
Expenses:Insurance:Health 150.00 USD
Income:Salary -4650.00 USD
Transfer between accounts:
2026-01-10 * "Transfer to savings"
Assets:Savings:Ally 500.00 USD
Assets:Checking:Main -500.00 USD
One posting amount can be omitted - beancount calculates it:
2026-01-03 * "Grocery Store" "Weekly groceries"
Expenses:Food:Groceries 125.43 USD
Assets:Checking:Main ; Amount calculated as -125.43 USD
Declare account lifecycle:
2026-01-01 open Assets:Checking:Main USD
2028-12-31 close Assets:Checking:Main
Assert account balance at start of day (catches errors):
2026-01-31 balance Assets:Checking:Main 4583.84 USD
Auto-generate balancing entry between two dates:
2026-01-01 pad Assets:Checking:Main Equity:Opening-Balances
2026-01-02 balance Assets:Checking:Main 4583.84 USD
Split files for organization:
include "2026-01.beancount"
include "accounts.beancount"
Configure beancount behavior:
option "title" "Personal Finances"
option "operating_currency" "USD"
Attach key-value pairs to directives or postings:
2026-01-03 * "Amazon" "Office supplies"
order-id: "123-456-789"
Expenses:Office 45.00 USD
category: "equipment"
Liabilities:Card:Chase
Group related transactions:
2026-01-15 * "Hotel" "Conference lodging" #work-travel #conference-2026
Expenses:Travel:Lodging 299.00 USD
Liabilities:Card:Chase
2026-02-01 * "Expense Report" "Reimbursement" ^conference-2026
Assets:Checking:Main 299.00 USD
Income:Reimbursements
Beancount Query Language (BQL) provides SQL-like queries. Run with bean-query:
bean-query finances/2026.beancount "SELECT account, sum(position) WHERE account ~ 'Expenses' GROUP BY 1"
Account balance:
SELECT account, sum(position)
WHERE account ~ 'Assets:Checking'
GROUP BY 1
Monthly expenses by category:
SELECT MONTH(date), account, sum(position)
WHERE account ~ 'Expenses' AND year = 2026
GROUP BY 1, 2
ORDER BY 1, 2
Transactions for an account:
SELECT date, narration, payee, position, balance
WHERE account = 'Assets:Checking:Centennial:Joint'
ORDER BY date
| Function | Purpose |
|---|---|
SUM(position) | Aggregate amounts |
YEAR(date), MONTH(date) | Extract date parts |
COST(position) | Get cost basis |
account ~ 'pattern' | Regex match account |
Before editing, read the beancount file to understand:
Run bean-check to validate syntax:
bean-check finances/2026.beancount
Credit card payment:
2026-01-25 * "Chase" "Credit card payment"
Liabilities:Card:Chase:Sapphire 500.00 USD
Assets:Checking:Main -500.00 USD
Investment purchase with cost basis:
2026-01-20 * "Fidelity" "Buy index fund"
Assets:Investments:Fidelity:FXAIX 10 FXAIX {150.00 USD}
Assets:Investments:Fidelity:Cash -1500.00 USD
Mortgage payment breakdown:
2026-01-01 * "Rocket Mortgage" "Monthly mortgage"
Liabilities:Loan:RocketMortgage 800.00 USD ; Principal
Expenses:Housing:Interest 900.00 USD ; Interest
Expenses:Housing:Escrow 300.00 USD ; Escrow
Assets:Checking:Main -2000.00 USD
include to split by month or categorybean-check after editsFor detailed syntax and patterns, consult:
references/syntax.md - Complete directive reference with all optionsreferences/bql.md - Full BQL query language documentationreferences/examples.md - Common transaction patterns and workflows| Command | Purpose |
|---|---|
bean-check file.beancount | Validate syntax |
bean-query file.beancount "QUERY" | Run BQL query |
bean-report file.beancount balances | Balance report |
bean-web file.beancount | Web interface |
Weekly Installs
–
Repository
First Seen
–
Security Audits
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
29,800 周安装