Bitcoin bookkeeping best practice guide
Before Bitcoin transactions can be accounted for, they need to be accurately recorded. Find out more in our guide.
Bitcoin bookkeeping: the big picture
When it comes to accounting for digital assets such as Bitcoin, there are challenges from the outset.
On the one hand, all Bitcoin (BTC) transactions are recorded in a decentralized public ledger – the Bitcoin blockchain – that provides a high level of transparency.
On the other hand, the raw data that exists on the blockchain does not contain enough business information to satisfy audit and accounting requirements (and there would be privacy and security implications if it did).
Accounting for a limited number of BTC transactions may be manageable enough for a consumer or small business. This could involve manually cross-referencing blockchain records with other financial statements. But a time-consuming system like this is difficult to scale.
The more that businesses rely on manual processes, the more room there is for inconsistencies and human error.
So where does that leave businesses that want to integrate Bitcoin into their day-to-day business operations?
This article will compare typical journal reports from the world of traditional finance (TradFi) with a blockchain transaction record, and look at how to “bridge the gap” between the two.
Introduction to journal reports
In bookkeeping, a journal report is a summary of transactions that have taken place in a specific timeframe. Journal reports are used to supply the raw data for the general ledger.
This is the principal book of accounts when it comes to a company’s finances.
In effect, a journal report is a sub-ledger that acts as the first step in the bookkeeping process.
Thanks to advances in accounting software technology, journal reports are increasingly auto generated, removing the risk of human error, and streamlining financial reporting.
A journal report is typically formatted as a spreadsheet with multiple columns for standard data such as transaction date, reference, category of payment, debit/credit, and net balance for the account in question.
How is a Bitcoin transaction recorded?
All Bitcoin transactions are recorded on the Bitcoin blockchain, a decentralized public database that contains the history of every Bitcoin transaction that has ever taken place.
In Bitcoin, there is no system of accounts and balances. Units of Bitcoin (which on a technical level are referred to as UTXOs) are exchanged on a peer-to-peer basis.
The Bitcoin blockchain is updated in real time to reflect the changing ownership of the total amount of Bitcoin in existence. This includes new Bitcoins as they are mined and added to the blockchain.
You can read more about how this works in our article on UTXO management.
Finding a Bitcoin transaction online
The transparent nature of the blockchain means that any individual transaction can be located on the blockchain.
One way that transactions can be tracked is via block explorers. A block explorer is a website that aggregates all the raw data from the blockchain in a user-friendly, searchable database.
How to read a Bitcoin transaction record
Let’s take a random example of a real BTC transaction on a block explorer and look at some of the information it contains.
Hash: The unique identifier of the transaction. The hash can be entered in any block explorer to locate the transaction and check its status.
Age: How much time has elapsed since the transaction was broadcast to the blockchain.
Inputs: We can see that there are two different inputs (UTXOs) which together make up the amount broadcast in the transaction, less the fee (which is also shown).
Outputs: It is common for a Bitcoin transaction to include more than one output. That’s because spending more than one UTXO and generating “change” that gets returned to the sender is a key part of how UTXOs work in Bitcoin.
Other information includes:
- A timestamp of when the transaction was broadcast
- Its size in bytes (the more inputs/UTXOs, the larger the size)
- The price of BTC in USD at the time the transaction took place.
What should a Bitcoin journal report contain?
As we have seen, Bitcoin is not a system that uses accounts and balances. But TradFi does.
Businesses that work to widely recognized accounting standards (such as GAAP in the United States or IFRS in many other countries) will likely need to reconcile raw blockchain data with the rest of their accounts in the form of journal reports.
This is in order to:
- Provide the raw data needed for the general ledger, for purposes such as preparing financial statements, taxation, and audit.
- Import into existing TMS (treasury management system) and ERP (enterprise resource planner) software, such as Oracle Netsuite, in a format compatible with those systems.
A Bitcoin journal report should contain as much information as possible about the business function of a Bitcoin transaction as well as its blockchain data.
This includes, but is not limited to:
- Showing whether a transaction is internal or external, an essential requirement for audit purposes.
- Itemizing fees as separate journal entries for simplified reporting and analytics
- Including internal references such as payment category or type
- The debits and credits to the relevant accounts
- Indicating who created and approved the transaction.
In order to compile all this information, companies may choose to operate multiple different spreadsheets, and manually update these to include blockchain data alongside TradFi bookkeeping information.
As mentioned above, this can be both time-consuming and prone to human error.
An easier option is to use a specific digital assets treasury operations platform to create automated journal reports.
Platforms such as Fortris create a bridge between the world of digital assets and TradFi, allowing companies to hold and use digital assets without the need to replace their existing systems.
To find out more, read our article What does a Bitcoin journal entry look like?