MoneyGo
MoneyGo 是一个用 JavaScript 和 Golang 编写的个人理财网络应用。它坚持复式记账(double-entry accounting) 原则,并允许使用 OFX(通过 ofxgo)从金融机构直接导入。
该项目正在积极开发中,还不能作为您的主要会计软件(但请随时试用并提供反馈!)。
功能介绍
- 从 OFX 导入或从 Gnucash 导入
- 使用登记簿手工输入交易,实行复式记账。
- 用 Lua 生成自定义图表
截图
恕删略。请参见自述文件。
使用文档
虽然我相信大部分的界面都是 "可发现的",但我正在为那些使用起来可能不那么明显的东西编写文档:创建自定义报表、导入事务等。目前,查看文档的最简单方法是 在 github 上浏览。
安装方法
首先,在你的发行版中安装 npm、nodejs >= 6.11.3 (可能在旧的 6.x.x 版本上也能用,但还没有测试)、python、curl 和 go >= 1.9。以下是在 Arch Linux 中的操作。
sudo pacman -S npm curl go python
使用 npm 在全局范围内安装 Browserify:
sudo npm install -g browserify
然后,你会希望使用类似这样的方法来构建所有的东西(Golang 和 Javascript 部分)。
export GOPATH=`pwd` go get -d github.com/aclindsa/moneygo go generate -v github.com/aclindsa/moneygo/internal/handlers go generate -v github.com/aclindsa/moneygo go install -v github.com/aclindsa/moneygo
这可能需要相当长的时间,因为它是通过查询多个网站和服务来自动生成货币和证券的列表。为了避免这一步,你可以在执行上面的 go generate ... 命令之前,先 touch src/github.com/aclindsa/moneygo/internal/handlers/cusip_list.csv。请注意,这将意味着在您的安装中没有安全模板可用于轻松更新证券。如果您想以后再生成这些模板,只需删除 cusip_list.csv 文件并重新运行 go generate ...命令。
运行
MoneyGo 需要 HTTPS 或 FCGI(没有 HTTP)。在启动服务器之前,您需要编辑示例配置文件(src/github.com/aclindsa/moneygo/internal/config/example_config.ini),指向您自己的 SSL 证书/密钥,或者在配置文件的 '[http]'部分设置 'generate-certs-if-absent=true'。
然后,假设你在同一个目录下运行上述安装命令,运行 MoneyGo 就很简单了:
./bin/moneygo -config src/github.com/aclindsa/moneygo/internal/config/example_config
然后,您就可以通过浏览器访问 https://localhost:8443 来浏览 MoneyGo。编辑提供的配置文件可以让您修改一些设置,包括使用的端口、SSL 证书位置以及是否通过 FastCGI 而不是 HTTPS(默认)提供服务。
缺少的功能
- 通过 OFX 导入一些比较异国的投资交易。
- 预算
- 计划中的交易
- 匹配重复的交易
- 跟踪汇率、证券价格
- 导入 QIF