{ "info": { "author": "Richard M\u00f6hn", "author_email": "richard.moehn@posteo.de", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Topic :: Office/Business :: Financial :: Accounting" ], "description": "GnuCash Autobudget\n==================\n\n.. contents::\n\n\nInstallation\n------------\n\nYou need the `GnuCash Python bindings`__ installed on your computer. If\nyou've installed GnuCash through the package manager, you probably\nalready have them. If you're not sure, just try to install GnuCash\nAutobudget and it will complain if it can't find the bindings.\n\n__ http://wiki.gnucash.org/wiki/Python_Bindings\n\nInstall::\n\n $ pip install [--user] gnucash_autobudget\n or\n $ easy_install [--user] gnucash_autobudget\n or \n $ git clone https://github.com/rmoehn/gnucash_autobudget.git\n $ cd gnucash_autobudget\n $ sudo python setup.py install\n\n\nUsage\n-----\n\n::\n\n $ gnucash_autobudget in.gnucash out.gnucash\n\nThis will create a file ``out.gnucash`` which is the same as\n``in.gnucash`` except that the transactions for which it applies will\nhave budgeting entries added to them.\n\n\nIdea\n----\n\nI had been using YNAB for my personal finances, but got fed up, because it\ndoesn't support accounting in multiple currencies. So I switched to GnuCash,\nwhich does support accounting in multiple currencies, but doesn't have a special\nfunction for envelope budgeting (zero-sum budgeting, YNAB budgeting). However,\ncoming from YNAB, envelope budgeting is quite important to me.\n\nSearching the web, I found several implementations of envelope budgeting in\nGnuCash, but those that appeared 'clean' required some manual transaction\nsplitting. This is tedious, especially when your transactions are already\nbloated with currency adjustment data.\n\nSo I take the in my opinion cleanest (I don't know much about accounting,\nthough) `method of envelope budgeting`__ with GnuCash and use GnuCash Autobudget\nto automatically add budgeting entries to transactions.\n\n__ https://www.reddit.com/r/GnuCash/comments/3z5b6m/ynab_method_of_budgeting_with_gnucash/czvmtdd\n\n\nAccount setup\n-------------\n\nPlease read the Reddit post linked above first and create some transactions\naccording to that method, so that you get a feel for it.\n\nGnuCash Autobudget expects a setup similar to the one shown there::\n\n Assets asset\n Cash asset\n Expenses expense mandatory\n Daily expense\n Groceries expense\n Beer expense\n Transportation expense\n Monthly expense\n Rent expense\n Budget asset mandatory\n Budgeted Funds liability mandatory\n Available to Budget asset mandatory \n Daily asset\n Groceries asset\n Transportation asset\n Monthly asset\n Rent asset\n \n \nFor GnuCash Autobudget to work, you must have the mandatory accounts and they\nmust have the same name as listed above. The other accounts are only for\nillustration and you can structure and name them as you want. Note, though, that\nGnuCash Autobudget relies on the correspondence of subaccount names under\nExpenses and Budget. Namely\u2026\n\nGnuCash Autobudget only looks at subaccounts of Expenses that have a\ncorresponding subaccount in Budget. So for example, ``Expenses:Daily:Groceries``\ncorresponds to ``Budget:Daily:Groceries``. If there is no corresponding\nsubaccount for an account in Expenses, GnuCash Autobudget will ignore it. For\nexample, it will ignore ``Expenses:Daily:Beer``.\n\n\nWhat does it do?\n----------------\n\nWhen GnuCash looks through those accounts, it looks for transactions that don't\nhave a budget entry. Like this::\n\n # debit credit\n Expenses:Daily:Groceries 100\n Assets:Cash 100\n\nIt then adds budget entries to them::\n\n Expenses:Daily:Groceries 100\n Assets:Cash 100\n Budget:Budgeted Funds 100\n Budget:Daily:Groceries 100\n\nThat means you can record your transactions as usual and GnuCash Autobudget adds\nthe obvious information, so that your budgeting accounts will show the right\ninformation. Of course, GnuCash Autobudget won't touch transactions that already\nhave a budget entry.\n\n\nSplit transactions\n------------------\n\nGnuCash Autobudget can also deal with split transactions. Input::\n\n Expenses:Daily:Food 70\n Expenses:Daily:Drink 10\n Assets:Cash 80\n\nOutput::\n\n Expenses:Daily:Food 70\n Expenses:Daily:Drink 10\n Assets:Cash 80\n Budget:Budgeted Funds 80\n Budget:Daily:Food 70\n Budget:Daily:Drink 10\n\nMulti-currency splits work, too. Input::\n\n # debit credit\n Expenses:Daily:Groceries 2 \u20ac\n Currency Trading:CURRENCY:JPY 250\n Assets:Cash:Yen 250\n Currency Trading:CURRENCY:EUR 2 \u20ac\n \nOutput::\n\n Expenses:Daily:Groceries 2 \u20ac\n Currency Trading:CURRENCY:JPY 250\n Assets:Cash:Yen 250\n Currency Trading:CURRENCY:EUR 2 \u20ac\n Budget:Budgeted Funds 2 \u20ac\n Budget:Daily:Groceries 2 \u20ac\n\n\nWish list poll\n--------------\n\nThere are some GitHub issues labelled ``wish list``. They denote things I might\nimplement in the future. You can encourage me to implement a certain feature by\ncommenting on the issue. Of course, you can also add items to the wish list.\n\n\nCopyright and License\n---------------------\n\nSee ``LICENSE.txt``.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rmoehn/gnucash_autobudget", "keywords": "GnuCash budget YNAB", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "gnucash_autobudget", "package_url": "https://pypi.org/project/gnucash_autobudget/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gnucash_autobudget/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/rmoehn/gnucash_autobudget" }, "release_url": "https://pypi.org/project/gnucash_autobudget/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Automatically adjust GnuCash transactions for envelope budgeting", "version": "0.1.0" }, "last_serial": 2104840, "releases": { "0.1.0": [] }, "urls": [] }