convert-csv-schwab2pp
Converts a Charles Schwab transaction CSV file to a ready-to-import CSV file for Portfolio Performance.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.1%) to scientific vocabulary
Keywords
Repository
Converts a Charles Schwab transaction CSV file to a ready-to-import CSV file for Portfolio Performance.
Basic Info
Statistics
- Stars: 10
- Watchers: 2
- Forks: 1
- Open Issues: 4
- Releases: 0
Topics
Metadata Files
README.md
A Charles Schwab CSV Converter for Portfolio Performance
A command-line tool that converts a Charles Schwab transaction CSV file to a ready-to-import CSV file for Portfolio Performance (PP).
After conversion, this step-by-step guide creates a new portfolio file in PP and imports the converted example CSV.
Installation
First, install uv.
Then:
sh
uv tool install git+https://github.com/rlan/convert-csv-schwab2pp
Verify installation:
sh
uv tool list
txt
schwab2pp v1.0.0
- schwab2pp
Try it out!
sh
schwab2pp --help
```txt Usage: schwab2pp [OPTIONS] [SCHWABCSV] [PPCSV]
Convert transactions from Charles Schwab for Portfolio Performance.
Convert a transactions CSV file from Charles Schwab to an equivalent and ready-to-import CSV file for Portfolio Performance.
╭─ Arguments ─────────────────────────────────────────────────╮ │ schwabcsv [SCHWABCSV] CSV file from Charles │ │ Schwab │ │ [default: None] │ │ ppcsv [PPCSV] Resulting CSV file for │ │ Portfolio Performance │ │ [default: pp.csv] │ ╰─────────────────────────────────────────────────────────────╯ ╭─ Options ───────────────────────────────────────────────────╮ │ --install-completion Install completion for the │ │ current shell. │ │ --show-completion Show completion for the │ │ current shell, to copy it or │ │ customize the installation. │ │ --help Show this message and exit. │ ╰─────────────────────────────────────────────────────────────╯ ```
Example:
- An example Schwab CSV: example.csv.
- The converted ready-to-import CSV file: example_out.csv.
To replicate this conversion:
sh
schwab2pp example.csv example_out.csv
Update to a new version
sh
uv tool upgrade schwab2pp
Uninstallation
sh
uv tool uninstall schwab2pp
Details
Supported transactions:
- "NRA Tax Adj"
- "Credit Interest"
- "NRA Withholding"
- "Short Term Cap Gain"
- "Long Term Cap Gain"
- "Cash Dividend"
- "Buy"
- "Wire Received"
- "Wire Sent"^1
- "Sell"^2
Not-yet-supported transactions:
- ACH deposit and withdrawal
I have actual transactions for the supported transactions. If you could share actual transactions for not-yet-supported ones, please let me know. Thank you.
Duplicate transactions:
As far as I can test, PP will detect and skip duplicate transactions. So it is safe to import overlapping transactions in the future.
Dates:
If date is in "date1 as of date2" format, "date1" will be used and "as of date2" will be appended to the resulting "Note" column.
Development
See development.md
Citation
If this project helps your research, don't hesitate to spread the word! Click on the badge below and find citation formats (e.g., BibTeX and etc) at the bottom of that page.
License
Owner
- Name: Rick Lan
- Login: rlan
- Kind: user
- Website: https://ricklan.net
- Repositories: 8
- Profile: https://github.com/rlan
Citation (CITATION.cff)
abstract: <p>Converts a Charles Schwab transaction CSV file to a ready-to-import CSV file for Portfolio Performance.</p> authors: - family-names: Lan given-names: Rick orcid: 0000-0003-2830-2820 cff-version: 1.2.0 date-released: '2024-10-16' doi: 10.5281/zenodo.15024607 license: - mit title: A Charles Schwab CSV Converter for Portfolio Performance type: software version: '20241016'
GitHub Events
Total
- Issues event: 7
- Watch event: 1
- Issue comment event: 3
- Push event: 33
- Fork event: 1
- Create event: 2
Last Year
- Issues event: 7
- Watch event: 1
- Issue comment event: 3
- Push event: 33
- Fork event: 1
- Create event: 2