How can I set the value in the "Buy" or "Sell" columns to less than 0.01 in GNU Cash?
I'm trying to see if GNU Cash can be used to track forex trading of cryptocurrency pairs. Specifically I'm looking at XMR-BTC
At the time of writing, the price of one Monero (XMR) is 0.0073 Bitcoins (BTC).
In-breif, here's how I setup a new GNU Cash DB to track buying XMR with BTC and selling XMR for BTC:
Launch GNU Cash. Click File -> New. Click Next. Click Next. Click Next.
In the "Choose accounts to create", check only "A Simple Checkbook"
Click "Finish". Click "Apply".
Type a name for the new DB and click Save.
Expand "Assets" to show "Current Assets". Expand "Current Assets". Right-Click on "Current Assets" and click "New Account..."
a. Set "Account name" = "Cryptocurrencies" and click "OK"
Click Tools -> Security Editor
a. Click "Add"
i. Full Name = "Bitcoin", Abbreviation = "BTC-USD", Display Symbol = "BTC", Type = "cryptocurrency", Fraction traded = 1/ "100000000", Get Quotes online "checked", choose "Yahoo as JSON". Click "OK"
b. Click "Add"
i. Full Name = "Monero", Abbreviation = "XMR-USD", Display Symbol = "XRM", Type = "cryptocurrency", Fraction traded = 1/ "100000000", Get Quotes online "checked", choose "Yahoo as JSON". Click "OK"
c. Click "Close"
Right-Click on "Cryptocurrencies" and click "New Account..."
- Account Type = "Stock", Account Name = "BTC", Security/Currency = "BTC-USD (Bitcoin)"
- Account Type = "Stock", Account Name = "XMR", Security/Currency = "XMR-USD (Monero)"
Double-Click on "BTC" and enter a starting balance a. Transfer ="Equity:Opening Balances - BTC-USD", Shares = "0.001"
After following the above steps, you'll have a very simple GNU Cash DB with accounts for Bitcoin (BTC) and Monero (XMR). The balance of Monero is 0 XMR. The balance of Bitcoin is 0.005 BTC (currently worth about 100 USD).
Now let's say you want to buy some Monero (XMR) with half of your Bitcoin (0.0025 BTC). Again, the price for one XMR is 0.0073 BTC. At that exchange rate, you buy 0.342465753 XMR for 0.0025 BTC. For the purposes of this example, let's simply say there's no fees.
To add this transaction to GNU Cash, open the XMR account and add a new Transaction row
- In the "Transfer" column, select "Assets:Current Assets:Cryptocurrencies:BTC"
- In the "Shares" column, type "0.342465753"
- In the "Buy" column, type "0.0025"
- Click "Enter"
Here lies the problem: as soon as you leave the transaction, the "Buy" field gets cleared.
What should happen is GNU Cash divides the "Buy" field (0.0025 BTC) by the "Shares" field (0.342465753 XMR) and calculates the price to be 0.0073 (or some awkward fraction very close to this).
But what does happen: GNU Cash gives-up and clears the filed (I guess because it doesn't like buy amounts to be so small?)
Also, if you go all-in and try to spend all of your Bitcoin (0.005 BTC) on buying Monero, you'll get 0.684931507 XMR. If you try to enter this into the XMR Account's ledger:
- In the "Transfer" column, select "Assets:Current Assets:Cryptocurrencies:BTC"
- In the "Shares" column, type "0.684931507"
- In the "Buy" column, type "0.005"
- Click "Enter"
...Then GNU Cash rounds-up the "Buy" column to 0.01 BTC, which makes the calculation of the price 0.0146 BTC/XMR, which is wayyyy off from the actual price of 0.0073 BTC/XMR.
How can I tell GNU Cash to accept my values in the "Buy" and "Sell" column up to 8 decimal places (eg 0.00000001)?