QIF spec ambiguity in example file
Derek Atkins
warlord at MIT.EDU
Tue Apr 29 10:42:21 EDT 2014
Hi,
"Daniel White" <twinbee42 at skytopia.com> writes:
>> I think you're confusing account definitions from actual transaction
>> definition. Accounts only use N, T, D, L, and B. Whereas N, T, D, Q,
>> T, P, N, L, Y, and $ are most definitely "transaction" fields.
>
> Under "Account Information Format" (which sounds like an "account
> definition"
> to me - is that what you meant?), it lists / and $ as well (B is not
> listed).
> But even then, the N code could represent either the N from the
> account definition'
> or N from the 'transaction' - which is it to be? It's ambiguous, at least
> as far as I can see.
I don't understand why it's ambiguous.. !Account uses one set of
fields, and transactions use another set of fields, and yes, the set
overlaps. I don't understand how that is ambigious.
I have no idea what / and $ are for account information. I don't see
anything in the gnucash code that would handle those tags.
> How do we know when the text "!Account" appears, that a transaction follows
> as opposed to defining an account?
Because there is a !Type:xxx after the !Account.
> In the example shown, the first 'N' is "NAssets:Investments:Mutual
> Fund". The second
> 'N' is "BuyX". However, there is no caret (^) to separate the types,
> and so there
> is ambiguity between what N is supposed to mean what (yes I know a human
> can take a very good guess at what they mean, but arbitrary text in
> those fields
> could make this theoretically impossible for even a human to
> parse). The same problem
> goes for the 'T', and 'D' codes. Are they supposed to mean an account
> definition or
> a transaction? How can we know that for sure? It seems N and T are part of
> the "Account Information Format", but then what magically makes D part
> of the
> "Investment transaction format" instead which comes on the very next line!
Could you attach the example file you're looking at? You're probably
missing a !-line that switches the parse context.
> Thanks for trying to make sense of this issue.
>
> Regards, Daniel
-derek
>
> You use !Account to specify the source account for a !Type:xxx when
> specifying multi-account QIF files.
>
> On Mon, 28 Apr 2014 17:06:10 +0100, Derek Atkins <warlord at mit.edu> wrote:
>
>> Ricardo Biloti <biloti at gmail.com> writes:
>>
>>> Dear John
>>>
>>> I totally agree with you. I am trying myself to write some scripts to
>>> produce QIF file from my personal sources and I am struggling with
>>> lack of
>>> precise information on QIF specification.
>>>
>>> Personally, I would like to see the complete reference for the
>>> (subset) QIF
>>> format that Gnucash understands, as well as a rich list of sample
>>> transactions and their QIF translation.
>>
>> You are welcome to go ask Intuit for that.. I doubt it will go very
>> well.
>>
>> All the "documentation" for the Quicken Interchange Format (QIF) has
>> been through reverse-engineering. So what you get is what you get.
>>
>> As for the original issue:
>>
>>> After the "!Account" line, we have listed the control chars: N, T,
>>> D, Q, T, P, N, L, Y. However, the only control chars listed for the
>>> "Account Information Format" are: N, T, D, L, /, and $. So I'm
>>> guessing Q, P and Y must be referring to perhaps the control chars
>>
>> I think you're confusing account definitions from actual transaction
>> definition. Accounts only use N, T, D, L, and B. Whereas N, T, D, Q,
>> T, P, N, L, Y, and $ are most definitely "transaction" fields.
>>
>> You use !Account to specify the source account for a !Type:xxx when
>> specifying multi-account QIF files.
>>
>>> Regards,
>>> Biloti
>>
>> Hope this helps,
>>
>>> Please remember to CC this list on all your replies.
>>> You can do this by using Reply-To-List or Reply-All.
>>
>> -derek
>>
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord at MIT.EDU PGP key available
More information about the gnucash-user
mailing list