Binance: Guide to Fix Outstanding Issues on Binance

Dear Accointing users
As I spent a lot of time figuring out all the issues with my Binance account, I thought I share a user guide on how to fix the issues I observed. Note that these are fixes that worked for me. Initially, I had thousands of USDT differences. After applying the fixes below, I was left with a difference of 4 USDT cents, which I think is a result of rounding.

Note: I have reported all of these issues to the Accointing team. I will update the list as they get resolved.

Download transaction history from Binance
Step 1: On your account, go to the wallet and click on transaction history
image

Step 2: Click on generate all statements.
image

Step 3: Generate history.
Note that you can only generate up to 3 months at a time.

Fixes: Below List gives details on how I fixed all the issues

1. Staking Income
This applies if you are staking your coins in Binance. When you first set up your Binance transaction, Accointing only downloads the received staking interest for the past five days. Therefore, you have to add the staking interest received before that time manually. You only need to correct the history as any new payments are picked up automatically in Accointing. So this is a one time fix.

In your Binance transaction history file, search for “POS savings interest.”
image

Populate the Accointing template in the following format
image

Note: you need to perform the same steps if your transaction file shows

  • Liquid Swap rewards
  • Launchpool Interest
  • Savings Interest

2. Staking movements between your Binance spot wallet and Binance staking wallet.
Accointing does not recognize these movements as Binance has not provided a proper API for that yet. I talked to Binance, and it seems that is in the works, but they can not say when this will be available.
Also, the Accointing user-manual states that these movements in and out of the Binance spot wallet should be recognized as payments from an “unknown source”, but this is not working.

To reconcile this, follow these steps:

Step 1 – set up a user Accointing wallet.
Under Wallets, select add wallet and enter a name like “Binance Staking Account”. This user-defined wallet will be used to keep track of your movements.

Step 2 – Binance transaction file
Filter for POS savings purchase and POS savings redemption.
image

Step 3 – populate Accointing template for your Binance account
Set up the template in the following format. Once populated, upload to your Binance account in Accointing.
image

Step 4 – populate the Accointing template for your user-defined wallet “Binance Staking Account”.
Set up the template in the following format. I suggest adding one minute to the deposits and reducing the withdraws by one minute. I noticed that if both uploads have the same time then for some of the payments Accointing identifies an issue. Once populated, upload to your “Binance Staking Account” in Accointing.
image

Step 5 – connect the transaction.
In Accointing, go to review, click on step 2: identify internally and approve the added transactions.

Note: you need to perform the same steps if your transaction file shows “Savings purchase” or “Savings Principal redemption”. These steps might also be applicable for other savings purchases. Further, you will need to repeat these steps for any new movements generated after applying these fixes.

3. Large OTC trading
If your transaction file shows Large OTC Trading, then these are not picked up by Accointing.
Perform the following fix:

Step 1: Identify trades in your Binance transaction file
image

Step 2: populate the Accointing template in the following format.
image

Note: this approach is a simplified approach. It does not account for the fees correctly. However, Accointing did not show any issues with missing EUR or USDT amounts when performing this step.

4. Euro purchases
This issue I only observed when using EUR to buy coins, and the fees paid are also in EUR. In Accointing for this combination, the fee is not accounted for correctly. To fix that, go into the relevant payment and reduce the EURO amount by the fees. By doing that, Accointing will automatically set the initial payment to ignore and create a manual payment entry. See the example below to how it should look. I think it is best to do these manually. However, you could also import the fees via the template as a deposit. Although not sure if this then would account towards a gain when you generate your tax report.
image

5. Launchpad token distribution
Accointing is not picking these up. So you need to enter these manually.

Step 1: Identify trades in your Binance transaction file
In the below example, I add BNB to the Binance launchpad to get Beta.
image

Step 2: populate the Accointing template in the following format
Be mindful of using the subscribe amount of the later date, reflecting the actual balance taken from your BNB.
image

6. Airdrop/ Gifts
If you got any airdrop or gifts, you need to add them manually.

Step 1: Identify trades in your Binance transaction file, search for “Distribution”
image

Step 2: populate the Accointing template in the following format.
image

7. Liquid Swap add/ Liquid Swap remove
If you have used the Liquidity pool on Binance and swapped it back to something other than what you initially added, you must perform the following corrections.
In the below example, I added initially coin XYZ (made up coin name) to earn BNB. When I withdrew the amount, I decided to withdraw it to USDT.

Step 1: Identify trades in your Binance transaction file
image

Step 2: populate the Accointing template in the following format.
image

8. Future Trading
If you have been trading futures, then you have to add various transactions. This is the case for the transactions that have the same value and the same time. This only applies to duplicate transactions under account: USDT-Futures within your Binance transaction file. It applies to the following operations.

  • Fee
  • Realize profit and loss

Fees
Step 1: Identify trades in your Binance transaction file
In the below, Binance reports six fee payments with the same balance and time. In Accointing, this is only picked up once, so you have to add the five other statements.
image

Step 2: populate the Accointing template in the following format
Only populate the missing statements, i.e. in this example 5!
image

Realize profit and loss
Step 1: Identify trades in your Binance transaction file
image

Step 2: populate the Accointing template in the following format
Remove the negative sign!
Only populate the missing statements, i.e. in this example 2!
image

Note: the above shows how to do it for a realized loss the below for a realized gain
Step 1: Identify trades in your Binance transaction file
image

Step 2: populate the Accointing template in the following format
Only populate the missing statements, i.e. in this example 1!
image

Thank you so much for all this data and help and for sending your data through a ticket at email support, we are aware of the Binance issue, and are working on it as we speak :slight_smile:

3 Likes

Many thanks for your hard work and perseverance with the nightmare that is Binance transaction history.

I have a couple of questions as I am about to start on this myself.

  1. I assume that you have connected your account(s) via API and are just using the manual records in order to add any missing or incorrect transactions?

  2. On the ‘Generate all statements’ step there is a checkbox marked ‘Hide transfer record’. Did you have this checked or unchecked? Also, do you know what it does?

I’m hoping that I only have to do this once so want to make sure I have everything covered before making a start.

1 Like

Hi

Glad to hear that you find this summary useful.
When I created the reports I unchecked it. Doing that you will see positions called transaction related or so. I am not sure what these are about but needed them to tie out account movements and ultimately pin point where the issue is.

I have Indeed connected via API and only used the manual record’s to fix missing account movements.

Accointing also informed me that the income history should now be pulled in completely and not only for the past 5 day’s. However I have not tested that yet.

In case you are staking would be great to hear if that has indeed been fixed and all the staking payments appear.

2 Likes

My API import has just completed and at first glance it appears that all historic staking payments (a few years worth) are listed and tagged as Income.

Thanks for the feedback. Will test that too over the weekend.

1 Like

Here is an article with videos to help you as well :slight_smile:

1 Like

I have just come across another entry that is not imported using the API and is not on your list, “Small assets exchange BNB”.

Hi

I have set up the binance connection from scratch to see if the income history issue is fixed.
Unfortunately, I still see the same issue with only payments for the past 4 to 5 days being pulled in.

I am very surprised to hear that it works fine for you. Which binance did you connect to on Accointing?

Regarding the small asset Transfer, I saw that many people have reported that and had reviewed that point and could not see an issue with that as Binance data was pulled in accointing.

Having now got in to the detail, I was wrong about the staking. The API has pulled in all of the Cardano income over the last year but this was from the ‘Flexible Savings’ product under Earn. It has also imported all of the early rewards from 2018/19 that came from NEO such as GAS and ONT. There are also some random Harmony ONE rewards in 2020 that I thought were staking but must have been classed as something else at the time.

Coins that I have put in to what is now classed as Staking are not there and also all of the stablecoin flexible savings for 2019 and some of 2020 have not been imported.

It is incredible how often Binance have changed their products over a few years. It’s no wonder there is no consistency in the API and that manual records are the only way to reconcile fully. Accointing and anyone who has used Binance for more than a few months are really up against it with getting a full set of records.

1 Like

Looks like the “Small assets exchange BNB” history only goes back either a year or just 2021 as my earliest record from the API and in the Binance Transaction History screen on the web site is 29/03/2021. All records before that are in the CSV from Generate all statements but those records do not show the detail with regards to the fees so I think some guesswork is needed there.

That makes sense, as I only did the small asset exchange this year.

Can you guys pull together a bulleted point list of other features that are not supported with the API?


Matt

I am very confused by the request to get a bullet list. Have you read this post that summarises the issues. Are you guys not taking a record of the various issues reported to you!!!

It is unfortunate that even after I have highlighted various issues, only limited response has been received. It’s is unclear if you are working to resolve any of these. Because no one is responding, I have to assume the issues are ignored.

For the items I have received feedback, follow up questions are not responded to to. In fact, I got an email stating that my ticket had been closed regarding the income history. However, I couldn’t see the issue fixed, and my follow up question was not responded to.

All the issues I have highlighted are with Binance. Considering that this is the biggest exchange, it doesn’t seem that you are interested in resolving any of these issues. I suggest that your team sets priorities better!

I am sorry that you have had a bad experience with our support team. May I know your ticket number from your email and I will take a look? I am sorry for my above response, I was hoping with all your research, that maybe you noticed some things not listed on this page already. I did not reply because I thought it was very good and I did not think you were looking for support, but rather helping others, which is awesome to have in this community board! Thank you for helping others in our community! :smiley:

This tool may also be of use, it converts Binace .csv files into Accointing’s formate - Converter: Binance Buy Crypto History to Accointing by @od123

In the frontend we commonly round prices (esp. fiat representation of values) to 2 digits. On the internal side, we keep a precision of 8 decimals though. This is relevant to for the tax calculation and is precise enough. For coin quantities and values, we currently have a maximum of 9999999999999.99999999

Staking Income

  1. Great workaround fix for the Staking transactions, I am sorry that you have to do this in the first place.
  2. I am sorry that Binance does not provide proper API support for this, when they do, you can expect us to add support for it :slight_smile:

Here is other information I have on staking, but you may already know this, and they are not specific to Binance.

Here is an article on how we suggest staking: Staking Transactions - The Hub: Crypto and Bitcoin Tax Blog | ACCOINTING.com
Also, I understand your frustration with the staked and staking classifications so just to clear this out from our standpoint:

all tokens that were staked=do not classify
all tokens that came as a reward for staked tokens=staking

The reason why we don’t have more strict guidelines is because there aren’t any and they are subject to the interpretation of the different jurisdictions. That bein said, here is an article from Bloomberg providing further context on the matter:

Now, the lender could be considered to have converted their crypto for another crypto when they “stake” their money into the liquidity pool and received another token they can sell elsewhere. That is a taxable event, so in this example, just as dividends are taxable, so are tokens generated from staking activities.

However, it’s not as straight-forward as that because this transaction can also be viewed in another way; in that what the lender deposited in the liquidity pool is still their money and the tokens they receive in exchange is nothing more than a receipt. That means it is not a taxable event.

Meanwhile, on the borrower’s side, it can be argued that depositing collateral and receiving a loan in a different token form is akin to an exchange transaction, so a taxable event. Of course, usually taking a loan is not a taxable event. However, the transaction on a DeFi is unique. Unlike conventional loans, it includes depositing one currency as collateral to receive a loan in another.

If you wish to not use a .csv file and want to simple add one to your full data set you can check this article out, however, thank you for showing users how to do it with the .csv file! - Over-The-Counter (OTC) Transactions - The Hub: Crypto and Bitcoin Tax Blog | ACCOINTING.com

The Double fee count on fiat purchases bug has been fixed and is in the testing phase and should be live next week :slight_smile:

Future Trading

We are working on an article that explains Accointing’s stance on futures tradings and loan leanding.


Can you guys pull together a bulleted point list of other features that are not supported with the API?

So far the bulleted point list that I can add to the Binance API list is:

  • X on Binance Launchpad
  • X on Airdrops (Will check into this)
  • X - Small assets exchange BNB
  • Yes - Flexible Savings

I will also forward your Guide to our team to see if there are any other bugs that we need to fix :slight_smile: