Parse Robinhood 1099 Tax Document from PDF into CSV

Overview

Robinhood 1099 Parser

This project converts Robinhood Securities 1099 tax document from PDF to CSV file. This tool will be helpful for those who need every transaction in a spreadsheet format for tax reporting purposes.

Original Work

Copyright (c) 2021 Keun Park ([email protected])

Donate

🚀 Running Locally

Make sure you have Python 3 on your computer. If not, download the latest version from here.

Environment Setup

git clone https://github.com/kevinpark1217/Robinhood-1099-Parser.git
cd Robinhood-1099-Parser
python -m pip install -r requirements.txt

Start Parsing!

➜ python main.py 
usage: main.py [-h] --pdf FILE [--csv FILE] [--silent] [--check]

Example and Checking

Enable --check flag to print out total values for some columns. Make sure these values match with the PDF!

Example Screenshot

🐞 Issues and Bugs

If you have any issues with the tool, please open a GitHub Issue with as much as detail as you can provide.

Comments
  • IndexError: list index out of range

    IndexError: list index out of range

    Hey, I'm checking out your script and after getting git, python and visual studio build tools installed I finally got it to work. Now when I run the script, it errors out with index out of range. This is using the February 2021 RH pdf.

    C:\Users\hypno\Documents\Robinhood-1099-Parser>python main.py --pdf 1099.pdf --check Pages: 100%|█████████████████████████████████████████████████████████████████████████████| 9/9 [00:04<00:00, 2.02it/s] Traceback (most recent call last): File "C:\Users\hypno\Documents\Robinhood-1099-Parser\main.py", line 32, in contents = parser.process(not args.silent) File "C:\Users\hypno\Documents\Robinhood-1099-Parser\rh_1099\pdf_parser\parser_2020.py", line 49, in process pdf_contents.add_sales(Sales2020.parse(last_raw_entries)) File "C:\Users\hypno\Documents\Robinhood-1099-Parser\rh_1099\sales_transactions\sales_2020.py", line 38, in parse desc = raw_data[0].strip() IndexError: list index out of range

    bug invalid 
    opened by hypnotizd 10
  • 1200+ transactions missing from csv output

    1200+ transactions missing from csv output

    In total, I have 3235 transactions for a specific stock (listed on my 1099 tax form), but around 1200 is missing on the csv form (this affects my total proceeds calculation by a large amount). Everything else under 1000 transactions works fine though.

    bug 
    opened by twangodev 3
  • Totals are calculating incorrectly.

    Totals are calculating incorrectly.

    Everything ran fine, but the totals are not correct. proceeds, cost, wash and gain all wrong, gain is only off by $0.43, wash is about half the value it should be, and proceeds and cost is off quite a bit. Was really hoping this would work!! Taxes are almost due!

    bug 
    opened by maximumhax 3
  • Help running script

    Help running script

    Hi, I am completely new to python script and have been trying to figure out how to get this to run. I am currently running python on mac. I was able to run python3 -m pip install wheel and -m pip install --upgrade rh_1099 but from here I am entirely confused where to go to execute and import my pdf file. Any help would be greatly appreciated! Thank you! # #

    opened by D-C-1977 2
  • Is separation of short term and long term transactions needed?

    Is separation of short term and long term transactions needed?

    Currently the parser combines short term and long term transactions "for covered tax lots" into a single csv file.

    Should I add the feature of separating them into 2 separate csv files? How useful would this be?

    enhancement question 
    opened by kevinpark1217 2
  • Packaging & Running on Windows

    Packaging & Running on Windows

    1. Combines the tool in to a single Python package
    2. Update README with instructions on running the tool on Windows

    TODO Automatically upload to PyPI Once uploaded to PyPI, user should only need to run pip install rh_1099

    enhancement 
    opened by kevinpark1217 0
  • Command not found after install

    Command not found after install

    I successfully installed this (there were no errors) This is the output if I run the commands again.

    [email protected] site-packages % python3 -m pip install wheel                                      
    Defaulting to user installation because normal site-packages is not writeable
    Requirement already satisfied: wheel in /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages (0.36.2)
    [email protected] site-packages % python3 -m pip install --upgrade rh_1099                          
    Defaulting to user installation because normal site-packages is not writeable
    Requirement already satisfied: rh_1099 in /Users/andrewporzio/Library/Python/3.8/lib/python/site-packages (1.0.1)
    Requirement already satisfied: tqdm>=4.59.0 in /Users/andrewporzio/Library/Python/3.8/lib/python/site-packages (from rh_1099) (4.64.0)
    Requirement already satisfied: pdfreader>=0.1.9 in /Users/andrewporzio/Library/Python/3.8/lib/python/site-packages (from rh_1099) (0.1.10)
    Requirement already satisfied: bitarray>=1.1.0 in /Users/andrewporzio/Library/Python/3.8/lib/python/site-packages (from pdfreader>=0.1.9->rh_1099) (2.4.1)
    Requirement already satisfied: pycryptodome>=3.9.9 in /Users/andrewporzio/Library/Python/3.8/lib/python/site-packages (from pdfreader>=0.1.9->rh_1099) (3.14.1)
    Requirement already satisfied: python-dateutil>=2.8.1 in /Users/andrewporzio/Library/Python/3.8/lib/python/site-packages (from pdfreader>=0.1.9->rh_1099) (2.8.2)
    Requirement already satisfied: pillow>=7.1.0 in /Users/andrewporzio/Library/Python/3.8/lib/python/site-packages (from pdfreader>=0.1.9->rh_1099) (9.1.0)
    Requirement already satisfied: six>=1.5 in /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages (from python-dateutil>=2.8.1->pdfreader>=0.1.9->rh_1099) (1.15.0)
    

    Now when I try to run the command I get the error that it can't be found

    [email protected] site-packages % rh_1099 --pdf /Users/andrewporzio/Downloads/9d176fbf-9351-45d2-887c-940ed3cb5af4.pdf --check zsh: command not found: rh_1099

    opened by aporzio1 1
  • PDFContents - ImportError: attempted relative import with no known parent package

    PDFContents - ImportError: attempted relative import with no known parent package

    Code does not function

    ~/Downloads/Robinhood-1099-Parser-1.0.1/Robinhood-1099-Parser-1.0.1/rh_1099 $ python main.py --pdf tax.pdf --check Traceback (most recent call last): File "C:\Users\Dylan\Downloads\Robinhood-1099-Parser-1.0.1\Robinhood-1099-Parser-1.0.1\rh_1099\main.py", line 5, in from .pdf_contents import PDFContents ImportError: attempted relative import with no known parent package

    opened by bluenostromo 1
Owner
Keun Tae (Kevin) Park
I am a Computer Science student at Georgia Institute of Technology with the focus of Intelligence and Systems & Architecture.
Keun Tae (Kevin) Park
Epagneul is a tool to visualize and investigate windows event logs

epagneul Epagneul is a tool to visualize and investigate windows event logs. Dep

jurelou 190 Dec 13, 2022
✅ Today I Learn

Today I Learn EDA numpy_100ex numpy_0~10 airline_satisfaction_prediction BERT_naver_movie_classification NLP_prepare NLP_Tweet_Emotion_Recognition tex

Yeonghoo_Ahn 3 Dec 15, 2022
Python Data. Leaflet.js Maps.

folium Python Data, Leaflet.js Maps folium builds on the data wrangling strengths of the Python ecosystem and the mapping strengths of the Leaflet.js

6k Jan 02, 2023
Mapomatic - Automatic mapping of compiled circuits to low-noise sub-graphs

mapomatic Automatic mapping of compiled circuits to low-noise sub-graphs Overvie

Qiskit Partners 27 Nov 06, 2022
Uniform Manifold Approximation and Projection

UMAP Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique that can be used for visualisation similarly to t-SNE, bu

Leland McInnes 6k Jan 08, 2023
Package managers visualization

Software Galaxies This repository combines visualizations of major software package managers. All visualizations are available here: http://anvaka.git

Andrei Kashcha 1.4k Dec 22, 2022
Function Plotter: a simple application with GUI to plot mathematical functions

Function-Plotter Function Plotter is a simple application with GUI to plot mathe

Mohamed Nabawe 4 Jan 03, 2022
TensorDebugger (TDB) is a visual debugger for deep learning. It extends TensorFlow with breakpoints + real-time visualization of the data flowing through the computational graph

TensorDebugger (TDB) is a visual debugger for deep learning. It extends TensorFlow (Google's Deep Learning framework) with breakpoints + real-time visualization of the data flowing through the comput

Eric Jang 1.4k Dec 15, 2022
A small timeseries transformation API built on Flask and Pandas

#Mcflyin ###A timeseries transformation API built on Pandas and Flask This is a small demo of an API to do timeseries transformations built on Flask a

Rob Story 84 Mar 25, 2022
Leyna's Visualizing Data With Python

Leyna's Visualizing Data Below is information on the number of bilingual students in three school districts in Massachusetts. You will also find infor

11 Oct 28, 2021
Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.

Dash Dash is the most downloaded, trusted Python framework for building ML & data science web apps. Built on top of Plotly.js, React and Flask, Dash t

Plotly 17.9k Dec 31, 2022
PolytopeSampler is a Matlab implementation of constrained Riemannian Hamiltonian Monte Carlo for sampling from high dimensional disributions on polytopes

PolytopeSampler PolytopeSampler is a Matlab implementation of constrained Riemannian Hamiltonian Monte Carlo for sampling from high dimensional disrib

9 Sep 26, 2022
A tool for automatically generating 3D printable STLs from freely available lidar scan data.

mini-map-maker A tool for automatically generating 3D printable STLs from freely available lidar scan data. Screenshots Tutorial To use this script, g

Mike Abbott 51 Nov 06, 2022
This is a learning tool and exploration app made using the Dash interactive Python framework developed by Plotly

Support Vector Machine (SVM) Explorer This app has been moved here. This repo is likely outdated and will not be updated. This is a learning tool and

Plotly 150 Nov 03, 2022
A python script to visualise explain plans as a graph using graphviz

README Needs to be improved Prerequisites Need to have graphiz installed on the machine. Refer to https://graphviz.readthedocs.io/en/stable/manual.htm

Edward Mallia 1 Sep 28, 2021
Scientific Visualization: Python + Matplotlib

An open access book on scientific visualization using python and matplotlib

Nicolas P. Rougier 8.6k Dec 31, 2022
Generate a roam research like Network Graph view from your Notion pages.

Notion Graph View Export Notion pages to a Roam Research like graph view.

Steve Sun 214 Jan 07, 2023
Data Visualizer Web-Application

Viz-It Data Visualizer Web-Application If I ask you where most of the data wrangler looses their time ? It is Data Overview and EDA. Presenting "Viz-I

Sagnik Roy 17 Nov 20, 2022
3D Vision functions with end-to-end support for deep learning developers, written in Ivy.

Ivy vision focuses predominantly on 3D vision, with functions for camera geometry, image projections, co-ordinate frame transformations, forward warping, inverse warping, optical flow, depth triangul

Ivy 61 Dec 29, 2022
Painlessly create beautiful matplotlib plots.

Announcement Thank you to everyone who has used prettyplotlib and made it what it is today! Unfortunately, I no longer have the bandwidth to maintain

Olga Botvinnik 1.6k Jan 06, 2023