Things to watch out for, when moving coins around

Earlier today, I moved some DASH coins from my Kraken account to my Exodus wallet.

I wanted to track this correctly in Accointing. In particular, I wanted Accointing to handle this move as what it calls an “Internal” transaction, so as not to trigger any capital gains tax event. This way, Accointing knows that it’s the same coin … just in a different place.

I ran into several “gotcha’s”, and there were several steps that were documented in diverse places… Here are some things that seemed essential when doing this.

These steps and details probably apply to some other exchanges, wallets, coins and transactions, but I’ll leave figuring that out as an exercise to the reader.

1) Setting up Accointing to query my Kraken account There are two useful videos explaining this, one more focused on what needs to be done within Kraken, and the other more focused on Accointing. See further Finding and Connecting your API Transactions from Kraken to - YouTube and How to Connect Your Kraken API to - YouTube

2) Exporting my Exodus wallet to Accointing There are two places (that I’ve found so far) with instructions on doing this. This rather short video shows how to configure Accointing to track a single blockchain account that is managed in your Exodus waller: How to Connect Your Exodus Wallet to - YouTube The brief instructions when adding a new Exodus wallet on the website show three ways to do this - by block chain Address (as in the above video), csv file, or manually on a webform or using a spreadsheet template. I preferred exporting my transactions from Exodus in a csv file, but the Accointing instructions for this left out a key step. At least on my Linux desktop Exodus (it might be different on a mobile) I had to first enter Control-Shift-D in the Exodus window, to get the “File Edit Developer Window” menu bar to display along the top of my Exodus window, so that I could then click on “Developer”, and then on “Export All Transactions”, to get Exodus to export the csv file I needed to upload to Accointing.

3) Refresh Accointing so it sees recent Exchange transactions Normally it seems that Accointing only checks the Exchanges (such as Kraken in my case) via the API just once a day. So if you’ve just done a transaction on your Exchange account, and you want to see it in Accointing right away, click on the Refresh option, either for all your API connected exchanges on your main Accointing page, or just for the one Exchange of interest on the Wallets (and Exchanges) page.

4) One Internal transaction, not two transactions to Add and Remove Once I had done the above, then the “fun” began. I had two transactions in Accointing, one to “Remove funds” from my Kraken account, and the other to “Add funds” to my Exodus wallet. I needed a single “Internal” transaction, handling both ends of this transaction, not two separate transactions, in order to avoid triggering a capital gains tax event.

[[ Perhaps not I did not need to do all the following. Post below if you think a step below is unnecessary. Thanks! ]]

5) I edited both transactions in the Wallets → Full Data Set list to have the same TxID transaction ID. This seems to help Accointing recognize that the two separate transactions are two halves of the same Internal transfer.

6) I edited the imported Exodus transaction to have “Classification” of “Add funds”. It had come in as unclassified.

7) I edited the API imported Kraken transaction to “Classification” of “Remove funds”. It too had not been classified.

8) I fixed the date/time on the imported Exodus transaction. My copy of Exodus exports transactions with timestamps in the UCT (GMT) timezone. It seems that when Accointing imports these, it thinks these timestamps are in my local timezone, which happens to be five hours behind UCT for me, as I am in Central US. The end result is that Accointing thinks that my Exodus received that DASH coin transfer almost five hours before I sent those coins from Kraken, and refuses to recognize that it’s seeing two halves of the same “Internal” transfer. Accointing will only bind a pair of transactions into a single Internal transaction if the sending side was 1 minute to 6 hours before the receiving side. If the two timestamps are the same minute, or if they are outside the 6 hour window, or if the receive seems to happen before the send, Accointing figures they are different transactions. (I wonder if someone testing this in Germany, which is 2 hours ahead of UCT, would not trip over this detail for this particular situation, sending a transfer into Exodus?)

Here is the actual timestamp field of this transaction in the csv file exported from Exodus. I suspect that some Accointing server code does not recognize the timezone format.

Tue May 04 2021 15:47:21 GMT-0500 (Central Daylight Time)

Once the above was all done, then as soon as I recalculated my Accointing portfolio, the two transactions, to WIthdraw (Remove funds) from Kraken, and Deposit (Add Funds) to Exodus, collapsed right before my eyes, to a single “Internal” transaction, that showed both the “Send from” Kraken, and the “Receive in” to Exodus sides of the transfer. Both Death and Capital Gains Taxes had been put off for another day.

Let me know below if I missed a step, messed something up, or made something more complicated than it needed to be.

Oh - as an aside - the “Step 2: Identify internals” step of the four step “Review” process has never presented any transaction pairs to me as potential halves of an Internal transaction.

Speculation: That “Step 2apparently would only present pairs of WIthdraw (Remove funds) and Deposit (Add Funds) to the reviewer when:

  • The datetime on the Deposit is one minute to six hours after the Withdraw.
  • Both transactions have the same TxID transaction ID.
  • The amounts transferred (any fees are separate and distinct line items) are identical.
  • The WIthdraw transaction has classification “Remove funds".
  • The Deposit transaction has classification “Add Funds”.

Then, once the above criteria are satisfied, Accointing automatically and almost immediately smashes the two separate transactions into a single transaction with classification “Internal”, which contains the details (quantity, unit, fees, exchange/wallet, transaction ID, datetime, …) for both the Withdraw and Deposit sides of the transaction.

Therefore, it seems to me that that “Step 2” will never show any transaction pairs to consider matching, because the only pairs it would find eligible to display have already been matched and combined into a single “Internal” transaction.

Note: I said “apparently” above. I have only very limited experience using this, and no access to the actual code nor real knowledge of what the code does, or is intended to do.

1 Like

Really detailed post. Thanks. This is helpful and something I was wondering about as well recently. Something to check out.

1 Like

@ThePythonicCow Thank you for the detailed pathway on how to create an internal transfer for your DASH from Kraken to Exodus.
I run into a similar situation when I transfer from BlockFi to KuCoin.
The easiest way I have found to do this is to let the API of Kucoin say that funds were deposited or removed. Then I make a withdrawal/deposit for the same day that the KuCoinAPI recognized the transaction (Just make sure the withdraw is first and within 6 hours of the deposit). Here is an example:

Then I can go into Review > Identify internals and confirm it.

1 Like

Then I can go into Review > Identify internals and confirm it.

Dang - you got that Review > Identify internals to show something. You have magic I don’t have yet .

For me, the Internal replacements for the << deposit, withdraw >> pairs have always showed up automatically, once I get the two transactions to be paired set up just right.

If your internal transactions do not appear here, then you must ensure that both transfers were made within a 6 hour window and that the amount of the transaction is the same. In the Full Data Set you can edit your transfers so that they appear here.

1 Like

Yes - as you can see from my obsessively detailed posts above, Matt, I did edit the details (in the Full Data Set listing) to get the withdrawal 1 minute to 6 hours before the deposit, and getting the amounts exactly equal.

But as soon as I successfully did that, the << withdraw, deposit >> pair of transactions were automatically converted to the << Internal >> transaction, never showing up as a potential Internal pair on that Review page.

That is a good thing, right? That it automatically detected an internal.

1 Like

Yes - that part is good - the automatic detection.

But the Review page for potential Internals is frustratingly useless (in my limited experience) and its very presence was one of the (for me, at least) fake clues that made it more difficult and frustrating for me to figure out what all I had to do to get this to work, when I started off not really even knowing what an “Internal” transaction was.

Does this help? Crypto Tax Classifications : Accointing AG

After reading that, what feedback do you have for Accointing for new users? :slight_smile:

Good question.

I drafted a lengthy reply essentially rewriting the first 3 items of the Crypto Tax Classifications : Accointing AG document you linked above.

Then (fortunately, before posting it) I double checked my work, and realized my reply had several, major, confusions and errors.

Minor question, while I rewind my brain and try again:

Is there a way to download the full transaction data that I have accumulated here on Accointing?

The “Wallets → Full Data Set → Export full history” comes pretty close, downloading an .xlsx spreadsheet with my transactions. But it is missing at least one detail, which is the time of each transaction. It only seems to show the date, not the HH:MM:SS within the day (or the commonly used equivalent in Unix/Linux, which is the time in seconds since the 1970 epoch.)

Also, related to my question just above, I don’t see how it would be possible to restore my Accointing account data from this “Wallets → Full Data Set → Export full history” downloaded *.xlsx spreadsheet.

The time within the day is required to connect a pair of << withdraw, deposit >> transactions, when synthesizing a single << order >> from them. Without the time, one cannot determine that the deposit occurred after, but not more than six hours after, the corresponding withdraw.

This ability to fully backup my data locally is a critical feature for me.

P.S. == Correction: The “Full Data Set → Export full history” *.xlsx spreadsheet does include which pairs of << withdraw, deposit >> transactions are to be linked as a single transfer, by giving both transactions the classification of “internal”, and including the internal Accointing transaction ID of each in the record for the other. So the HH:MM:SS is still missing, so far as I can see, but that doesn’t preclude connecting the two halves of a transfer.

In particular and specifically, is there a way to download the full transaction data in a format that can be re-uploaded to exactly restore the same set of transactions?

I am a firm believer in, and (long time) practitioner of, fully and regularly backing up, and being able to restore as need be, my critical data.

I notice that the download spreadsheet, in “Wallets → Full Data Set → Export full history”, is not the same forma as anddoes not contain the same data fields as seems to be requested as input in the uploadable Accointing_template.xlsx spreadsheet.

1 Like

what feedback

My first feedback, that came immediately to my mind on reading the very first line at Crypto Tax Classifications : Accointing AG describing “Internal” transactions, was that I wished that there had been a link to this document on the “READ ME” page of your “Accointing_template.xlsx” spreadsheet. Such a link could have been most helpful. If one does not already know what “order” or “internal” mean, then it’s not obvious how to fill out that spreadsheet.

After some trial and error (and no doubt with some errors remaining), I expanded the “Internal” description in the above as follows:

Internal: This transaction classification, and in some cases transaction type refers to transactions that transfer a crypto asset between two wallet or exchange accounts. With such transactions, we transfer the initial purchase price and date for that asset from the sending account, to the receiving account, thus avoiding a potential capital gains event for tax purposes. The transferred crypto coin remains the same crypto asset, in the same amount, held since the original date, just transferred to a different account that we also own. When displaying “Wallets → Full Data Set” online, both the sending and receiving account transactions are shown on a single line, and both the (transaction) Type and its Classification have the value of Internal. When viewing the downloaded "Wallets → “Export full history” spreadsheet, the two halves of such a transaction are shown on separate lines, as a combination of an Add Funds and a Remove Funds transaction types, with both of these transactions of Classification Internal, and each with some apparent internal Accointing transaction id that appears in Column W of the spreadsheet showing up in Column X of the other transaction. When trying to upload such transactions in an Accounting_template.xlsx spreadsheet … well it’s not yet clear to me how to do that. When adding a new transaction using the online “Wallet → New → Add Data” form, choose a (transaction) type of “Internal”, in which case no field for such a transaction’s “Classification” is shown, as it is presumed to also be “Internal”.

However …

The above Internal explanation is obviously way too cumbersome, and most likely still has serious errors.

I started this Community Forum topic hoping to better document some confusions I ran into, and with the implied hope that Accointing could better document such matters themselves, as both (1) my efforts were no doubt incomplete and almost certainly incorrect in some details, and (2) whatever I might post in this Community Forum would not be immediately available to most future newbie users, at the point and time when needed by them.

However, it is now apparent to me, given the difficulty I had in describing Internal above, that this is more than a documentation problem. There are inconsistencies in the data fields and terminology, across the various online and spreadsheet forms, that will unnecessarily and unfortunately confuse new users.

In short - I now post here not so much with suggested feedback for new Accointing users, as I do with feedback for Accointing, regarding both the application as presented in various forms to the user, and the documentation of that application.

Already fluent Accointing users probably find this all easy enough, and are likely more concerned with getting Accointing to work with other exchanges, wallets, coins, and tax laws, especially given the unending flow of inconsistencies, insufficiencies, contradictions, complications and changes in all such.

But if Accointing is to succeed, which I hope it will, as there is a desperate need for such a crypto portfolio and tax manager that works well, for a reasonable price, then Accointing will need to onboard a large number of newbies.

  1. Export history:
  2. I found that it does contain the date and time, you may just have to change out your Excel displays/formates the cell data:
  3. If you needed to, you then could upload this data here, I just tested it and it uploads just fine :slight_smile: :

Aha - good find. My spreadsheet Kung Fu is at the retarded mouse level. Thanks!

1 Like

Awesome! Anything else? :slight_smile:

Well, there’s my longer posts above, but there probably is no easy “answer” to them.

Can you help me locate any unanswered questions you may have?
An in laymen’s terms, an internal transaction is from one wallet or exchange to another, where you are the owner of both.