为信封预算自动调整gnucash事务

gnucash_autobudget的Python项目详细描述


Installation

您需要在计算机上安装GnuCash Python bindings。如果 您可能已经通过包管理器安装了gnucash 已经有了。如果不确定,请尝试安装gnucash 自动预算,如果找不到绑定,它会抱怨。

安装:

$ pip install [--user] gnucash_autobudget
or
$ easy_install [--user] gnucash_autobudget
or
$ git clone https://github.com/rmoehn/gnucash_autobudget.git
$ cd gnucash_autobudget
$ sudo python setup.py install

Usage

$ gnucash_autobudget in.gnucash out.gnucash

这将创建一个文件out.gnucash,该文件与 in.gnucash除了应用它的事务将 将预算条目添加到其中。

Idea

我一直在用YNAB做我的个人财务,但我受够了,因为它 不支持多种货币记账。所以我换了Gnucash, 它支持多种货币的会计核算,但没有特殊的 信封预算功能(零和预算,YNAB预算)。然而, 来自YNAB的信封预算对我来说很重要。

在网上搜索,我发现了几个信封预算的实现 gnucash,但是那些看起来“干净”的需要一些手动事务 分裂。这很乏味,尤其是当您的事务已经 货币调整数据太多。

所以我认为这是最干净的(我不太懂会计, 但是)method of envelope budgeting使用gnucash和gnucash autobudget 自动将预算分录添加到交易记录。

Account setup

请先阅读上面链接的reddit帖子并创建一些事务 按照那种方法,这样你就能感觉到了。

gnucash autobudget需要类似于此处所示的设置:

Assets                      asset
    Cash                    asset
Expenses                    expense     mandatory
    Daily                   expense
        Groceries           expense
        Beer                expense
        Transportation      expense
    Monthly                 expense
        Rent                expense
Budget                      asset       mandatory
    Budgeted Funds          liability   mandatory
    Available to Budget     asset       mandatory
    Daily                   asset
        Groceries           asset
        Transportation      asset
    Monthly                 asset
        Rent                asset

要让gnucash autobudget工作,您必须拥有必需的帐户,并且 必须与上面列出的名称相同。其他帐户只用于 插图,你可以根据自己的需要来构造和命名它们。不过,请注意 gnucash autobudget依赖于 费用和预算。即……

gnucash autobudget只查看具有 预算中相应的子账户。例如,Expenses:Daily:Groceries 对应于Budget:Daily:Groceries。如果没有对应的 对于开支中的子帐户,gnucash autobudget将忽略它。为了 例如,它将忽略Expenses:Daily:Beer

What does it do?

当gnucash查看这些帐户时,它会查找不 有一个预算条目。像这样:

#                          debit  credit
Expenses:Daily:Groceries   100
Assets:Cash                       100

然后将预算条目添加到其中:

Expenses:Daily:Groceries   100
Assets:Cash                       100
Budget:Budgeted Funds      100
Budget:Daily:Groceries            100

这意味着您可以像往常一样记录事务,gnucash autobudget会添加 显而易见的信息,这样你的预算账户就会显示正确的 信息。当然,gnucash autobudget不会触及已经存在的事务 有一个预算条目。

Split transactions

gnucash autobudget还可以处理分割事务。输入:

Expenses:Daily:Food        70
Expenses:Daily:Drink       10
Assets:Cash                       80

输出:

Expenses:Daily:Food        70
Expenses:Daily:Drink       10
Assets:Cash                       80
Budget:Budgeted Funds      80
Budget:Daily:Food                 70
Budget:Daily:Drink                10

多货币分割也起作用。输入:

#                                debit  credit
Expenses:Daily:Groceries         2 €
Currency Trading:CURRENCY:JPY    250
Assets:Cash:Yen                         250
Currency Trading:CURRENCY:EUR           2 €

输出:

Expenses:Daily:Groceries         2 €
Currency Trading:CURRENCY:JPY    250
Assets:Cash:Yen                         250
Currency Trading:CURRENCY:EUR           2 €
Budget:Budgeted Funds            2 €
Budget:Daily:Groceries                  2 €

Wish list poll

有一些标记为wish list的github问题。它们表示我可能 以后实施。你可以鼓励我通过 评论这个问题。当然,你也可以在愿望列表中添加项目。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用SerializationUtils时java ClassNotFoundException。克隆()   java Cucumber+spring:如何通过测试触发SmartLifecycle事件?   java如何使ProGuard以简单的方式工作?   java JSP页面显示来自集合的日期   谷歌地图检查坐标是否位于JAVA中谷歌地图API的多边形中   java如何在终端中使用“tokens”打印令牌?   java获取编译错误:包com。威里奥。sdk不存在   java会使用JAXB或类似工具自动填充HATEAOS链接吗?   Javascript(GraalJS)与Java中未签名的右移>>>>   如何在Java代码中创建jdbc请求的Jmeter测试   java如何在CellList中添加或删除单个元素?   java Progressbar:如何创建原始对象的深度副本