URL: https://linuxfr.org/users/fandre/journaux/coin2086-un-module-python-pour-faciliter-vos-declarations-fiscales-de-ventes-de-crypto-monnaies Title: Coin2086, un module Python pour faciliter vos déclarations fiscales de ventes de crypto-monnaies Authors: fandre Date: 2021年05月13日T19:54:17+02:00 License: CC By-SA Tags: cryptomonnaie, python, mit, fiscalité et impôts Score: 19 L'heure de remplir sa déclaration d'impôts est venue (oh ! oui !), et si vous avez réalisé des plus-values en vendant des crypto-monnaies en 2020, vous allez devoir un [formulaire n°2086](https://www.impots.gouv.fr/portail/formulaire/2086/declaration-des-plus-ou-moins-values-de-cessions-dactifs-numeriques) (chanceux que vous êtes). En effet, selon le code des impôts ([CGI art. 150 VH bis](https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000038612228/) bis pour les mas^W curieux), les plus values réalisées à l'occasion de la revente de crypto-monnaies sont imposables. La [notice du formulaire n°2086](https://www.impots.gouv.fr/portail/files/formulaires/2086/2021/2086_3423.pdf) (dernière page du PDF), précise la formule de calcul: ![formule calcul](https://pbs.twimg.com/media/E1Gj35aXsAk-8Lt?format=png) Concrètement, si vous achetez un Bitcoin pour 1000,ドル et un Ethereum pour 100€ en janvier 2020, puis qu'en mars le Bitcoin monte à 1300€ et l'Ethereum à 150,ドル et que vous décidez alors de vendre 0.25 Bitcoin, le profit associé à cette vente est : ```python # 1 Bitcoin à 1300 euro, 1 Ethereum à 150 euro valeur_portefeuille = (1 * 1300 + 1 * 150) # Vente de 0.25 Bitcoin à 1300 euro l'unité valeur_vente = (0.25 * 1300) # 1 Bitcoin à 1000 euro, 1 Ethereum à 100 euro prix_achat_portefeuille = 1100 profit = valeur_vente - (valeur_vente/valeur_portefeuille) * prix_achat_portefeuille = 78.44 euros ``` La valeur `(valeur_vente/valeur_portefeuille) * prix_achat_portefeuille (246€)` devient votre "fraction de capital initial" qui pourra être déduite du prix d'achat de votre portefeuille à la deuxième vente. Toute cette comptabilité est assez ennuyeuse à faire à la main ou même avec un tableur, parce qu'il faut valoriser **toutes vos crypto-monnaies** à chaque vente, pas seulement la crypto-monnaie vendue. Quand vous vendez du Bitcoin la transaction enregistrée par l'exchange sur votre profil retient le prix de vente du Bitcoin mais pas les prix de vos autres crypto-monnaies. Il vous faudra donc manuellement aller chercher les prix des autres crypto-monnaies sur les exchanges ou des sites qui gardent les historiques de prix. C'est là que coin2086 entre en jeu. Globalement, il s'occupe de tout pour vous, il valorise votre portefeuille à chaque vente, et s'occupe des calculs de "fractions de capital initial". Pour l'utiliser, il faut simplement lui fournir un DataFrame pandas contenant un historique de *toutes* vos transactions en entrée. Vous pourrez télécharger cet historique de depuis votre exchange dans votre profil, vous n'aurez ensuite qu'à retravailler le nom des colonnes pour qu'elles correspondent au [format attendu par coin2086](https://coin2086.readthedocs.io/en/latest/guide/input.html). En sortie, vous obtenez un DataFrame qui contient *exactement* les informations à copier sur le formulaire n°2086 pour chaque vente. ```python>>> import pandas as pd>>> import coin2086>>> trades = pd.read_csv('trades.csv')>>> trades datetime trade_side cryptocurrency quantity price base_currency amount fee 0 2019年10月19日 11:10:00 BUY BTC 1.00 7149.38 EUR 7149.3800 35.746900 1 2019年11月14日 19:50:00 SELL BTC 0.50 7844.88 EUR 3922.4400 19.612200 2 2020年07月28日 10:20:00 BUY BTC 2.00 9262.42 EUR 18524.8400 92.624200 3 2020年09月01日 12:20:00 BUY ETH 5.00 393.58 EUR 1967.9000 9.839500 4 2020年09月05日 16:50:00 SELL BTC 1.00 8722.70 EUR 8722.7000 43.613500 5 2020年09月08日 12:40:00 SELL ETH 5.00 285.07 EUR 1425.3500 7.126750 6 2020年12月20日 09:10:00 SELL BTC 0.25 19223.90 EUR 4805.9750 24.029875 7 2021年03月13日 23:40:00 SELL BTC 0.25 50025.17 EUR 12506.2925 62.531463>>> year = 2020>>> form2086, taxable_profit = coin2086.compute_taxable_pnls(trades, year=year)>>> print(f"Total taxable profit for year {year}: {taxable_profit:.2f} euros") Total taxable profit for year 2020: 2038.50 euros>>> form2086 Description ... Plus-values et moins-values [pnl] 4 SELL 1.00 BTC ... -371.708792 5 SELL 5.00 ETH ... -102.332358 6 SELL 0.25 BTC ... 2512.542417 [3 rows x 10 columns] ``` Voila, ce journal est déjà beaucoup trop long, vous trouverez ci-dessous tous les liens utiles. 📖 Documentation: https://coin2086.readthedocs.io/ 📦 Paquet PyPI: https://pypi.org/project/coin2086/ 📝 Notebook Jupyter d'exemple: [Lancer sur Binder](https://mybinder.org/v2/gh/fandre90/coin2086/HEAD?filepath=notebooks%2FCoin2086%20Example%20Use.ipynb) 💻 Projet GitHub: https://github.com/fandre90/coin2086 Coin2086 est distribué sous licence MIT et tout type de contribution (remarques, commentaires, pull requests etc.) est absolument bienvenu.

AltStyle によって変換されたページ (->オリジナル) /