2003-02-04 Benoit Gr�goire <bock@step.polymtl.ca>

* src/import-export/import-backend.c: Add heuristic for duplicate matching by check number.
	* doc/README.OFX: Update


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7945 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Benoit Grégoire 2003-02-05 00:01:16 +00:00
parent bc9f171dd7
commit dc840a9ef7
3 changed files with 78 additions and 51 deletions

View File

@ -1,3 +1,8 @@
2003-02-04 Benoit Grégoire <bock@step.polymtl.ca>
* src/import-export/import-backend.c: Add heuristic for duplicate matching by check number.
* doc/README.OFX: Update
2003-02-04 Derek Atkins <derek@ihtfp.com> 2003-02-04 Derek Atkins <derek@ihtfp.com>
* src/import-export/qif-import/qif-file.scm: mark "splits" as negative * src/import-export/qif-import/qif-file.scm: mark "splits" as negative

View File

@ -56,8 +56,8 @@ Implemented features (some of these are from the generic import module):
-Commodity import and matching, for investment transactions. -Commodity import and matching, for investment transactions.
-Transaction duplicate detection, using the unique OFX transaction ID. Even if -Transaction duplicate detection, using the unique OFX transaction ID. Even if
downloaded twice, transactions are only imported once. downloaded twice, transactions are only imported once.
-Transaction duplicate detection, using amount, date, full or partial memo, -Transaction duplicate detection, using amount, date, check number,
full or partial description. full or partial memo, full or partial description.
-"Destination" account matching, using exact string match on either -"Destination" account matching, using exact string match on either
memo or description. memo or description.
-Saves ALL transaction data currently supported by LibOFX. -Saves ALL transaction data currently supported by LibOFX.
@ -66,7 +66,9 @@ Implemented features (some of these are from the generic import module):
-Files containing multiple statements are supported, and transactions can -Files containing multiple statements are supported, and transactions can
be matched at the same time. be matched at the same time.
4.The import process and transaction matching----------
4.The import process and transaction matching
----------
First, you must successfully download an OFX response file from your bank. First, you must successfully download an OFX response file from your bank.

View File

@ -493,8 +493,23 @@ static void split_find_match (GNCImportTransInfo * trans_info,
/*DEBUG("heuristics: probability - 10 (date)"); */ /*DEBUG("heuristics: probability - 10 (date)"); */
} }
/* Check number heuristics */
if(strlen(xaccTransGetNum(gnc_import_TransInfo_get_trans (trans_info)))!=0)
{
if((strcmp(xaccTransGetNum
(gnc_import_TransInfo_get_trans (trans_info)),
xaccTransGetNum(xaccSplitGetParent(split)))
==0))
{
/*An exact match of the Check number gives a +5 */
prob = prob+5;
/*DEBUG("heuristics: probability + 5 (Check number)");*/
}
}
/* Memo heuristics */ /* Memo heuristics */
if(strlen(xaccSplitGetMemo(gnc_import_TransInfo_get_fsplit (trans_info)))!=0)
{
if((strcmp(xaccSplitGetMemo(gnc_import_TransInfo_get_fsplit (trans_info)), if((strcmp(xaccSplitGetMemo(gnc_import_TransInfo_get_fsplit (trans_info)),
xaccSplitGetMemo(split)) xaccSplitGetMemo(split))
==0)) ==0))
@ -515,8 +530,11 @@ static void split_find_match (GNCImportTransInfo * trans_info,
prob = prob+1; prob = prob+1;
/*DEBUG("heuristics: probability + 1 (memo)"); */ /*DEBUG("heuristics: probability + 1 (memo)"); */
} }
}
/* Description heuristics */ /* Description heuristics */
if(strlen(xaccTransGetDescription(gnc_import_TransInfo_get_trans (trans_info)))!=0)
{
if((strcmp(xaccTransGetDescription if((strcmp(xaccTransGetDescription
(gnc_import_TransInfo_get_trans (trans_info)), (gnc_import_TransInfo_get_trans (trans_info)),
xaccTransGetDescription(xaccSplitGetParent(split))) xaccTransGetDescription(xaccSplitGetParent(split)))
@ -540,12 +558,14 @@ static void split_find_match (GNCImportTransInfo * trans_info,
prob = prob+1; prob = prob+1;
/*DEBUG("heuristics: probability + 1 (description)"); */ /*DEBUG("heuristics: probability + 1 (description)"); */
} }
}
/*Online id punishment*/
if ((gnc_import_get_trans_online_id(xaccSplitGetParent(split))!=NULL) && if ((gnc_import_get_trans_online_id(xaccSplitGetParent(split))!=NULL) &&
(strlen(gnc_import_get_trans_online_id(xaccSplitGetParent(split)))>0)) (strlen(gnc_import_get_trans_online_id(xaccSplitGetParent(split)))>0))
{ {
/* If the pref is to show match even with online ID's, /* If the pref is to show match even with online ID's,
puninsh the transaction with online if */ puninsh the transaction with online id */
prob = prob-3; prob = prob-3;
} }