Pages:
Author

Topic: GnuCash support for alternative/non-ISO currencies (Read 8762 times)

hero member
Activity: 784
Merit: 1010
Bitcoin Mayor of Las Vegas
I have no idea why this just occurred to me, but GNUCash seems to work perfectly well when using bitcoin's bit/ubit denomination.
legendary
Activity: 2618
Merit: 1007
ledger-cli makes it difficult to assign the task to an accountant. all successful investors ends up hiring an accountant - since you invest in Bitcoin, chances are you will be successful and will hire an accoutant, and end up either switching away from ledger-cli or so rich that you hire an accountant who were trained in Unix too:)
I'd rather do my accounting automatically and have an accountant assisting me with the layout of transactions etc. - with (nearly) all transactions available in machine-readable formats anyways, there is no real need to hire someone to enter numbers into a ledger manually.
legendary
Activity: 1051
Merit: 1000
https://r.honeygain.me/XEDDM2B07C
Upvoted. Very nice indeed my friend.
sr. member
Activity: 313
Merit: 250
I just use ledger-cli instead of GnuCash to have precision to 8 digits.

Maybe you can try to save GNUCash ledger onto MySQL database instead of text file and see if precision improves. It can happen that the devs stored numeric as string to simplify adaptation (toSQL), in which case there be no improvement on precision.

ledger-cli makes it difficult to assign the task to an accountant. all successful investors ends up hiring an accountant - since you invest in Bitcoin, chances are you will be successful and will hire an accoutant, and end up either switching away from ledger-cli or so rich that you hire an accountant who were trained in Unix too:)
legendary
Activity: 2618
Merit: 1007
I just use ledger-cli instead of GnuCash (which is slightly overkill for my taste anyways in some areas) for accounting, it still would be interesting to have at least a fork/patch available to extend precision to 8 digits + allow adding new currency abbreviations to be manually added.
legendary
Activity: 910
Merit: 1000
Quality Printing Services by Federal Reserve Bank
I gave up on doing accounting in LTC or BTC and moved everything to EUR while cryptocoins are held/accounted as investments - like stock. Problem solved!
It is completely pointless to use LTC or BTC because of absurdly high volatility and 99.999% of good (or equipment, materials, what ever) you buy or sell, are still fiat based even if you quote it in any of the cryptocoins.
sr. member
Activity: 313
Merit: 250
I use XXX as a place holder for mBTC, the reason why I don't use BTC, but mBTC, is because gnucash can't handle more than 4-digits after decimal point: it automatically change the number, hinders a user to balance in a split transaction. It won't work even if you configure precision to more than 4-digits after decimal.

I know I just replied a post 120 days old, but this is how long it took me to determine to book-keeping my BTC transactions.
sr. member
Activity: 313
Merit: 250
"Make it easier for users to work with alternative/non-ISO/private currencies. (http://uservoice.com/a/35yKe)"

Folks, I made the above suggestion to the GnuCash developers to include better support for currencies that do not meet ISO requirements, like the bitcoin. I hope you'll all up vote it.

It's being discussed in an onerous discussion here:
https://bugzilla.gnome.org/show_bug.cgi?id=130920

Before they decide to take any action, you may try to use these currency codes of gnucash to denote BTC:

-  XXX (unknown currency)
-  XTS (currency for testing purpose)
-  XPT (Platinum)

So, when they rolled out the real BTC support you can then update your ledger to use it. -- do a search-and-replace of your ledger file (*.gnucash)

There is nothing to do with ISO requirements. Developers do things at their will and update the system following engineering needs, not user requirements. Otherwise how do you explain XTS is not removed in the final release? Users don't have a stake there, in opensource developers rules, the quality is maintained by the fact that most developers happen to be also users. More often than not, if you managed to contributed 50% code, you have to insist on really really bad mistakes in order that other people consider forking your project, and before that you rule like a king. -> this paragraph is not a complaint, just a general description.
sr. member
Activity: 313
Merit: 250
Well, if the GnuCash developers decide to do so, and I doubt they will, they won't take my route. I had to modify a system file, iso_4217.xml, after all. Furthermore, it works by pretending that the target non-ISO4217 currencies do qualify as ISO4217. That just strikes me as an undignified kludge.

They did it before. XAU (for gold) and XAG (for silver) are in iso_4217.xml, which are not part of iso_4217.
newbie
Activity: 26
Merit: 0
Just a tip, whenever I exchange some USD into BTC, I do something like
Assets:BTCWallet  ฿20 @@ $384

What keystroke do you use to get "฿"?

I google searched for Thai Baht, and copy/pasted the character. Sorry  Undecided

No worries. Smiley

hero member
Activity: 560
Merit: 500
I am the one who knocks
For what it's worth I spent 10 mins dinking around and think this might be possible without compiling your own version.

I downloaded GnuCash and created a new book (sqlite format).

Then I opened the file in my sqlite editor and ran:
Code:
insert into commodities
(guid, namespace, mnemonic, fullname, cusip, fraction, quote_flag, quote_source)
VALUES
('11f74daa3e324da18e8c1fb4871a0f70', 'CURRENCY', 'BTC', 'Bitcoin', '', 100000000, 1, 'currency')

The GUID is random, and the fraction doesn't appear to actually work as intendended; however this allows you to create accounts as BTC now.

Perhaps someone smarter than me can take this farther.  I used http://wiki.gnucash.org/wiki/SQL as inspiration.
legendary
Activity: 1680
Merit: 1035
Just a tip, whenever I exchange some USD into BTC, I do something like
Assets:BTCWallet  ฿20 @@ $384

What keystroke do you use to get "฿"?

I google searched for Thai Baht, and copy/pasted the character. Sorry  Undecided
newbie
Activity: 26
Merit: 0
Just a tip, whenever I exchange some USD into BTC, I do something like
Assets:BTCWallet  ฿20 @@ $384

What keystroke do you use to get "฿"?
legendary
Activity: 910
Merit: 1000
Quality Printing Services by Federal Reserve Bank
Just a tip, whenever I exchange some USD into BTC, I do something like
Assets:BTCWallet ฿20 @@ $384

The @@ tells it the total you paid for the currency and calculates the exchange rate for you (I can also use just one @ to give it the exchange rate directly). Then if I run a Ledger command with a -G or something, it tells me my gains and losses on each account. A prices command will also give me a list of exchange rates for every date available.

Lets move all Ledger related questions ad discussion here: https://bitcointalksearch.org/topic/m.1489920

Thank you
legendary
Activity: 1680
Merit: 1035
Just a tip, whenever I exchange some USD into BTC, I do something like
Assets:BTCWallet ฿20 @@ $384

The @@ tells it the total you paid for the currency and calculates the exchange rate for you (I can also use just one @ to give it the exchange rate directly). Then if I run a Ledger command with a -G or something, it tells me my gains and losses on each account. A prices command will also give me a list of exchange rates for every date available.
legendary
Activity: 910
Merit: 1000
Quality Printing Services by Federal Reserve Bank
I am going to give up on gnucash unless I find a workaround for problems I have with reports in multiple currencies.
I actually got the books looking and doing what we needed in the ART project. When I wanted to generate reports, and this damn thing refused to use any of the exchange rates I had entered, I walked away.
To put it politely, cnugash is a joke when it comes to multiple currencies (and do not get me started on this "no user added currencies" BS they got going there!)

Rassah, thanks for the encouragement Smiley I think I am going to look in to Ledger too.  
We only have few transactions at the moment so this is a perfect time to test this stuff out.
legendary
Activity: 1680
Merit: 1035
I was totally blasting Ledger as a crappy tool only suited for Linux command-line geeks, and was using GNUCash only, but Ledger still eventually won me over. It's still a bit of a pain to have to remember some of the commands when running reports, but the text file approach does make it somewhat easier to be more precise, and so far I've been able to find every accounting function and report that I've needed from GNUCash. Currently using Ledger for Bitcoin100.org's finances.
newbie
Activity: 26
Merit: 0
...or just use this link:
http://www.ledger-cli.org/

It still is actively maintained + developed (https://github.com/ledger/ledger).

Anyways, seems VERY nice, if only there would be some nice frontends for reports, graphs and stuff. Also that text file approach sounds interesting, but might not be appealing to everyone.

It's VERY VERY nice actually, (for me anyway). Smiley At any rate, here is the subreddit that introduced it to me, it gives out a very though explanation on how to get started and might be easier than the docs.

http://www.reddit.com/r/Bitcoin/comments/155gw5/heres_how_you_use_ledger_to_account_for_bitcoin/

Also, there's a link to a python script that will pull spot prices for silver, gold and BTC.

As far as the frontend support goes, it supports GNUplot for graphs and such.
legendary
Activity: 2618
Merit: 1007
Ledger.

Do a search for "ledger" on the reddit subereddit /r/bitcoin. Works great for bitcoin, has a script that pulls spot price from mtgox and has gotten me to get off gnucash completely. Takes some getting used to but is awesome.  Won't be for everyone.

...or just use this link:
http://www.ledger-cli.org/

It still is actively maintained + developed (https://github.com/ledger/ledger).

Anyways, seems VERY nice, if only there would be some nice frontends for reports, graphs and stuff. Also that text file approach sounds interesting, but might not be appealing to everyone.
legendary
Activity: 910
Merit: 1000
Quality Printing Services by Federal Reserve Bank
I am going to use FIM for LTC "place holder" because it ceased to be legal tender on 28 February 2002.
I think this is a really good example why gnucash developers obsession with ISO labels is a bit strange. Yes, those labels are useful but there is no need to exclude the option for adding a custom currencies to gnucash.
Pages:
Jump to: