[GNC] OFX Requirements

Jean L ripngo at gmail.com
Sat Jan 7 18:54:43 EST 2023


Also, this

https://github.com/jrwrigh/csv2cash

Could be the answer to what you're trying to do?

Jean

On 1/7/2023 12:51 PM, Tim Rohrer wrote:
>
>
>> On Jan 7, 2023, at 2:32 PM, Jean L <ripngo at gmail.com> wrote:
>>
>>
>> OK so I found that GC fais to import this ofx because the account 
>> name is too long. This is probably a bug, but I'm not sure what the 
>> specs are for account names in the OFX specifications.
>>
> Nice find! Thank you. So yeah, `csv2ofx` generates those randomly. Why 
> the author made them so long is a little unclear; maybe the same code 
> as the autogenerated FITD?
>>
>> About the rest of your questions:
>>
>> You're right that you can't specify the "other" account (like 
>> expense:dining) in the OFX file. That's specifically a GC thing. When 
>> you import your OFX, you have to specify the "other" account for each 
>> transaction, but GC learns to automatically assign it after a little 
>> while so you no longer have to assign it manually.
>>
>> In your case it's not super helpful if you save *all* your migrated 
>> transactions into a single OFX then try to import that in one shot 
>> you'll have to specify the other account for each transaction, which 
>> would be super tedious.
>>
>> Instead, you could import only the first N transactions, the 
>> re-import and deals with the N next ones, etc. Each time you import, 
>> GC learns the association between transactions and splits. But that 
>> too could be tedious.
>>
>> Perhaps you can make it work better with the CSV idea. Even better 
>> would be to write a script that takes the CSV export, and generates 
>> the complete xml file that GC uses to represent your account tree. 
>> I.e., a tool to automatically create a GC account file from a csv 
>> export. Perhaps somebody's written that already?
>>
>
> This last idea is exactly what I was starting to think about. I don't 
> know C/C++, but I can figure out XML. And I've not done a lot of 
> Internet searching yet for others who've worked this migration (other 
> than in our mailing list).
>
> Again, thank you!
>
> Tim
>
>> Jean
>>
>> On 1/7/2023 10:59 AM, Tim Rohrer wrote:
>>> Correct. And the errors and warnings I pasted earlier are logged.
>>>
>>> Linux GnuCash 4.11
>>> Build ID: 4.11+(2022-06-25)
>>>
>>>> On Jan 7, 2023, at 12:53 PM, Jean L <ripngo at gmail.com> wrote:
>>>>
>>>>
>>>> And you're saying that when you import this into a blank account, 
>>>> nothing shows up?
>>>>
>>>> On 1/7/2023 10:52 AM, Tim Rohrer wrote:
>>>>> Thanks, Jean.
>>>>>
>>>>> Here is the entire file (attached and pasted). For testing, I was 
>>>>> simply trying to get one transaction to work first.
>>>>>
>>>>>
>>>>> DATA:OFXSGML
>>>>> ENCODING:UTF-8
>>>>> <OFX>
>>>>> <SIGNONMSGSRSV1>
>>>>> <SONRS>
>>>>> <STATUS>
>>>>> <CODE>0</CODE>
>>>>> <SEVERITY>INFO</SEVERITY>
>>>>> </STATUS>
>>>>> <DTSERVER>20230107105800</DTSERVER>
>>>>> <LANGUAGE>ENG</LANGUAGE>
>>>>> </SONRS>
>>>>> </SIGNONMSGSRSV1>
>>>>> <BANKMSGSRSV1>
>>>>> <STMTTRNRS>
>>>>> <TRNUID></TRNUID>
>>>>> <STATUS>
>>>>> <CODE>0</CODE>
>>>>> <SEVERITY>INFO</SEVERITY>
>>>>> </STATUS>
>>>>> <STMTRS>
>>>>> <CURDEF>USD</CURDEF>
>>>>> <BANKACCTFROM>
>>>>> <BANKID>b9fc6ca936ba09958d5076dd5ebfac69</BANKID>
>>>>> <ACCTID>384d7d0b77b259606be9c29de2e05b45</ACCTID>
>>>>> <ACCTTYPE>CHECKING</ACCTTYPE>
>>>>> </BANKACCTFROM>
>>>>> <BANKTRANLIST>
>>>>> <DTSTART>19700101</DTSTART>
>>>>> <DTEND>20230107</DTEND>
>>>>> <STMTTRN>
>>>>> <TRNTYPE>CREDIT</TRNTYPE>
>>>>> <DTPOSTED>20220101000000</DTPOSTED>
>>>>> <TRNAMT>500.00</TRNAMT>
>>>>> <FITID>743df964dc21309d6d8a7c0ca5eaa657</FITID>
>>>>> <NAME>Tim</NAME>
>>>>> </STMTTRN>
>>>>> </BANKTRANLIST>
>>>>> </STMTRS>
>>>>> </STMTTRNRS>
>>>>> </BANKMSGSRSV1>
>>>>> </OFX>
>>>>>
>>>>>
>>>>>> On Jan 7, 2023, at 12:41 PM, Jean L <ripngo at gmail.com> wrote:
>>>>>>
>>>>>>
>>>>>> Can you post a small OFX file that's generated that way? I'll take a
>>>>>> quick look.
>>>>>>
>>>>>> Jean
>>>>>>
>>>>>> On 1/7/2023 10:18 AM, Tim Rohrer wrote:
>>>>>>> I'm continuing my experimentation to migrate my Quicken for Mac 
>>>>>>> data. I believe I'm on track for the investments, so I've 
>>>>>>> switched back to regular accounts.
>>>>>>>
>>>>>>> Originally, I was going to use the Quicken Mac 2007 Transfer 
>>>>>>> File (QMTF aka QIF) but I started seeing some issues with how 
>>>>>>> GnuCash handles splits, plus I'd lose tags and much of my notes.
>>>>>>>
>>>>>>> Now I'm trying to usehttps://github.com/reubano/csv2ofx 
>>>>>>> <https://github.com/reubano/csv2ofx> to generate OFX files from 
>>>>>>> exported csv.
>>>>>>>
>>>>>>> A dummy csv transaction:
>>>>>>>
>>>>>>> Date,Payee/Security,Category,Amount,Account
>>>>>>> 1/1/2022,Tim,Income:Salary,500,Family Checking
>>>>>>>
>>>>>>> Using csv2ox with a custom mapper, I get an ofx with guts of the 
>>>>>>> transaction like this:
>>>>>>>
>>>>>>> <STMTTRNRS>
>>>>>>> <TRNUID></TRNUID>
>>>>>>> <STATUS>
>>>>>>> <CODE>0</CODE>
>>>>>>> <SEVERITY>INFO</SEVERITY>
>>>>>>> </STATUS>
>>>>>>> <STMTRS>
>>>>>>> <CURDEF>USD</CURDEF>
>>>>>>> <BANKACCTFROM>
>>>>>>> <BANKID>b9fc6ca936ba09958d5076dd5ebfac69</BANKID>
>>>>>>> <ACCTID>384d7d0b77b259606be9c29de2e05b45</ACCTID>
>>>>>>> <ACCTTYPE>CHECKING</ACCTTYPE>
>>>>>>> </BANKACCTFROM>
>>>>>>> <BANKTRANLIST>
>>>>>>> <DTSTART>19700101</DTSTART>
>>>>>>> <DTEND>20230107</DTEND>
>>>>>>> <STMTTRN>
>>>>>>> <TRNTYPE>CREDIT</TRNTYPE>
>>>>>>> <DTPOSTED>20220101000000</DTPOSTED>
>>>>>>> <TRNAMT>500.00</TRNAMT>
>>>>>>> <FITID>743df964dc21309d6d8a7c0ca5eaa657</FITID>
>>>>>>> <NAME>Tim</NAME>
>>>>>>> </STMTTRN>
>>>>>>> </BANKTRANLIST>
>>>>>>> </STMTRS>
>>>>>>> </STMTTRNRS>
>>>>>>>
>>>>>>> But nothing appears to import.
>>>>>>>
>>>>>>> In my logs:
>>>>>>>
>>>>>>> LibOFX INFO: libofx_proc_file(): File format not specified, 
>>>>>>> autodetecting...
>>>>>>> (Above message occurred on Line 40, Column 1)
>>>>>>> LibOFX INFO: libofx_proc_file(): Detected file format: OFX (Open 
>>>>>>> Financial eXchange (OFX or QFX))
>>>>>>> (Above message occurred on Line 40, Column 1)
>>>>>>> LibOFX INFO: Created OfxDummyContainer to hold unsupported 
>>>>>>> aggregate SIGNONMSGSRSV1
>>>>>>> (Above message occurred on Line 2, Column 2)
>>>>>>> LibOFX INFO: Created OfxDummyContainer to hold unsupported 
>>>>>>> aggregate SONRS
>>>>>>> (Above message occurred on Line 3, Column 3)
>>>>>>> LibOFX INFO: Created OfxDummyContainer to hold unsupported 
>>>>>>> aggregate BANKMSGSRSV1
>>>>>>> (Above message occurred on Line 12, Column 2)
>>>>>>> LibOFX INFO: Created OfxDummyContainer to hold unsupported 
>>>>>>> aggregate STMTTRNRS
>>>>>>> (Above message occurred on Line 13, Column 3)
>>>>>>> LibOFX WARNING: ofxdate_to_time_t(): Successfully parsed date 
>>>>>>> part, but unable to parse time part of string 19700101. It is 
>>>>>>> not in proper YYYYMMDDHHMMSS.XXX[gmt offset:tz name] format!
>>>>>>> (Above message occurred on Line 27, Column 23)
>>>>>>> LibOFX WARNING: ofxdate_to_time_t(): Successfully parsed date 
>>>>>>> part, but unable to parse time part of string 20230107. It is 
>>>>>>> not in proper YYYYMMDDHHMMSS.XXX[gmt offset:tz name] format!
>>>>>>> (Above message occurred on Line 28, Column 21)
>>>>>>> LibOFX ERROR: OpenSP parser: otherError (misc parse error):
>>>>>>> /tmp/libofxtmpEkcf1m:37:11:E: end tag for "STMTRS" which is not 
>>>>>>> finished
>>>>>>>
>>>>>>> I do notice there is no category which could be a problem with 
>>>>>>> my customer mapper, so I'll keep experimenting.
>>>>>>>
>>>>>>> But, does anyone see what could be causing the error? Are the 
>>>>>>> warnings of concern?
>>>>>>>
>>>>>>> Tim
>>>>>>> _______________________________________________
>>>>>>> gnucash-user mailing list
>>>>>>> gnucash-user at gnucash.org
>>>>>>> To update your subscription preferences or to unsubscribe:
>>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>>>>>> -----
>>>>>>> Please remember to CC this list on all your replies.
>>>>>>> You can do this by using Reply-To-List or Reply-All.
>>>>>> _______________________________________________
>>>>>> gnucash-user mailing list
>>>>>> gnucash-user at gnucash.org
>>>>>> To update your subscription preferences or to unsubscribe:
>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>>>>> -----
>>>>>> Please remember to CC this list on all your replies.
>>>>>> You can do this by using Reply-To-List or Reply-All.
>>>>>
>>>
>


More information about the gnucash-user mailing list