csv2ofx icon indicating copy to clipboard operation
csv2ofx copied to clipboard

Add Schwab bank mapping, LEDGERBAL tag support, MS Money compatible output

Open tstabrawa opened this issue 2 years ago • 0 comments

This PR adds the ability to convert CSV files downloaded from Charles Schwab checking accounts to OFX files supported by MS Money.

For convenience, I broke the changes down into the following logically-distinct commits:

  • Ignore vim temp files
  • Add option for MS Money compatible output
    • Deal with MS Money idiosyncrasies RE: OFX formatting
    • MS Money specific OFX header
    • Provide dummy value for TRNUID
    • Don't include blank CHECKNUM
    • Limit payee length to 32 chars
    • Use noon for dates lacking a time (Recommended by MS Money troubleshooting OFX guide)
  • Include LEDGERBAL in non-split OFX output if possible
    • These are required fields per OFX spec & their absence breaks MS Money import.
  • Add mapping for Charles Schwab Bank
  • Add tests for ending balance analysis
  • Update example --help output

Confirmed no new errors from manage lint. Confirmed all manage test tests pass.

Tested with >18 months of real-world data and manually verified transaction sanity in MS Money.

(Please let me know if anything doesn't meet coding standards, etc. Unfortunately, I'm not a native Python speaker. 😃)

tstabrawa avatar Sep 13 '22 03:09 tstabrawa