Discussion:
Automatic Transaction Categorization?
Chris Spencer
2007-12-10 01:08:40 UTC
Permalink
Hi,

I'm currently using KMyMoney for my personal finances and find it
pretty usable, but I'm frustrated by the need to manually categorize
every transaction after I import an OFX file. Is there any current
feature that can automate this task?

If not, what would be the best way to implement such a feature?
Gnucash does this using a Bayesian classifier trained on prior manual
classifications, and I've implemented the same feature for a toy
personal Python script, so I could potentially implement this feature.
I'm mainly a Python programmer, but I know some C/C++.

Regards,
Chris

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
Thomas Baumgart
2007-12-10 07:42:14 UTC
Permalink
Post by Chris Spencer
Hi,
I'm currently using KMyMoney for my personal finances and find it
pretty usable, but I'm frustrated by the need to manually categorize
every transaction after I import an OFX file. Is there any current
feature that can automate this task?
Depending on the version of KMyMoney you are using there is a partial
implementation (I think).

CVS HEAD has a feature to match a payee and I think it also assigns a category
for it (but I am not sure as I did not code that part of KMyMoney nor did I
ever use it).

Nevertheless, it's one of the features I am thinking about a lot of times. But
I never had the chance to work myself into something like a Bayesian filter
which would make thinks a lot easier.

There is a short draft where one of the developers spent some time to gather
some thoughts and came up with a bunch of uses cases. It might be worth
reading, though I think it mostly is about the UI (but it still can't hurt to
read it). You can find it here:
http://kmymoney2.sourceforge.net/KMyMoney-Imported-Transaction-Matcher.pdf
Post by Chris Spencer
If not, what would be the best way to implement such a feature?
Gnucash does this using a Bayesian classifier trained on prior manual
classifications, and I've implemented the same feature for a toy
personal Python script, so I could potentially implement this feature.
I'm mainly a Python programmer, but I know some C/C++.
That would be marvelous. It should not be based on OFX only as we have another
mechanism for online banking which might be unknown to you as it only exists
in Germany. Thus if you really want to dive into it and work on this feature,
we should gather on ICQ/Jabber some time and go through the details. The
starting point would be here:
http://kmymoney2.sourceforge.net/kmymoney2-api/html/classMyMoneyStatementReader.html#d1
The source might give more information that the documentation (which is NULL
ATM)
--
Regards

Thomas Baumgart

GPG-FP: E55E D592 F45F 116B 8429 4F99 9C59 DB40 B75D D3BA
-------------------------------------------------------------
We had joy, we had fun, we had Linux on our Sun -- anonymous source
-------------------------------------------------------------
Chris Spencer
2007-12-11 03:23:36 UTC
Permalink
Post by Thomas Baumgart
Post by Chris Spencer
Hi,
I'm currently using KMyMoney for my personal finances and find it
pretty usable, but I'm frustrated by the need to manually categorize
every transaction after I import an OFX file. Is there any current
feature that can automate this task?
Depending on the version of KMyMoney you are using there is a partial
implementation (I think).
CVS HEAD has a feature to match a payee and I think it also assigns a category
for it (but I am not sure as I did not code that part of KMyMoney nor did I
ever use it).
Nevertheless, it's one of the features I am thinking about a lot of times. But
I never had the chance to work myself into something like a Bayesian filter
which would make thinks a lot easier.
There is a short draft where one of the developers spent some time to gather
some thoughts and came up with a bunch of uses cases. It might be worth
reading, though I think it mostly is about the UI (but it still can't hurt to
http://kmymoney2.sourceforge.net/KMyMoney-Imported-Transaction-Matcher.pdf
Post by Chris Spencer
If not, what would be the best way to implement such a feature?
Gnucash does this using a Bayesian classifier trained on prior manual
classifications, and I've implemented the same feature for a toy
personal Python script, so I could potentially implement this feature.
I'm mainly a Python programmer, but I know some C/C++.
That would be marvelous. It should not be based on OFX only as we have another
mechanism for online banking which might be unknown to you as it only exists
in Germany. Thus if you really want to dive into it and work on this feature,
we should gather on ICQ/Jabber some time and go through the details. The
http://kmymoney2.sourceforge.net/kmymoney2-api/html/classMyMoneyStatementReader.html#d1
The source might give more information that the documentation (which is NULL
ATM)
I may have spoken too soon. After importing an OFX file today, I
noticed that several transactions were automatically categorized, so I
believe you're right that this feature may already be implemented.
Thanks for the PDF link, it's an interesting read. It seems to deal
with resolving transactions from different sources (i.e. imported
verses hand-entered), which I'll never have to worry about since I
only deal with OFX files.

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
Motasim Sakallah
2007-12-17 06:25:55 UTC
Permalink
I know this response is a week old, but I just wanted to add something. I
don't feel that this is fully implemented yet. Certain transactions may
automatically be categorized for you if they're the same exact amount as a
previous transaction, but my problem is that the payees aren't remembered.

Let's say for example I shop at Wal-Mart. When I download my transactions
(through OFX DirectConnect), my bank codes the payee name as something
like "C A* WM SUPERCENTER STRE". I have to manually change it to Wal-Mart
every single time. Every time I download transactions, it automatically adds
these cryptic names to my payees list. After a while, I have numerous payees
named "C A* <name of vendor here>" and I have to delete them all. It doesn't
remember payee names at all based on previous transactions, and it's
frustrating to have to name and categorize every transaction manually every
single time then delete the payees I don't want in my list.

Basically what I'd like to see is automatic payee naming based on previous
transactions. If a payee's name was changed manually from the name in the
import file to something else, KMM should remember this and (if the payee
name in the file is an exact match to a previous transaction) automatically
rename the payee based on what it was previously renamed, not the name given
to it in the OFX file or other form of import.

Unfortunately I can't provide any help with coding so at this point it's a
wishlist / feature request.

Mo
Post by Chris Spencer
Post by Thomas Baumgart
Post by Chris Spencer
Hi,
I'm currently using KMyMoney for my personal finances and find it
pretty usable, but I'm frustrated by the need to manually categorize
every transaction after I import an OFX file. Is there any current
feature that can automate this task?
Depending on the version of KMyMoney you are using there is a partial
implementation (I think).
CVS HEAD has a feature to match a payee and I think it also assigns a
category for it (but I am not sure as I did not code that part of
KMyMoney nor did I ever use it).
Nevertheless, it's one of the features I am thinking about a lot of
times. But I never had the chance to work myself into something like a
Bayesian filter which would make thinks a lot easier.
There is a short draft where one of the developers spent some time to
gather some thoughts and came up with a bunch of uses cases. It might be
worth reading, though I think it mostly is about the UI (but it still
http://kmymoney2.sourceforge.net/KMyMoney-Imported-Transaction-Matcher.pd
f
Post by Chris Spencer
If not, what would be the best way to implement such a feature?
Gnucash does this using a Bayesian classifier trained on prior manual
classifications, and I've implemented the same feature for a toy
personal Python script, so I could potentially implement this feature.
I'm mainly a Python programmer, but I know some C/C++.
That would be marvelous. It should not be based on OFX only as we have
another mechanism for online banking which might be unknown to you as it
only exists in Germany. Thus if you really want to dive into it and work
on this feature, we should gather on ICQ/Jabber some time and go through
http://kmymoney2.sourceforge.net/kmymoney2-api/html/classMyMoneyStatement
Reader.html#d1 The source might give more information that the
documentation (which is NULL ATM)
I may have spoken too soon. After importing an OFX file today, I
noticed that several transactions were automatically categorized, so I
believe you're right that this feature may already be implemented.
Thanks for the PDF link, it's an interesting read. It seems to deal
with resolving transactions from different sources (i.e. imported
verses hand-entered), which I'll never have to worry about since I
only deal with OFX files.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
KMyMoney2-developer mailing list
https://lists.sourceforge.net/lists/listinfo/kmymoney2-developer
Joel Webb
2007-12-17 13:25:00 UTC
Permalink
On Monday 17 December 2007 01:25, Motasim Sakallah wrote:

I don't know if this has already been added, but it looks like the feature is
there, you need to update to CVS and go to your Payees area. There you can
configure all your payees, and how they come in as.
Post by Motasim Sakallah
I know this response is a week old, but I just wanted to add something. I
don't feel that this is fully implemented yet. Certain transactions may
automatically be categorized for you if they're the same exact amount as a
previous transaction, but my problem is that the payees aren't remembered.
Let's say for example I shop at Wal-Mart. When I download my transactions
(through OFX DirectConnect), my bank codes the payee name as something
like "C A* WM SUPERCENTER STRE". I have to manually change it to Wal-Mart
every single time. Every time I download transactions, it automatically
adds these cryptic names to my payees list. After a while, I have numerous
payees named "C A* <name of vendor here>" and I have to delete them all. It
doesn't remember payee names at all based on previous transactions, and
it's frustrating to have to name and categorize every transaction manually
every single time then delete the payees I don't want in my list.
Basically what I'd like to see is automatic payee naming based on previous
transactions. If a payee's name was changed manually from the name in the
import file to something else, KMM should remember this and (if the payee
name in the file is an exact match to a previous transaction) automatically
rename the payee based on what it was previously renamed, not the name
given to it in the OFX file or other form of import.
Unfortunately I can't provide any help with coding so at this point it's a
wishlist / feature request.
Mo
Post by Chris Spencer
Post by Thomas Baumgart
Post by Chris Spencer
Hi,
I'm currently using KMyMoney for my personal finances and find it
pretty usable, but I'm frustrated by the need to manually categorize
every transaction after I import an OFX file. Is there any current
feature that can automate this task?
Depending on the version of KMyMoney you are using there is a partial
implementation (I think).
CVS HEAD has a feature to match a payee and I think it also assigns a
category for it (but I am not sure as I did not code that part of
KMyMoney nor did I ever use it).
Nevertheless, it's one of the features I am thinking about a lot of
times. But I never had the chance to work myself into something like a
Bayesian filter which would make thinks a lot easier.
There is a short draft where one of the developers spent some time to
gather some thoughts and came up with a bunch of uses cases. It might
be worth reading, though I think it mostly is about the UI (but it
http://kmymoney2.sourceforge.net/KMyMoney-Imported-Transaction-Matcher.
pd f
Post by Chris Spencer
If not, what would be the best way to implement such a feature?
Gnucash does this using a Bayesian classifier trained on prior manual
classifications, and I've implemented the same feature for a toy
personal Python script, so I could potentially implement this
feature. I'm mainly a Python programmer, but I know some C/C++.
That would be marvelous. It should not be based on OFX only as we have
another mechanism for online banking which might be unknown to you as
it only exists in Germany. Thus if you really want to dive into it and
work on this feature, we should gather on ICQ/Jabber some time and go
http://kmymoney2.sourceforge.net/kmymoney2-api/html/classMyMoneyStateme
nt Reader.html#d1 The source might give more information that the
documentation (which is NULL ATM)
I may have spoken too soon. After importing an OFX file today, I
noticed that several transactions were automatically categorized, so I
believe you're right that this feature may already be implemented.
Thanks for the PDF link, it's an interesting read. It seems to deal
with resolving transactions from different sources (i.e. imported
verses hand-entered), which I'll never have to worry about since I
only deal with OFX files.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
KMyMoney2-developer mailing list
https://lists.sourceforge.net/lists/listinfo/kmymoney2-developer
--
-----------------------
Joel Webb
President and CEO
PropBot.com

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
Loading...