Generateur de cession d'actif numerique pour la declaration d'impots sur le revenue français (CERFA 2086) sur différents exchange
note: les calcul intermediaire sont fait en USD mais l'output est en euro note: j'ai l'habitude de dev en anglais, donc franglais partout, sorry.....
Exchange supporté:
asset_gecko_convert
pour ajouter des translationsINSERT INTO `asset_gecko_convert` (`token_name`, `gecko_name`) VALUES
('band', 'band-protocol'),
('bnb', 'binancecoin'),
('cgld', 'celo'),
('comp', 'compound-coin'),
('eur', 'euro'),
('fil', 'filecoin'),
('grt', 'the-graph'),
('mkr', 'maker');``
Etant donnée que binance est utilisé pour connaitre le prix d'un asset, un compte binance est necessaire quelque soit l'exchange chargé !
arguments:
--config {yaml file}
charge le fichier de configuration (voir config.sample.yaml) --boot
(re)créé la structure de BDD necessaire--exchange {ETORO,BINANCE,COINBASE,CRYPTOCO}
specifie l'exchange courant--load
charge le relevé de compte de l'exchange-i INF, --inf INF
fichier de relevé de compte-c, --cc
essaie de regrouper les ventes de meme actifs dans la meme minute--clean
supprime les donnée importé pour l'exchange--generate
genere la liste des cession pour le CERFA 2086 ainsi que la plus/moins value global-o OUTF, --outf OUTF
fichier de sortie-b BEGIN, --begin BEGIN
date de debut de l'année d'imposition (format 2020-01-01-00-00-00)-e END, --end END
date de fin de l'année d'imposition (format 2020-01-01-00-00-00)(c'est ça que vous cherchez le plus souvent)
python src/main.py --config config.yaml --boot
python src/main.py --config config.yaml --exchange ETORO --clean
python src/main.py --config config.yaml --exchange ETORO --load --cc --inf eToroAccountStatement_01-01-2019_12-04-2021.xlsx
python src/main.py --config config.yaml --generate --outf decla.csv --begin 2020-01-01-00-00-00 --end 2020-12-31-23-59-59
* trovuer un meilleur mecanisme de requetage coingecko/binance (en cas de pépin sur le ratelimit de coingecko, juste relancer, le mecanisme de cache fera le taff)
* test more with various inputs
* little refactoring on disposal calculus
* little refactoring on class workflow (plus de generic et d'abstrait pour faciliter l'ajout d'exchange)
* add "instant 0" / "balance 0" validation (avoid selling asset created ex-nihilo....)
* add replay/idempotency support
* no support for interexchange/wallet movement (ex: buy on coinbase, send to binance then sell)
* add cryptoco implementation
* add interexchange transfert support
* add REST interface for api call
* add frontend (surement du reactjs mais je suis pas super competant en js donc ca prendra n certain temps....)
* bundle code into docker (eviter d'avoir un venv python local)
* add sqlite support (no need for external db with compose)
* i don't like it because it makes debug/profiling harder for me
* but it is easier to handle for not-dev people...
Vous voulez m'aider/remercier/encourager ou vous savez tout simplement pas quoi faire de vos crypto ?
Deja, vous pouvez contribuer au code.... Genre le frontend, ca serait cool parce que je sens que je vais galerer Je vais prioriserai l'api REST en consequence
et si vous êtes pas developpeur, voici mes adresses de wallet public ;) :
0x0402f94BC9A7e2ef2Cb01be155Ea111C7070607e