r16917 - gnucash/branches/2.2/src/import-export/qif-import - [r16906] Bug#512497: use payee/memo mappings as well in the QIF import of investment transactions. Patch from Charles Day <cedayiv gmail com>.
Andreas Köhler
andi5 at cvs.gnucash.org
Sat Feb 2 21:16:57 EST 2008
Author: andi5
Date: 2008-02-02 21:16:57 -0500 (Sat, 02 Feb 2008)
New Revision: 16917
Trac: http://svn.gnucash.org/trac/changeset/16917
Modified:
gnucash/branches/2.2/src/import-export/qif-import/qif-to-gnc.scm
Log:
[r16906] Bug#512497: use payee/memo mappings as well in the QIF import of investment transactions. Patch from Charles Day <cedayiv gmail com>.
Modified: gnucash/branches/2.2/src/import-export/qif-import/qif-to-gnc.scm
===================================================================
--- gnucash/branches/2.2/src/import-export/qif-import/qif-to-gnc.scm 2008-02-03 02:16:48 UTC (rev 16916)
+++ gnucash/branches/2.2/src/import-export/qif-import/qif-to-gnc.scm 2008-02-03 02:16:57 UTC (rev 16917)
@@ -584,18 +584,30 @@
(set! qif-far-acct (cadr qif-accts))
(set! qif-commission-acct (caddr qif-accts))
- ;; translate the QIF account names into Gnucash accounts
+ ;; Translate the QIF account names into GnuCash accounts.
(if (and qif-near-acct qif-far-acct)
(begin
+ ;; Determine the near account.
(set! near-acct-info
(or (hash-ref qif-acct-map qif-near-acct)
(hash-ref qif-cat-map qif-near-acct)))
(set! near-acct-name (qif-map-entry:gnc-name near-acct-info))
(set! near-acct (hash-ref gnc-acct-hash near-acct-name))
- (set! far-acct-info
- (or (hash-ref qif-acct-map qif-far-acct)
- (hash-ref qif-cat-map qif-far-acct)))
+ ;; Determine the far account.
+ (if (or (not (string? qif-far-acct))
+ (string=? qif-far-acct ""))
+ ;; No far account name is specified, so try a
+ ;; payee or memo mapping to get a default.
+ (set! far-acct-info
+ (or (hash-ref qif-memo-map (qif-xtn:payee qif-xtn))
+ (hash-ref qif-memo-map
+ (qif-split:memo
+ (car (qif-xtn:splits qif-xtn)))))))
+ (if (not far-acct-info)
+ (set! far-acct-info
+ (or (hash-ref qif-acct-map qif-far-acct)
+ (hash-ref qif-cat-map qif-far-acct))))
(set! far-acct-name (qif-map-entry:gnc-name far-acct-info))
(set! far-acct (hash-ref gnc-acct-hash far-acct-name))))
More information about the gnucash-changes
mailing list