Correcting invalid transactions - README too!

If you have invalid transactions in your ledger your results are not reliable!

All transactions marked as invalid are automatically excluded from all ledger calculations. As a result of this your displayed result and actual profit and loss may differ greatly.
Please correct all of your invalid transactions!

Upload all of your transactions since the Bitcoin genesis block! (Jan 3, 2009)

Your comprehensive ledger can only be built by chronologically ordering all of your transactions to date. If you have missing or incorrect data, your ledger cannot be accurately constructed and calculated.


Table of contents

  1. What are invalid transactions?
  2. How to check invalid transactions
    1. Checking whether you have invalid transactions
    2. How to show only your invalid transactions
    3. How to see the details of your invalid transactions
    4. Use the "Repair Ledger" wizard
  3. How to deal with various types of invalid transactions
    1. Over-sell / Shortsell violation
    2. (...) is not supported as a base currency
    3. (...) is not supported as a counter currency
    4. (...) is not supported as a fee currency
    5. Price for (...) was not available at (...)
  4. About marginal flip transactions


Invalid transactions are transactions that Cryptact could not correctly handle in the process of generating your ledger.

Below are some examples of when this occurs:

  • You uploaded a transaction with parameters that Cryptact does not support.
  • You failed to upload all of your transaction history.

If you are in the process of uploading all of your data, you can ignore any invalid transactions that show up during that interval.

If you use multiple exchanges, you may see invalid transactions during the process of uploading multiple files. Invalid transactions are only relevant if you have completed uploading all of your data.

If you see a red box as in the screenshot below after you have completed generating your ledger, you have invalid transactions.  These are not included in your ledger / totals.


If you want to show only your invalid transactions, click the Status button and choose "Invalid".


If you only want to choose one type of invalid selection, please select it from the list.


Finally, click Apply to apply your filter.


Note: you can click "Clear All Filters" at anytime to remove filters and show all of your transactions.



If you mouse over the indicator on the far left of your invalid transaction you can see the details of why it is invalid.


You can also click on the row to open up the summary overlay to see more relevant details.



If you have invalid transactions, the following alert will be displayed on your ledger. The "Repair Ledger" button takes you through the invalid transactions step by step in chronological order and helps you to fix them.

If you still have invalid transactions even after you uploaded as much history as you can remember, please use this function.



For details on how to use the "Repair Ledger" wizard, please refer to here.


* Please note that if you upload transactions that do not reflect the actual history for the purpose of fixing invalid transactions, the PNL calculation will not be 100% accurate.

* The "Repair Ledger" wizard does not handle invalid transactions in DeFi.


Precautions when using custom files to deal with invalid transactions

Before using custom files please make sure that your ledger still shows an invalid transaction, particularly if it has been a while since you checked.  We regularly upgrade our logic to deal with more and more types of various transactions -- your invalid transaction may be correctly calculated on a future update.

An over-sell is when your transaction is attempting to sell more of a cryptocurrency than you currently own at the time (your position).

A shortsell violation is when you are attempting to sell a cryptocurrency that you do not currently own.  Currently only margin and leveraged trading allow you to shortsell cryptocurrencies.

You own 0.1 BTC.  You buy 1.5 ETHBTC at a price of 0.1 ETH/BTC.  In order to complete this transaction you need 0.15 worth of BTC.

Over-sell (BTC): Trade volume (0.15) exceeds previous position (0.1).

If you are not short-selling, it is not possible for you to ever sell more than you own of a cryptocurrency.  If you receive this error and are finished uploading your data, it is highly likely that there are gaps in your transaction history.  We provide invalid transaction checking to help you find these instances of missing or incorrect data.  Your ledger is neither accurate nor complete if you are missing previously executed transactions.  We attempt to make sure you are using the most reliable set of data for your reporting by providing this functionality.

For these types of invalid transactions, first make sure you have uploaded all of your data.  In particular if you use an exchange that we do not natively support.  If you are missing transaction data you can create custom entries from the UI or upload a custom file.

Dealing with the above invalid transaction

You probably had purchased another 0.05 BTC at some other point in the past.  Find your missing data or create a new entry for 0.05 BTC either via the UI or through a custom file upload.

In very rare cases, the number of decimal places that an exchange uses and those that Cryptact supports differs.  If the missing position is very small (marginal) in value and marginal flips are disabled in your settings you will see the above error.

If however you cannot find missing data and the difference shown in your over-sell is marginal, you can turn on or increase the threshold for marginal flips in your settings (see the section in this help).  Note: this should be a last resort step as ignoring invalid transactions can have very large ramifications on your overall total profit and loss.

This occurs you upload an unsupported currency.  Check our list of supported currencies for more information.

Please check that you have correctly typed the symbol.  If you need to request a new coin be added, please reference this article first.

If you do not want to wait for a currency to be added, you can use our dummy symbols (starting with CTT).  For more details see inserting transactions via the UI or uploading custom files.

You are attempting to trade in a counter currency not currently supported by Cryptact.

To immediately deal with this type of transaction you will have to split it into two transactions based in your reporting currency. For more details see inserting transactions via the UI or uploading custom files.

You are attempting to pay a fee in a currency not currently supported by Cryptact.

To immediately deal with this type of transactions you will have to change the original transaction to have a fee in your reporting currency equivalent to the value paid in the unsupported currency.  You will also have to create a separation transaction to either SELL or REDUCE the position in your other currency if it is supported as a base currency.

This means that Cryptact does not have the price for your counter currency at the time of your transaction.

For currencies that we support, we maintain a database of prices on a one (1) minute interval.  During periods prior to 2016 when cryptocurrencies may have gone for extended periods without being traded, there are periods which have data not available on a minute-by-minute basis.

Please click the relevant transaction and click the "Repair Ledger" button. Please enter the price at the time of the transaction in the form.



* For DeFi, Cryptact currently does not support editing transaction details (including price data).
We do plan to enhance our system in the future to support this, but in the meantime, please upload custom trades with prices manually.

When you have manually uploaded separate custom trades, please update the transaction type of the original DeFi to "Fee only" and synch.

You can also change your setting so that the price is set to 0 JPY when the price data is not available. For more details, please refer to here.


For very small short-sell violations ($1 or 100 JPY), Cryptact can automatically set the trade size to be equivalent to your position immediately prior such that the result is a complete closure of your position.  You will see an adjustment indicator on your transaction.

You can turn on/off marginal flip transactions and adjust the amount in your reporting currency where it will be used (threshold) in your settings menu.