How To: Journal Entry a Bitcoin Trade for USD using NetSuite

This article is relevant if you are considering accounting for Bitcoin in your business and you are exploring how to produce journal entries for specific transactions.


In my NetSuite Systems Integration practice, I offer a discount on our professional services invoices if our customers pay with Bitcoin.  We have clients that have accepted our offer and consequently, we have developed Bitcoin balances that are tracked in our accounting system.   For any one interested, the Bitcoin Transaction Coordinator for NetSuite (BTC4ERP) offers a seamlessly integrated mechanism to pay bills and accept Bitcoin in NetSuite.  We are using this platform in our NetSuite accounting system.

Fundamentally, BTC4ERP activates the foreign currency features in NetSuite to treat Bitcoin as a currency. ¬†Because Bitcoin is divisible by 8 decimal places, and accounting systems typically work only with two decimal places, the Bitcoin Transaction Coordinator expresses Bitcoin in micro units by shifting the decimal to the right 6 places. ¬†This means that 1 Bitcoin is the same as 1,000,000 micro Bitcoin expressed with this symbol:¬†őľBitcoin.

The Bitcoin Exchange Transaction

Recently, a colleague asked if he could purchase a Bitcoin from us after he learned we were collecting Bitcoin in our business.  We agreed to use exchange prices expressed at as our guide to market rate.  We agreed to a price of $1,020 USD for 1 Bitcoin.   Our friend wrote us a standard bank check and we immediately and irrevocably transferred the Bitcoin (new school).  We then deposited the check in our bank account via an automated teller machine (old school) and waited the few days for clearing (looking like snail mail, no?).

Our Bitcoin balances are accounted for in NetSuite general ledger accounts of type ‘Bank’, each corresponding to our private Bitcoin wallets. ¬†We effectively need to do a bank transfer to account for this transaction.

Bank Transfer or Journal Entry

In NetSuite, there are two ways you can produce this transaction:

  1. Bank Transfer: convenient interface to leverage bank account and currency indicators with derived exchange price.
  2. Journal Entry: general mechanism to account for Bitcoin to USD but requires more analysis to setup
I like using the Bank Transfer feature because I back into the exchange rate.  I know how many Bitcoin I traded for USD.  The exchange rate is the plug.  The general ledger impact is exactly how I wanted it.

Some accounting systems do not have a Bank Transfer feature. ¬†As such, just for illustration, I created a generic journal entry to record the transaction. ¬†Both of these approaches produce the same “GL Impact” as illustrated.

Note about Bitcoin Exchange Rate Gains or Losses

Even though we agreed to a particular price for the Bitcoin, the Bitcoin Transaction Coordinator tracks market prices for Bitcoin in NetSuite. ¬†This allows us to account for gains and losses for currency fluctuations. ¬†Let’s suppose that the price of Bitcoin at the time of our trade was $1,050 versus $1,020. ¬†I effectively have an unrealized gain of $30. ¬†I don’t need to worry about this. ¬†In NetSuite, I typically account for unrealized changes in currency valuations when I close my books each month. ¬†NetSuite offers a mechanism to revalue open currency balances which will produce journal entries that post gains or losses on the income statement.

If you are interested in learning how to account for Bitcoin in your business and you would like to use the NetSuite platform, let’s setup a conversation.

Be Sociable, Share!

Marty Zigman

Holding all three official certifications, Marty is Southern California's NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 25 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

More Posts - Website - Twitter - Facebook - LinkedIn - Google Plus - YouTube

| Tags: , , , | Category: Accounting, NetSuite | Leave a comment

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>