[GNC-dev] [GNC] ofxtools - a Python OFX library

Christopher Lam christopher.lck at gmail.com
Thu May 30 19:53:12 EDT 2019


Thanks, a terminal/keyboard based ui would be an acceptable compromise to
get the functionality right; other devs could then convert to C using the
python templates.

Unfortunately my python is now very rusty compared to my scheme.

Anyone is very welcome to take up the challenge!

On Thu., 30 May 2019, 22:46 Christopher Singley, <csingley at gmail.com> wrote:

> On 5/30/19 8:49 AM, Christopher Lam wrote:
> > Hi Csingley
> >
> > I've experimented with your ofxtools and it works well on my bank
> > datafile.
> Glad to hear it.
> >
> > I've this idea brewing that's quite difficult to do, but would greatly
> > multiply the usability of the current OFX importer. Here's gist of
> > current importer (I think), as well as some followup desired
> > functionality:
> >
> > Input: ofxfile, gnucash datafile
> > Options: target acct
> >
> > 1. Use your ofxtools to read .ofx file
> > 2. Use gnucash python bindings to read .gnucash datafile
> > 3. Each ofx transaction attempts to match against datafile
> > target-acct's transactions
> > 4. Highest matches are whereby ofx's transaction's FITID already
> > matches target-acct' transaction's online_id metadata
> > 5. Otherwise try matching by amount, date, or description
> >
> > The desired addition to the above process is
> > 6. Present UI in a split-screen; left = ofx-transactions, right =
> > matched acct-transaction
> > 7. Matched ofx-txns are shown on the same line as its acct-transaction
> > 8. Unmatched ofx-transactions are shown on left-pane only
> > 9. Unmatched acct-transactions are shown on right-pane only
> > 10. Each ofx-transaction is offered choice, to become a tasklist
> >  (a) maintain current match, do nothing
> >  (b) maintain current match, update register txns->desc/memo with ofx
> > details
> >  (c) match to existing unmatched acct-txn which removes the acct-txn
> > from the unmatched-txns list, and refreshes the display to reflect the
> > new match
> >  (d) add as a new acct-transaction
> >  (e) ignore
> > 11. Process ofx-txns as per task list
> >  - note matching an ofx-txn to acct-split also copies ofx->fitid to
> > txn->online_id
> >
> > The above may be created as a standalone python package, or ideally
> > upgrading current ofx importer.
> > I think it'll be quite difficult to do well, though.
> If this is something y'all want to do, I'd be pleased to help; GnuCash
> has been good to me.
>
> The proposed logic seems straightforward enough, but composing GUIs is
> not something with which I have experience.
>
> Chris
>


More information about the gnucash-devel mailing list