This article is relevant if you use NetSuite to track and maintain bitcoin and other cryptocurrency transactions and you need to calculate your realized gain or losses.
Background
Since 2013, my practice has been using Bitcoin both as a payment method and a foreign currency within the NetSuite transaction engine. I designed and produced the first true ERP integration to the Bitcoin network. While it can be argued I was way ahead of the adoption curve, the world has accepted that cryptocurrency as a new asset class that can be used in innovative and meaningful ways.
Readers may want to reference my previous articles on the intersection of NetSuite and Bitcoin:
- Contrasting Bitcoin as an Asset versus a Foreign Currency in the NetSuite Accounting System
- CIO Review Article: Bitcoin and Digital Currency Impacts on Core ERP & Business Systems
- Huffpost: How to Make Use of Bitcoin in Business (in NetSuite)
- Step by Step: Accounting for Bitcoin as Foreign Currency
- Capture Bitcoin Exchange Rates in NetSuite
- Early Look at Bitcoin Integration within Financial System
- Adding Bitcoin Global Payment Capacities to NetSuite
US Based Tax Obligations for Crypto Transactions
If you are a United States-based entity, you are obligated to report the gains and losses from cryptocurrency transactions. Since cryptocurrency is treated as a general property asset class, something close to a collectible, as opposed to a security, we actually have some freedom for the method we use to calculate gains and losses. While we can certainly use the average acquisition cost or first-in-first-out approach as a cost method, we can also use specific identification.
There are a number of crypto tax calculation engines that have emerged to help individuals determine their realized gains and losses. I tried a couple of them, including Lukka and Bear Tax. For a number of different reasons, I was not satisfied. These calculators made too many assumptions about the way that people acquire and dispose of funds — and thus did not fit our requirements. The fact our use of Bitcoin is deeply integrated into the NetSuite transaction engine is special and differentiating.
Using NetSuite to Calculate Crypto Gains and Losses
The good news is that if you use NetSuite where Crypto is treated both as a payment method and foreign currency, you already have the fundamentals down for being able to calculate your gains and losses. The key to understanding this is that holding the crypto wallet is akin to holding a foreign bank account. We designate a general ledger bank account in foreign currency to represent the bitcoin wallet. Under this manner, every transaction in the bank account thus can be evaluated for gain(loss) treatment. Consider the following:
- Bank Debits: these represent acquisitions, from any source. The exchange rate then is used as the price.
- Bank Credits: these represent dispositions, for any use. The exchange rate on these is also used to be the price.
The key to the calculation then is this: for a given tax year, take all your disposition records and account for them against other older acquisition transactions. Logically, your acquisition transactions will have come into existence first (you source crypto first before you can use it). Subsequently, your dispositions can then be linked/applied to older acquisition records. The linking and applying of these transactions thus have an inherent nature as follows:
- Term: if the number of days between the transactions is greater than one year, it is Long Term; else it is Short Term.
- Gain(Loss): if the difference between the disposition (sell) and acquisition (buy) price is positive, you have a Gain; else you have a Loss.
Create Tranche Records for Each Bank Transaction
The nature of the accounting books should normally be closed for year-end work. This means that transaction records are locked. In contrast to the common approach to create custom transaction fields to extend the bank record, instead, we will create tranche records. Each tranche is one-to-one (1:1) to its respective bank transaction. During the year, if you produced 100 bank transactions in the register, the application will create 100 tranche records. The tranche records allow you to work them to explain how each disposition tranche is applied to acquisition tranches without a worry for touching the existing locked financial books.
Apply Disposition Tranches to Acquisition Tranches
Once the tranches are ready, you then have the opportunity to apply each disposition to respective acquisitions. Because you have freedom for how you do this, you can optimize gains and losses at your discretion. Through filtering and sorting, the application can be manipulated to focus on your preferred gain (loss) strategy. Controls are produced to ensure you apply funds logically. Click on the images to get a feel for the app.
Accumulate Tranche Application Records
Once you have worked every disposition trance record, you can use saved search to summarize each tranche application record to yield your total short/long term gain/(loss). Because this all is done in NetSuite, you have a permanent record reference. Finally, the gain/loss can be booked by a simple year-end adjustment entry.
Get the NetSuite Crypto Gain/Loss Calculator
Like all the work we do for our clients, all of our tools, bundle, and accelerators are offered for no license fee. Naturally, we can adapt these tools to specific circumstances. Of course, when it comes to NetSuite and crypto, I have designed a number of applications serving the emerging market.
If you found this article helpful, feel free to receive notifications of new articles. If you have a cryptocurrency challenge that needs expert leadership, let’s have a conversation.