In order to do accurate accounting of crypto transactions, a user must select a "cost basis accounting method" which determines how their transactions are accounted for when they accumulate or dispose crypto. The common methods are FIFO (first-in-first-out), LIFO (last-in-first-out), and HIFO (highest-in-first-out). This accounting method determines which lot of a given crypto is disposed of when a user executes a transaction that triggers a disposal (e.g. a sell or swap).
This accounting method has an outsized impact on the user's profit & loss accounting as it can be the difference between disposing of a very low cost basis lot versus a higher basis one. For many customers who have crypto tax filing requirements, the method is often chosen to minimize the overall tax burden of the user's ongoing crypto usage.
Rotki should support the ability to change a user's cost basis accounting method for a given year to enable user's to effectively manage their PnL and tax burden.
Motivation
Users may want to change their cost basis accounting method to position themselves for a more accurate, or tax efficient, profit and loss statement. A common example of this is users who elected FIFO when they began using crypto (because that was the widely accepted guidance) and would like to migrate to HIFO (because it is now widely accepted and has significantly better tax properties).
An example of this is a user who began interacting with crypto in 2015 and elected the FIFO method. During the 2015-2019 period, they primarily acquired crypto (including ETH) because there were not yet significant reasons to transact in crypto. In 2020, however, with the rise of NFTs and the increasingly useful cryptoeconomy on Ethereum, they began spending large amounts of ETH. If they continued to apply a FIFO cost basis accounting method, they would quickly dispose of all of their low cost basis ETH, which would have a very significant tax burden. Instead, the user would like to transition to HIFO for a given tax year and going forward, which would enable them to efficiently dispose of high cost basis ETH.
To enable this, Rotki should support changing the accounting method for specific year (2020+) while persisting the prior accounting method for prior years (2015-2019).
Specification
In Rotki, a user should be able to:
Settings
Specify a default cost basis accounting mechanism that will be applied by default for all years they have tax transactions in Rotki
Specify an override cost basis accounting method for a single year or range of years
Accounting
When disposing of a lot of crypto, the accounting system should use in priority order: (1) the overriden cost basis method; (2) the default cost basis method
When using the overriden cost basis method, the accounting system should inherit the cost basis lots of the user at the completion of the last year with the default cost basis method
Abstract
In order to do accurate accounting of crypto transactions, a user must select a "cost basis accounting method" which determines how their transactions are accounted for when they accumulate or dispose crypto. The common methods are FIFO (first-in-first-out), LIFO (last-in-first-out), and HIFO (highest-in-first-out). This accounting method determines which lot of a given crypto is disposed of when a user executes a transaction that triggers a disposal (e.g. a sell or swap).
This accounting method has an outsized impact on the user's profit & loss accounting as it can be the difference between disposing of a very low cost basis lot versus a higher basis one. For many customers who have crypto tax filing requirements, the method is often chosen to minimize the overall tax burden of the user's ongoing crypto usage.
Rotki should support the ability to change a user's cost basis accounting method for a given year to enable user's to effectively manage their PnL and tax burden.
Motivation
Users may want to change their cost basis accounting method to position themselves for a more accurate, or tax efficient, profit and loss statement. A common example of this is users who elected FIFO when they began using crypto (because that was the widely accepted guidance) and would like to migrate to HIFO (because it is now widely accepted and has significantly better tax properties).
An example of this is a user who began interacting with crypto in 2015 and elected the FIFO method. During the 2015-2019 period, they primarily acquired crypto (including ETH) because there were not yet significant reasons to transact in crypto. In 2020, however, with the rise of NFTs and the increasingly useful cryptoeconomy on Ethereum, they began spending large amounts of ETH. If they continued to apply a FIFO cost basis accounting method, they would quickly dispose of all of their low cost basis ETH, which would have a very significant tax burden. Instead, the user would like to transition to HIFO for a given tax year and going forward, which would enable them to efficiently dispose of high cost basis ETH.
To enable this, Rotki should support changing the accounting method for specific year (2020+) while persisting the prior accounting method for prior years (2015-2019).
Specification
In Rotki, a user should be able to:
Settings
Accounting