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!

Please fix invalid transactions in chronological order

Please fix invalid transactions in chronological order, starting from the oldest date. The "Repair Ledger" button is particularly useful as it takes you through invalid transactions step by step in chronological order and helps you to fix them.

For example:

  • January 1: Buy 20ETH for 1BTC (invalid due to insufficient BTC position)
  • January 2: Buy 500USD for 5ETH (invalid due to insufficient ETH position)

If you fix the invalid transaction for January 1 by uploading a trade that gives you BTC position before January 1, this, in turn, fixes the invalid transaction for January 2 also.

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.

For information on how to fix invalid transactions in DeFi, please refer to here.


 

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.

invalid01_en.png

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

invalid02_en.png

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

invalid03_en.png

Finally, click Apply to apply your filter.

invalid04_en.png

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

invalid05_en.png

 

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

invalid06_en.png

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

invalid07_en.png

 

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.

fix-invalid1.png

 

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.

This type of invalid transactions occur due to the following.

CASE-1: Missing transactions

CASE-2: Transaction history file from exchange is incomplete (in the sense that transactions are missing from the ledger, it is the same as 1, but in this case the exchange file itself is incomplete)

CASE-3: Decimal places processing

CASE-4: Time-zone processing

 

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

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.

Regarding CASE-2, depending on the exchange, the trade history file may be missing some trades, and this results in incorrect positions. There have been such cases in the past, therefore, unless the exchange fixed the logic for their trade history file, this may happen again.

For example, a trade that was canceled but was partially executed, a bonus as part of a campaign, etc.

Dealing with the above invalid transaction

Please upload the missing trades via a custom file.

CASE-3 is related to the fact that many exchanges round down the numbers to a specific decimal place (e.g. 6th, 8th, 10th decimal place). Transaction quantities and prices in their trade history files are also rounded down. This results in differences between the actual balance and the balance calculated using the rounded-down numbers from the trade history file. The differences are typically very small, however, if you frequently trade coins whose trading prices/quantities are extremely small, rounding numbers down to the 10th decimal place may lead to a significant difference.

Dealing with the above invalid transaction

It is not possible to systematically recover the correct position. You would need to upload a custom trade to fix this. Only you would know the details of the original trades, therefore it is up to you to determine how the custom trade should look like, but most likely it would be a trade that acquires the missing position in the relevant coin using the average price over the period when the original trades took place.

Below is an example of CASE-4. The trade history file downloaded from the exchange uses UTC (Coordinated Universal Time) as the time zone for the transaction date time but you selected JST (Japan Standard Time) as the time zone while uploading the file to Cryptact. This may cause the transactions from different exchanges to be ordered incorrectly in Cryptact and result in missing positions.

(* The trade history files from some exchanges use different time zones depending on where the file is being downloaded.)

Example:

・Time zone used in the trade history file from exchange

UTC (Coordinated Universal Time)

・Time zone selected when uploading the file to Cryptact

JST (Japan Standard Time)

Dealing with the above invalid transaction

When you are uploading the file to Cryptact, please select the same time zone as used in the file.

Example:

・Time zone used in the trade history file from exchange

UTC (Coordinated Universal Time)

・Time zone selected when uploading the file to Cryptact

JST (Japan Standard Time)←please select the same time zone

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.

 

You can't wait?

In the scenario that you need a new coin to be added, even if you raise a request, it may take some time for it to be added to Cryptact. If you cannot wait, you can upload them as custom trades using custom coins. For more details, refer to uploading custom files.

* If you previously uploaded your trades as custom trades using custom coins due to the above, but the coin has since become supported in Cryptact, please refer to here and update the custom trades.

 

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.

 

You can't wait?

In the scenario that you need a new coin to be added, even if you raise a request, it may take some time for it to be added to Cryptact. If you cannot wait, you can upload them as custom trades using custom coins. For more details, refer to uploading custom files.

* If you previously uploaded your trades as custom trades using custom coins due to the above, but the coin has since become supported in Cryptact, please refer to here and update the custom trades.

 

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.

 

You can't wait?

In the scenario that you need a new coin to be added, even if you raise a request, it may take some time for it to be added to Cryptact. If you cannot wait, you can upload them as custom trades using custom coins. For more details, refer to uploading custom files.

* If you previously uploaded your trades as custom trades using custom coins due to the above, but the coin has since become supported in Cryptact, please refer to here and update the custom trades.

 

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.

fix-invalid2.png

fix-invalid3.png

* 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.