What cost basis accounting methods are applicable to virtual currencies?
"The only ""authoritative document"" issued by the IRS to date relating to Cryptocurrencies is Notice 2014-21. It has this to say as the first Q&A: Q-1: How is virtual currency treated for federal tax purposes?   A-1: For federal tax purposes, virtual currency is treated as property. General tax principles applicable to property transactions apply to transactions using virtual currency. That is to say, it should be treated as property like any other asset. Basis reporting the same as any other property would apply, as described in IRS documentation like Publication 550, Investment Income and Expenses and Publication 551, Basis of Assets. You should be able to use the same basis tracking method as you would use for any other capital asset like stocks or bonds. Per Publication 550 ""How To Figure Gain or Loss"", You figure gain or loss on a sale or trade of property by comparing the amount you realize with the adjusted basis of the property. Gain. If the amount you realize from a sale or trade is more than the adjusted basis of the property you transfer, the difference is a gain. Loss. If the adjusted basis of the property you transfer is more than the amount you realize, the difference is a loss.  That is, the assumption with property is that you would be using specific identification. There are specific rules for mutual funds to allow for using average cost or defaulting to FIFO, but for general ""property"", including individual stocks and bonds, there is just Specific Identification or FIFO (and FIFO is just making an assumption about what you're choosing to sell first in the absence of any further information). You don't need to track exactly ""which Bitcoin"" was sold in terms of exactly how the transactions are on the Bitcoin ledger, it's just that you bought x bitcoins on date d, and when you sell a lot of up to x bitcoins you specify in your own records that the sale was of those specific bitcoins that you bought on date d and report it on your tax forms accordingly and keep track of how much of that lot is remaining. It works just like with stocks, where once you buy a share of XYZ Corp on one date and two shares on another date, you don't need to track the movement of stock certificates and ensure that you sell that exact certificate, you just identify which purchase lot is being sold at the time of sale."
Here's what the GnuCash documentation, 10.5 Tracking Currency Investments (How-To) has to say about bookkeeping for currency exchanges. Essentially, treat all currency conversions in a similar way to investment transactions.  In addition to asset accounts to represent holdings in Currency A and Currency B, have an foreign exchange expenses account and a capital gains/losses account (for each currency, I would imagine).  Represent each foreign exchange purchase as a three-way split: source currency debit, foreign exchange fee debit, and  destination currency credit. Represent each foreign exchange sale as a five-way split: in addition to the receiving currency asset and the exchange fee expense, list the transaction profit in a capital gains account and have two splits against the asset account of the transaction being sold. My problems with this are: I don't know how the profit on a currency sale is calculated (since the amount need not be related to any counterpart currency purchase), and it seems asymmetrical.  I'd welcome an answer that clarifies what the GnuCash documentation is trying to say in section 10.5. Lets look at possible use cases: If you ever converted your cryptocurrency to cash on a foreign exchange, then **YES** you had to report. That means if you ever daytraded and the US dollar (or other fiat) amount was $10,000 or greater when you went out of crypto, then you need to report. Because the regulations stipulate you need to report over $10,000 at any point in the year. If you DID NOT convert your cryptocurrency to cash, and only had them on an exchange's servers, perhaps traded for other cryptocurrency pairs, then NO this did not fall under the regulations. Example, In 2013 I wanted to cash out of a cryptocurrency that didn't have a USD market in the United States, but I didn't want to go to cash on a foreign exchange specifically for this reason (amongst others). So I sold my Litecoin on BTC-E (Slovakia) for Bitcoin, and then I sold the Bitcoin on Coinbase (USA).  (even though BTC-E had a Litecoin/USD market, and then I could day trade the swings easily to make more capital gains, but I wanted cash in my bank account AND didn't want the reporting overhead). Read the regulations yourself. Financial instruments that are reportable: Cash (fiat), securities, futures and options. Also, http://www.bna.com/irs-no-bitcoin-n17179891056/ whether it is just in the blockchain or on a server, IRS and FINCEN said bitcoin is not reportable on FBAR. When they update their guidance, it'll be in the news. The director of FinCEN is very active in cryptocurrency developments and guidance. Bitcoin has been around for six years, it isn't that esoteric and the government isn't that confused on what it is (IRS and FinCEN's hands are tied by Congress in how to more realistically categorize cryptocurrency) Although at this point in time, there are several very liquid exchanges within the United States, such as the one NYSE/ICE hosts (Coinbase). "You say you want a more ""stable"" system. Recall from your introductory economics courses that money has three roles: a medium of exchange (here is $, give me goods), a unit of account (you owe me $; the business made $ last year), and a store of value (I have saved $ for the future!). I assume that you are mostly concerned with the store-of-value role being eroded due to inflation. But first consider that most people still want regular currency, so as a medium of exchange or accounting unit anything would face an uphill battle. If you discard that role for your currency, and only want to store value with it, you could just buy equities and commodities and baskets of currencies and debt in a brokerage account (possibly using mutual funds) to store your value. Trillions of dollars' worth of business takes place this way every year already. Virtual currency was a bit of a dot-com bubble thing. The systems which didn't go completely bust and are still around have been beset by money-laundering, and otherwise remain largely an ignored niche. An online fiat currency has the same basic problem that another currency has. You need to trust the central bank not to create more money and cause inflation (or even just abscond with the funds... or go bankrupt / get sued). Perhaps the Federal Reserve may be jerking us around on that front right now.... they're still a lot more believable than a small private institution. Some banks might possibly be trustworthy enough to launch a currency, but it's hard to see why they'd bother (it can't be a big profit center, because people aren't willing to pay too much to just use money.) And an online currency that's backed by commodities (e.g. gold) is going to be subject to potentially violent swings in the prices of commodities. Imagine getting a loan out for your house, denominated in terms of e-gold, and then the price of gold triples. Ouch?" "I think the ""right"" way to approach this is for your personal books and your business's books to be completely separate. You would need to really think of them as separate things, such that rather than being disappointed that there's no ""cross transactions"" between files, you think of it as ""In my personal account I invested in a new business like any other investment"" with a transfer from your personal account to a Stock or other investment account in your company, and ""This business received some additional capital"" which one handles with a transfer (probably from Equity) to its checking account or the like. Yes, you don't get the built-in checks that you entered the same dollar amount in each, but (1) you need to reconcile your books against reality anyway occasionally, so errors should get caught, and (2) the transactions really are separate things from each entity's perspective. The main way to ""hack it"" would be to have separate top-level placeholder accounts for the business's Equity, Income, Expenses, and Assets/Liabilities. That is, your top-level accounts would be ""Personal Equity"", ""Business Equity"", ""Personal Income"", ""Business Income"", and so on. You can combine Assets and Liabilities within a single top-level account if you want, which may help you with that ""outlook of my business value"" you're looking for. (In fact, in my personal books, I have in the ""Current Assets"" account both normal things like my Checking account, but also my credit cards, because once I spend the money on my credit card I want to think of the money as being gone, since it is. Obviously this isn't ""standard accounting"" in any way, but it works well for what I use it for.) You could also just have within each ""normal"" top-level placeholder account, a placeholder account for both ""Personal"" and ""My Business"", to at least have a consistent structure. Depending on how your business is getting taxed in your jurisdiction, this may even be closer to how your taxing authorities treat things (if, for instance, the business income all goes on your personal tax return, but on a separate form). Regardless of how you set up the accounts, you can then create reports and filter them to include just that set of business accounts. I can see how just looking at the account list and transaction registers can be useful for many things, but the reporting does let you look at everything you need and handles much better when you want to look through a filter to just part of your financial picture. Once you set up the reporting (and you can report on lists of account balances, as well as transaction lists, and lots of other things), you can save them as Custom Reports, and then open them up whenever you want. You can even just leave a report tab (or several) open, and switch to it (refreshing it if needed) just like you might switch to the main Account List tab. I suspect once you got it set up and tried it for a while you'd find it quite satisfactory." As BrenBarn stated, tracking fractional transactions beyond 8 decimal places makes no sense in the context of standard stock and mutual fund transactions.  This is because even for the most expensive equities, those fractional shares would still not be worth whole cent amounts, even for account balances in the hundreds of thousands of dollars. One important thing to remember is that when dealing with equities the total cost, number of shares, and share price are all 3 components of the same value.  Thus if you take 2 of those values, you can always calculate the third: (price * shares = cost, cost / price = shares, etc).  What you're seeing in your account (9 decimal places) is probably the result of dividing uneven values (such as $9.37 invested in a commodity which trades for $235.11, results in 0.03985368550891072264046616477394 shares).  Most brokerages will round this value off somewhere, yours just happens to include more decimal places than your financial software allows. Since your brokerage is the one who has the definitive total for your account balance, the only real solution is to round up or down, whichever keeps your total balance in the software in line with the balance shown online. I'm not sure, but I think the monetary system of Second Life or World of Warcraft would correspond to what you are looking for. I don't think they are independent of the dollar though, since acquiring liquidity in those games can be done through exchange for real dollars. But there can be more closed systems, maybe Sim type games where this is not the case. I hope this helps. For manual conversion you can use many sites, starting from google (type 30 USD in yuan) to sites like xe.com mentioned here. For programmatic conversion, you could use Google Calculator API or many other currency exchange APIs that are available. Beware however that if you do it on the real site, the exchange rate is different from actual rates used by banks and payment processing companies - while they use market-based rates, they usually charge some premium on currency conversion, meaning that if you have something for 30 dollars, according to current rate it may bet 198 yuan, but if he uses a credit card for purchase, it may cost him, for example, 204 yuan. You should be very careful about making difference between snapshot market rates and actual rates used in specific transaction. Using a different cost basis than your broker's reporting is NOT a problem. You need to keep your own records to account for this difference. Among the other many legitimate reasons to adjust your cost basis, the most popular is when you have two brokerage accounts and sell an asset in one then buy in another. This is called a Wash Sale and is not a taxable event for you. However from the perspective of each broker with their limited information you are making a transaction with tax implications and their reported 1099 will show as such. Links:  https://www.firstinvestors.com/docs/pdf/news/tax-qa-2012.pdf Here is the technical guidance from the accounting standard FRS 23 (IAS 21) 'The Effects of Changes in Foreign Exchange Rates' which states: Exchange differences arising on the settlement of monetary items or on translating monetary items at rates   different from those at which they were translated on initial recognition during the period or in previous   financial statements shall be recognised in profit or loss in the period in which they arise. An example:  You agree to sell a product for $100 to a customer at a certain date. You would record the sale of this product on that date at $100, converted at the current FX rate (lets say £1:$1 for ease) in your profit loss account as £100. The customer then pays you several $100 days later, at which point the FX rate has fallen to £0.5:$1 and you only receive £50. You would then have a realised loss of £50 due to exchange differences, and this is charged to your profit and loss account as a cost. Due to double entry bookkeeping the profit/loss on the FX difference is needed to balance the journals of the transaction. I think there is a little confusion as to what constitutes a (realised) profit/loss on exchange difference. In the example in your question, you are not making any loss when you convert the bitcoins to dollars, as there is no difference in the exchange rate between the point you convert them. Therefore you have not made either a profit or a loss.  In terms of how this effects your tax position; you only pay tax on your profit and loss account. The example I give above is an instance where an exchange difference is recorded to the P&L. In your example, the value of your cash held is reflected in your balance sheet, as an asset, whatever its value is at the balance sheet date. Unfortunately, the value of the asset can rise/fall, but the only time where you will record a profit/loss on this (and therefore have an impact on tax) is if you sell the asset. "As far as I can tell there are no ""out-of-the-box"" solutions for this.  Nor will Moneydance or GnuCash give you the full solution you are looking for.  I imaging people don't write a well-known, open-source, tool that will do this for fear of the negative uses it could have, and the resulting liability.  You can roll-you-own using the following obscure tools that approximate a solution: First download the bank's CSV information: http://baruch.ev-en.org/proj/gnucash.html That guy did it with a perl script that you can modify. Then convert the result to OFX for use elsewhere: http://allmybrain.com/2009/02/04/converting-financial-csv-data-to-ofx-or-qif-import-files/" "According to the following article the answer is ""first-in, first-out"": http://smallbusiness.chron.com/calculate-cost-basis-stock-multiple-purchases-21588.html According to the following article the last answer was just one option an investor can choose: https://www.usaa.com/inet/pages/advice-investing-costbasis?akredirect=true" "I found an answer by Peter Selinger, in two articles, Tutorial on multiple currency accounting (June 2005, Jan 2011) and the accompanying Multiple currency accounting in GnuCash (June 2005, Feb 2007). Selinger embraces the currency neutrality I'm after. His method uses ""[a]n account that is denominated as a difference of multiple currencies... known as a currency trading account."" Currency trading accounts show the gain or loss based on exchange rates at any moment.  Apparently GnuCash 2.3.9 added support for multi-currency accounting. I haven't tried this myself. This feature is not enabled by default, and must be turned on explicity. To do so, check ""Use Trading Accounts"" under File -> Properties -> Accounts. This must be done on a per-file basis. Thanks to Mike Alexander, who implemented this feature in 2007, and worked for over 3 years to convince the GnuCash developers to include it. Older versions of GnuCash, such as 1.8.11, apparently had a feature called ""Currency Trading Accounts"", but they behaved differently than Selinger's method." This is great! I'm not a CPA, but work in finance. As such, my course/professional work is focused more on the economic and profitability aspects of transfer pricing. As you might imagine, it tended to analyze corporate strategy decisions under various cost allocation models, which you thoroughly discuss.  I would agree with the statement that it is based on the matching principle but would like to add that transfer pricing is interesting as it falls under several fields: accounting, finance, and economics. Fundamentally it is based on the matching principal, but it's real world applications are based on all three (it's often used to determine divisional and even individual sales peoples profitability; as is the case with bank related funds transfer pricing on stuff like time deposits). In this case, the correct accounting principal allows you to, when done properly, better understand the economics, strategy, and operations of an organization.   In effect, when done correctly, it provides transparency for strategic decision making to executives. As I said, since my coursework tended to focus more on that aspect, I definitely have a natural tendency towards it.  This is an amazing explanation (esp. about interest on M&amp;A bridge loans, I get that) of the more detailed stuff! Truthfully, I'm not as familiar with it and was just trying to show more of the conceptual than nitty-gritty.   Thanks for the reply! "Stocks, as an asset, represent the sum of the current market value of all of your holdings. If your portfolio is showing unrealized gains and losses, then that net amount is inherently reflected in the current market value of your holdings.  That's not to say cost basis is not important. Any closed trades, realized gains or losses, will of course have an impact on your taxable income. So, it couldn't hurt to keep track of your cost basis from a tax standpoint, but understand that the term ""asset"" refers to the current market values and does not consider base amounts. Taxes do. Perhaps consider making separate cells for cost basis, but also bear in mind that most if not all of the major online discount brokers will provide transferring of cost basis information electronically to the major online tax service providers." You just explained why I'm boggled that some companies an individuals are willing to utilize such an erratic currency for exchanges. I tried using it as a payment method in my previous services company, but was understanding most people wouldn't and that it could potentially be loss for myself. Which on a smaller scale isn't really a issue, but scale up to some of the larger companies and it could be devastating. It's an entirely speculative market that could depreciate returns quickly.