how do you assign the destination account with the generic transaction importer?

David Reiser dbreiser at earthlink.net
Tue Dec 1 09:32:53 EST 2009


On Dec 1, 2009, at 3:04 AM, Reuben Cummings wrote:

> Hi, I am trying to load my transactions from mint.com into gnucash
> using the generic transaction importer. The problem is that I can't
> seem to tell gnucash which account to use as the destination. I use a
> program to convert my csv file to an ofx file which gnucash can read.
> However, I can only get the ofx transaction responses to work and
> those only support one account. Looking at the ofx specs, I figured a
> intra-bank transfer response would work but I can't get their example
> ofx file to load. I know gnucash was able to match destination
> accounts when I ported over my m$ft money qif files so is there an
> equivalent way to do this with ofx files? Thanks in advance for you
> help!
> 
> p.s. I've included code for the ofx examples.
> 
> transaction example (this works)
> <OFX>
>    <SIGNONMSGSRSV1>
>        <SONRS>
>            <STATUS>
>                <CODE>0</CODE>
>                <SEVERITY>INFO</SEVERITY>
>            </STATUS>
>            <DTSERVER>20050831165153.000[-8:PST]</DTSERVER>
>            <LANGUAGE>ENG</LANGUAGE>
>        </SONRS>
>    </SIGNONMSGSRSV1>
>    <BANKMSGSRSV1>
>        <STMTTRNRS>
>            <TRNUID>0</TRNUID>
>            <STATUS>
>                <CODE>0</CODE>
>                <SEVERITY>INFO</SEVERITY>
>            </STATUS>
>            <STMTRS>
>                <CURDEF>USD</CURDEF>
>                <BANKACCTFROM>
>                    <BANKID>000000123</BANKID>
>                    <ACCTID>123456</ACCTID>
>                    <ACCTTYPE>CHECKING</ACCTTYPE>
>                </BANKACCTFROM>
>                <BANKTRANLIST>
>                    <DTSTART>20050801</DTSTART>
>                    <DTEND>20050831165153.000[-8:PST]</DTEND>
>                    <STMTTRN>
>                        <TRNTYPE>POS</TRNTYPE>
>                        <DTPOSTED>20050824080000</DTPOSTED>
>                        <TRNAMT>-80</TRNAMT>
>                        <FITID>219378</FITID>
>                        <NAME>FrogKick Scuba Gear</NAME>
>                    </STMTTRN>
>                </BANKTRANLIST>
>                <LEDGERBAL>
>                    <BALAMT>2156.56</BALAMT>
>                    <DTASOF>20050831165153</DTASOF>
>                </LEDGERBAL>
>            </STMTRS>
>        </STMTTRNRS>
>    </BANKMSGSRSV1>
> </OFX>
> 
> transfer example (this doesn't work)
> <OFX><!-- Begin response data -->
> 	<SIGNONMSGSRSV1>
> 		<SONRS>
>            <STATUS>
>                <CODE>0</CODE>
>                <SEVERITY>INFO</SEVERITY>
>            </STATUS>
>            <DTSERVER>20050831165153.000[-8:PST]</DTSERVER>
>            <LANGUAGE>ENG</LANGUAGE>
> 		</SONRS>
> 	</SIGNONMSGSRSV1>
> 	<BANKMSGSRSV1>
> 		<INTRATRNRS><!-- Begin response -->
> 			<TRNUID>1001</TRNUID><!-- Client ID sent in request -->
> 			<STATUS><!-- Start status aggregate -->
> 				<CODE>0<CODE><!-- OK -->
> 				<SEVERITY>INFO</SEVERITY>
> 			</STATUS>
> 			<INTRARS><!-- Begin transfer response -->
> 				<CURDEF>USD</CURDEF>
> 				<SRVRTID>1001</SRVRTID><!-- Server assigned ID -->
> 				<XFERINFO><!-- Begin transfer aggregate -->
> 					<BANKACCTFROM><!-- Identify the account -->
> 						<BANKID>121099999</BANKID><!-- Routing transit or other  FI ID -->
> 						<ACCTID>999988</ACCTID><!-- Account number -->
> 						<ACCTTYPE>CHECKING</ACCTTYPE><!-- Account type -->
> 					</BANKACCTFROM><!-- End of account ID -->
> 					<BANKACCTTO><!-- Identify the account -->
> 						<BANKID>121099999</BANKID><!-- Routing transit or other FI ID -->
> 						<ACCTID>999977</ACCTID><!-- Account number -->
> 						<ACCTTYPE>SAVINGS</ACCTTYPE><!-- Account type -->
> 					</BANKACCTTO><!-- End of account ID -->
> 					<TRNAMT>200.00</TRNAMT><!-- Amount of transfer -->
> 				</XFERINFO><!-- End of transfer aggregate -->
> 				<DTXFERPRJ>20050829100000</DTXFERPRJ><!-- Posting date -->
> 			</INTRARS><!-- End of transfer response -->
> 		</INTRATRNRS><!-- End response -->
> 	</BANKMSGSRSV1>
> </OFX><!-- End of response data -->
> 
> 
> Reuben
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel


It's possible that intrabank transfers were not implemented in libofx because no one had any samples to test. OFX files from all the banks I've seen are inherently one account at a time -- you assign the account associated in gnucash with the ofx transactions according to the <ACCTID> tag at the top of the ofx file. I'm fairly certain that the generic import matcher has no capability to handle multiple accounts in the manner you are seeking.

Dave
--
David Reiser
dbreiser at earthlink.net






More information about the gnucash-devel mailing list