Package: django-account-keeping
A reusable Django app for keeping track of transactions in your bank accounts.InstallationTo get the latest stable release from PyPipipinstalldjango-account-keepingTo get the latest commit from GitHubpipinstall-egit+git://github.com/bitmazk/django-account-keeping.git#egg=account_keepingAdd all relevant apps to yourINSTALLED_APPSINSTALLED_APPS=(...,'account_keeping','currency_history','import_export',)Add theaccount_keepingURLs to yoururls.pyurlpatterns=patterns('',...url(r'^accounting/',include('account_keeping.urls')),)Don’t forget to migrate your database./manage.pymigrateUsageConfigure currency history appFollow the instructions at:https://github.com/bitmazk/django-currency-historyMake sure you add all needed currencies first. Second, define the wanted rates.
Then make sure to get the latest rate history and add it by yourself.Add Account objectsNext you need to create your accounts. Note that the fieldtotal_amountis
currently not used. It might eventually be used in the future for performance
optimisations but at the moment it seems that computing the totals on the
fly is fast enough.Import data from Money Manager ExIf you were using Money Manage Ex, you can export your data into a .csv file
and then import it into this app:./manage.py importer_mmex -f filename.csv -c EUR -t 19 -a account-slugThe parameter-t(VAT) is optional. If omitted, it is assumed that there is
no VAT for the transactions in this account.IMPORTANT: Money Manager Ex has a transaction typeTransferbut unfortunately
in the.csvformat the information of the source and destination accounts is
lost. Here is a workaround: First you go through all your transactions in
Money Manager Ex and those that have an incoming transfer (a deposit), you mark
by adding some unique text to the description. Then you export the.csvand
edit it in an editor. You search for your unique string and for those rows you
change the transaction type fromTransfertoTransferDeposit.Money Manager Ex does not have the notion of invoices, it only has
transactions. When importing the data, this app will simply generate a dummy
invoice for each transaction. Unfortunately, you have to go through all
transactions manually and change the incoive date.Creating transactions with sub-transactionsSometimes a customer will pay several invoices within one transaction. For this
case you should do the following:Create the transaction that has appeared on your bank account as usualFor each invoice that has been paid, create a transaction that has the
first transaction as a parent and of course create an invoice that is tied
to it’s transaction.SettingsBASE_CURRENCYDefault: ‘EUR’Define a default currency. All time statistics and summaries are displayed
using this setting.Currently available viewsAlltime overviewURL: ../all/Shows all transactions for all accounts, all time totals and outstanding
invoices.Year overviewURL: ../YYYY/Shows a table with total expenses, income, profit for each month of the year.
Also shows how many new invoices have been sent to customers each month and
how many invoices have been outstanding for each month.Shows the total bank balance for each month (at the end of each month) and
total equity (bank balance + outstanding invoices).Month overviewURL: ../YYYY/MM/Shows all transactions for all accounts for the given month.ContributeIf you want to contribute to this project, please perform the following steps# Fork this repository
# Clone your forkmkvirtualenv-ppython2.7django-account-keepingmakedevelopgitco-bfeature_branchmaster# Implement your feature and testsgitadd.&&gitcommitgitpush-uoriginfeature_branch# Send us a pull request for your feature branch