4个版本
使用旧Rust 2015
0.2.1 | 2019年5月19日 |
---|---|
0.2.0 | 2018年4月7日 |
0.1.1 | 2018年3月29日 |
0.1.0 | 2018年3月29日 |
在 金融 类别中排名 #156
18KB
314 行
pfr
:个人财务报告器
pfr
是一个命令行工具,用于帮助管理个人财务。
我喜欢按月分配我的钱;在每个月底,我会将足够的钱加载到我的卡上,以覆盖预计的月度支出。
这种方法的一个小问题是,按月考虑我生活中的一些定期交易并不总是最容易的。例如,我想每周分配40美元用于食物,但每月100美元用于汽油。这些费用也可能每周或每月略有变化。此外,一些费用来自不同的账户,因此我还需要跟踪这一点。
因此,我需要坐下来手动计算出进账,并根据账户进行分类,但针对所有支出。这很糟糕。所以我编写了一个程序来做这件事。
用法
您可以使用 pfr
告诉您的收入和支出,以及它们发生的频率。
# I make $800.00 a month from work
pfr add income monthly work 800
# I spend $40.00 a week on food, and this comes
# out of my direct-debit account
pfr add expense weekly food 40 --account "direct debit"
# Insurance for my car costs $20.00 a month, and
# is paid from my automatic payments account
pfr add expense weekly "car insurance" 20 --account automatic --category car
# I also spend $60 on petrol per week, but this
# comes from my EFTPOS (direct-debit) card.
pfr add expense weekly petrol 60 --account "direct debit" --category car
您可以使用 pfr list
列出 pfr
知道的交易。
$ pfr list
monthly income work 800.00
weekly expense petrol 60.00
weekly expense food 40.00
monthly expense car insurance 20.00
最后,您还可以生成报告
$ pfr report
Monthly Report
# This table shows all of your incomes and expenditures,
# extrapolated to 1-month (30 days). Negative values are enclosed in (parentheses).
# This gives you an overview of all the transactions.
INCOME EXPENDITURE VALUE CATEGORY ACCOUNT
-----------------------------------------------------------------------
work 800.00
car insurance ( 20.00) car automatic
petrol ( 256.80) car direct debit
food ( 171.20) direct debit
-----------------------------------------------------------------------
TOTAL: 352.00
# This table shows your expenses, broken down by category.
Breakdown:
car 276.80
(other) 171.20
# This table shows the amount of money I need to put in each
# account in order to cover my expenses.
Coverage:
428.00 -> direct debit
20.00 -> automatic
0.00 (unallocated)
安装
通过 cargo
cargo install pfr
pfr init # initialises the storage files, in ~/.pfr/
保存、加载和备份
(自 v0.2.0
新增)
pfr save <name>
将当前账本的快照保存为 name
。您可以使用 pfr load name
重置回该状态。
pfr backup
做同样的事情,但不需要您指定名称。您可以使用 pfr restore
重置回状态。如果您只想查看一些小更改的结果,而不想永久保留它们,这会很有用。
从 v0.1.1
更新到 v0.2.0
pfr
现在将数据存储在目录 ~/.pfr/
中。更新工具(通过 cargo install --force
)并重新运行 pfr init
后,你应该执行 mv ~/.pfr_data ~/.pfr/.current_data
。
此外,频率指定符已扩展;例如 wkly -> weekly
。
数据格式
pfr
将所有交易以 JSON 格式存储在 ~/.pfr/
中。
依赖关系
~4MB
~75K SLoC