convert-csv-schwab2pp

Converts a Charles Schwab transaction CSV file to a ready-to-import CSV file for Portfolio Performance.

https://github.com/rlan/convert-csv-schwab2pp

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

charles-schwab command-line-tool conversion conversions converter csv finance google-colab google-colab-notebook jupyter-notebook portfolio-performance python python3 text-processing
Last synced: 4 months ago · JSON representation ·

Repository

Converts a Charles Schwab transaction CSV file to a ready-to-import CSV file for Portfolio Performance.

Basic Info
  • Host: GitHub
  • Owner: rlan
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 8.19 MB
Statistics
  • Stars: 10
  • Watchers: 2
  • Forks: 1
  • Open Issues: 4
  • Releases: 0
Topics
charles-schwab command-line-tool conversion conversions converter csv finance google-colab google-colab-notebook jupyter-notebook portfolio-performance python python3 text-processing
Created about 3 years ago · Last pushed 8 months ago
Metadata Files
Readme Funding License Citation

README.md

A Charles Schwab CSV Converter for Portfolio Performance

Testing badge Python versions uv Ruff MIT license DOI

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.

Guide step 100
After importing 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:

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.

DOI

License

MIT

Owner

  • Name: Rick Lan
  • Login: rlan
  • Kind: user

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