为信封预算自动调整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第三方库


热门话题
xml Web服务Java   java固定大小日志文件,只包含最近的条目   java Pong:在窗口的顶部和底部边界反转球   python结构。从Java中解包   java如何将代理对象传递给另一个类?   Dijkstra算法在Java中的实现   java需要帮助解析字符串中的数字,并将它们放入整数数组中   java文件。mkdirs()创建目录而不是文件   java SharedReferences在检索值时返回null   java Android Studio无法创建JVM:错误代码1   java泛型以防止父类成为可接受类型   java如何获得Spring批处理中写入DB的条目数?   用JNI从java程序中调用Android函数C++   一个适合java的UpdateLancher看起来怎么样?   在控制台中显示InvocationTargetException而不是第一次显示NoClassDefFoundError背后的java用途   java Android gridview按位置更改背景   java如何在安卓中以字符串和日期格式获取明天的日期,以便在sqlite查询中使用?   java如何为映射实现创建自定义迭代器?