Author

Topic: Finance / Money management software (Read 2230 times)

hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
March 20, 2013, 06:27:29 AM
#10
I've made a bit more progress on this. I managed to get it to work with 8 decimal place Bitcoin values. It's a fairly small change and I updated all my values from my wallet with 8 decimals. It works ok but I had one time where it crashed - so I think there is still something wrong in the amount entry parsing. I'd recommend if you try this to keep backups of your moneyguru data file before each use. At least until this has been tested more. (The moneyguru data file appears to be an XML account+transaction list.)

Here is the full patch that adds an XBC symbol and updates entry parsing code to support 8 decimals. This is applied in the /usr/share/moneyguru directory and affects two files with only a few lines each.

I'm going to look at a plugin for importing transactions from an Electrum wallet, and probably an exchange rate update function for the Net Worth screen.

Hey BkkCoins, did you make any more progress with this? I've just started playing around with MoneyGuru again and am about to include the BTC patch you've provided.

I've been using it every day and it seems to work. I think I recall a new version being released so if that patch has problems let me know and I'll post an updated one. I haven't done anything new since that as I've been busy with another project.
sr. member
Activity: 369
Merit: 250
March 19, 2013, 06:32:07 AM
#9
I've made a bit more progress on this. I managed to get it to work with 8 decimal place Bitcoin values. It's a fairly small change and I updated all my values from my wallet with 8 decimals. It works ok but I had one time where it crashed - so I think there is still something wrong in the amount entry parsing. I'd recommend if you try this to keep backups of your moneyguru data file before each use. At least until this has been tested more. (The moneyguru data file appears to be an XML account+transaction list.)

Here is the full patch that adds an XBC symbol and updates entry parsing code to support 8 decimals. This is applied in the /usr/share/moneyguru directory and affects two files with only a few lines each.

I'm going to look at a plugin for importing transactions from an Electrum wallet, and probably an exchange rate update function for the Net Worth screen.

Hey BkkCoins, did you make any more progress with this? I've just started playing around with MoneyGuru again and am about to include the BTC patch you've provided.
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
December 20, 2012, 10:37:17 AM
#8
I've made a bit more progress on this. I managed to get it to work with 8 decimal place Bitcoin values. It's a fairly small change and I updated all my values from my wallet with 8 decimals. It works ok but I had one time where it crashed - so I think there is still something wrong in the amount entry parsing. I'd recommend if you try this to keep backups of your moneyguru data file before each use. At least until this has been tested more. (The moneyguru data file appears to be an XML account+transaction list.)

Here is the full patch that adds an XBC symbol and updates entry parsing code to support 8 decimals. This is applied in the /usr/share/moneyguru directory and affects two files with only a few lines each.

Code:
--- hscommon/currency.py.orig 2012-12-11 13:14:49.395809143 +0700
+++ hscommon/currency.py 2012-12-20 21:54:09.355576324 +0700
@@ -256,7 +256,9 @@
     start_date=date(1998, 1, 2), start_rate=0.5278, latest_rate=0.3793)
 XPF = Currency.register('XPF', 'CFP franc',
     exponent=0, start_date=date(1998, 1, 2), start_rate=0.01299, latest_rate=0.01114)
-
+XBC = Currency.register('XBC', 'Bitcoin',
+    exponent=8, start_date=date(1998, 1, 2), start_rate=13.50, latest_rate=13.50)
+    
 class RatesDB:
     """Stores exchange rates for currencies.
    
--- core/model/amount.py.orig 2012-12-20 21:52:48.043173127 +0700
+++ core/model/amount.py 2012-12-20 21:55:04.127847928 +0700
@@ -30,6 +30,8 @@
 re_decimal_sep_2 = re.compile(r"[,.](?=\d{1,2}$)")
 # currencies with 3 decimal places
 re_decimal_sep_3 = re.compile(r"[,.](?=\d{1,3}$)")
+# currencies with 8 decimal places
+re_decimal_sep_8 = re.compile(r"[,.](?=\d{1,8}$)")
 # A valid amount, once it has been pre-processed
 re_amount = re.compile(r"\d+\.\d+|\.\d+|\d+")
 
@@ -86,7 +88,9 @@
     # Now, we have a string that might have thousand separators and might or might not have
     # a decimal separator, which might be either "," or ".". We'll first find our decimal sep
     # and replace it with a placeholder char, find all thousand seps, replace them with nothing.
-    if exponent == 3:
+    if exponent == 8:
+        string = re_decimal_sep_8.sub('|', string)    
+    elif exponent == 3:
         string = re_decimal_sep_3.sub('|', string)
     elif exponent == 2:
         string = re_decimal_sep_2.sub('|', string)

I'm going to look at a plugin for importing transactions from an Electrum wallet, and probably an exchange rate update function for the Net Worth screen.
legendary
Activity: 1666
Merit: 1057
Marketing manager - GO MP
December 19, 2012, 06:06:23 AM
#7
Nice find, I'll donate if it turns out to be useful for me. Smiley
sr. member
Activity: 369
Merit: 250
December 19, 2012, 06:02:01 AM
#6
I spoke to the dev about getting BTC live quotes, I suggested the mtgox API, he said it wouldn't be difficult to get it added.  But it sounds like the app runs pretty well even without the live rates which is nice.

I already have a pretty good finance tracking system built in PHP (doesnt support BTC) so I cant justify learning MoneyGuru and its double entry accounting just yet.  Not sure what added benefit it would bring from the extra effort.

Anyway, if I ever need better tracking of my BTC expenses i'll give it a go.

If you find it useful, maybe send the dev a bitcoin or two for his effort Smiley
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
December 19, 2012, 03:40:06 AM
#5
What does this software do that a simple excel spreadsheet can't do? I actually posed this question to the community of "How you do your book keeping" and most people said spreadsheet, it is easy, quick and gets the job done. I know people that run businesses are going to say they need it for book keeping, but if your not doing doing half a million dollars in sales there is no use for it.
I find it easier and less error prone than using a spreadsheet. I'm not saying you can't use a spreadsheet but it's not going to enforce double entry balancing and you would have to have lots of linked spreadsheets for each account ledger, or some complicated macros to manage it all.

A program like this gives you a lot more than simply a running balance of how much cash is in your pocket. You could probably program all this in spreadsheets with pie charts and graphs linked but why bother. To be honest I can't understand why someone would want to bypass the ease of this for  a spreadsheet.

Almost 20 years ago I used MS Money, and it was much better even then, but this program does the basics and that's a lot more than a simple spreadsheet. I've used spreadsheets for many applications so I'm not speaking from lack of experience.
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
December 18, 2012, 08:34:39 PM
#4
I've been using MoneyGuru successfully with Bitcoin for a couple weeks, The Bitcoin currency is not natively supported but I found it very easy to add and it does work as well as other currencies now in my testing. Main down side is the program seems to only support 2 decimal places. At this time that's not a practical problem but it could be later.

I've created a patch to add XBC as the Bitcoin symbol. I chose this since it is likely what would make it as an ISO symbol and is similar to Gold XAU and Silver XAG. MoneyGuru uses ISO standard symbols so I wanted to be consistent even if it's not what most Bitcoinners are used to.

Here is the patch. Apply it in the /usr/share/moneyguru/hscommon directory and it will add two lines to the currency.py file for the new currency.

Code:
--- currency.py.orig 2012-12-11 13:14:49.395809143 +0700
+++ currency.py 2012-12-11 13:12:19.743067078 +0700
@@ -256,7 +256,9 @@
     start_date=date(1998, 1, 2), start_rate=0.5278, latest_rate=0.3793)
 XPF = Currency.register('XPF', 'CFP franc',
     exponent=0, start_date=date(1998, 1, 2), start_rate=0.01299, latest_rate=0.01114)
-
+XBC = Currency.register('XBC', 'Bitcoin',
+    start_date=date(1998, 1, 2), start_rate=13.50, latest_rate=13.50)
+    
 class RatesDB:
     """Stores exchange rates for currencies.

BTW it doesn't matter too much what exchange rate is used here and I just chose some recent price. In MoneyGuru you can set both sides of any transfer in the transaction entry, eg. From US$ X to XBC Y amount, so the rate is determined by those values. This allows for fees to be added as side effects as well. I'm not sure if there is any other way of updating exchange rate. I haven't seen any way like updating from an exchange. I would expect any balance uses whatever rate is implied in the transaction but haven't really confirmed that.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
December 06, 2012, 08:01:42 AM
#3
I also plan to build a General Ledger package for the CIYAM open source project (probably a few months away for this particular package) - I've used GNUCash for a few years and will be basing it on its basic design with support for BTC and conversions to other currencies being a core part.
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
December 06, 2012, 06:41:08 AM
#2
That looks pretty good and has a Ubuntu PPA too. It would be cool if a wallet plugin could be built in as a tab, with the balance showing up as an "bank" account in the Net Worth.

It's written in Python so perhaps an Electrum tab would be nice. I'm going to look at that since I'm already familiar with Electrum. I see the dev hosts the source on BitBucket. I'm not familiar with that but it seems to be similar to GitHub.

(I really like the way it says it handles multiple currencies. I have to deal with this a lot and it looks like it would also work well for Bitcoin.)
sr. member
Activity: 369
Merit: 250
December 06, 2012, 04:51:04 AM
#1
Hi All,

I stumbled across this personal financial management application the other day that I thought fellow bitcoiners may be interested in.  It's called moneyGuru http://www.hardcoded.net/moneyguru/.

It's an open source / cross platform double entry accounting app, a bit easier than gnuCash and a lot cheaper than MYOB etc.

Anyway, the author is a bitcoin fan and has just started accepting donations/payment via bitcoin. http://www.hardcoded.net/bitcoin

I had a chat with him and he said bitcoin support could be added very easily.

So, if you want a money management app, that's open source, pro bitcoin and can pay in bitcoin, go have a look.
Jump to: