AgoraDesk-LocalMonero / agoradesk-app-foss

Source code for the AgoraDesk/LocalMonero Mobile Applications. https://agoradesk.com
Apache License 2.0
136 stars 18 forks source link

Gain/Loss Tax Calculator #204

Open trymeouteh opened 1 year ago

trymeouteh commented 1 year ago

A simple built in feature to calculate the gains and losses of all the transactions in an account.

Transaction types Transactions will now have a feature called transaction type. You can set an transaction type to any of the following...

Not Set - Transaction type not set. When you do gains/loss calculation, it will warn you of not set txs. Exchange (Buy) - Bought the crypto asset Exchange (Sell) - Sold the crypto asset Transfer - Moving crypto asset to or from AgoraDesk (Transaction will be ignored in gains/loss calculation) Ignore - Transaction will be ignored in gains/loss calculation

When exchanging crypto on AgoraDesk, it can set the transaction types to "Exchange (Buy)" or "Exchange (Sell)" automatically for the user and link the trade to the transaction.

Gains/Losses Export A new feature which will export a spreadsheet of every transaction in your account within a time frame. Allowing the users to choose a wallet to export the data from. Also allowing the user to choose the date range or year of transactions to export to a spreadsheet file. No crypto addresses will be in the spreadsheet to ensure privacy, just numbers.

To easily file taxes, this would be useful feature for those who live off of crypto or use crypto a lot in their day to day transactions. No need to manually create a spreadsheet on the side to track gains and losses. No need to use 3rd party software which requires you to give the software your own crypto wallet addresses and other private information.

Would be useful to have in the app and on the website and to have this data encrypted and stored in your account.

sergdeus commented 1 year ago

Transactions export will be implemented with the next release.

sergdeus commented 1 year ago

Transactions export added. Other features need to be discussed. Maybe you can give an example of Gains/Losses Export feature?

trymeouteh commented 1 year ago

There are two features needed for this, transaction types and gain/loss calculator itself

In the transaction page in the wallet, you can set what the transaction type is...

When exchanging crypto on AgoraDesk via a trade, it can set the transaction types to "Exchange (Buy)" or "Exchange (Sell)" automatically for the user and link the trade to the transaction. I would like to see the transaction types to be available on the website and in the app.

Another feature is the gains/loss calculator, this would be a button in the transaction menu were you it will prompt the user to...

and then it will export your transaction history that year into a CSV or XLSX file which will calculate the gains losses for you automatically of that asset (Monero or Bitcoin). This spreadsheet export will not contain any transaction details such as addresses, transaction IDs and other blockchain data. Just numbers that you can use for filing taxes yourself or give to your accountant for tax filing.

It will calculate the gain/losses using the transaction types. By take into account the buy and sell transaction types, and informing the user of not set transaction types and ignoring all other transaction types. I would like to see the gains/loss export feature to be available on the website and if possible the app also, but mainly the website since most likely a user will have to use this feature once a year.

I also purposed such a feature in a few software wallets such as Stack Wallet and Cake Wallet. The feature request has not gotten any attention and I would like to see it in these wallet and other wallets in the future. Maybe AgoraDesk could create a standard or collaborate with these wallets to make the gain/loss calculator and transaction types a standard? The good news is that AgoraDesk app, Stack Wallet and Cake Wallet are written in Dart/Flutter which should make the development more smooth from my understanding with programming things. In the Stack Wallet and Cake wallet feature request, I suggested more transaction types such as "purchase" which is for when someone buys a good or service using Monero for example.

https://github.com/cypherstack/stack_wallet/issues/291 https://github.com/cake-tech/cake_wallet/issues/621

Such a feature allows for easy tax filing when using crypto. For the case of AgoraDesk, no need to track every transaction on AgoraDesk with your own crypto tax software (which is likely proprietary and spyware) or having to use a spreadsheet and manually track your buys and sells which is what I do and is time consuming.

sergdeus commented 1 year ago

I see, thank you for the explanations. I will try make a simple calculator and will ask to check it.

trymeouteh commented 1 year ago

I should note a transfer transaction will require the value or price of the XMR for the calculator to calculate a gains/loss.

sergdeus commented 1 year ago

And I guess, the price of the XMR should be at the time of the transfer\deal.

trymeouteh commented 1 year ago

For a transfer transaction, the XMR price will need to be manually entered since it is unknown what the users purchased the XMR for.

For exchange transactions, the XMR should be the XMR price in the trade.