如何将我的交易映射到 QIF 文件中的账户?

How can I map my transactions to accounts in a QIF file?

场景

我在银行有两个账户,想将交易导入 GnuCash。我的银行只给我 CSV 文件,但它至少可以将两个帐户的交易放入一个 CSV 文件中。

GnuCash 无法解析这些 CSV 文件,所以我决定将它们转换为 QIF 文件,因为我还可以将帐户信息添加到每笔交易中——至少我听说过。

问题是,QIF 定义错误。我正在挑选各种文档片段,但我仍然无法弄清楚如何格式化我的帐户信息。无论我做什么,GnuCash 都告诉我该文件只有一个帐户的帐户详细信息,并使用文件名预填充帐户名。

我试过的

每笔交易的账户名称

!Account
NNameOfAccount
!Type:Bank
D01/01/16
T100.00
MSometext
PSomePayee
^

该帐户中每组交易的名称的帐户

!Account
NNameOfAccount

...transactions...

!Account
NNameOfOtherAccount

...transactions...

每次交易前的账户

这个实际上让我完成了大部分导入步骤,并正确映射了两个帐户。问题是,然后我收到一条神秘的错误消息:'A bug was detected while converting the QIF data.'

!Account
NNameOfAccount
^

!Type:Bank
D01/01/16
T100.00
MSometext
PSomePayee
^

!Account
NNameOfOtherAccount
^

!Type:Bank
D01/01/16
T100.00
MSometext
PSomePayee
^

兴趣来源

tl;博士

我应该如何格式化 QIF 文件以便我可以为每笔交易指定账户名称?

我运行遇到了同样的问题。令人沮丧的是在网上发现多个明确声明 GnuCash 支持多账户 QIF 文件,但没有解释它们应该是什么样子。

我最终浏览了 GnuCash 源代码,发现 GnuCash 有一个内部开关可以忽略 QIF 文件中的帐户信息,显然这个开关默认是打开的。幸运的是,可以使用 !Clear:AutoSwitch 指令将其关闭。这样我就能够生成和导入多帐户 QIF 文件。示例:

!Clear:AutoSwitch

!Account
NAssets:Bank:Bank 1
^
!Type:Bank
D2016-12-10
T0.01
PPayday!
LIncome:Salary
^
D2016-11-10
T0.01
PPayday!
LIncome:Salary
^

!Account
NAssets:Bank:Bank 2
^
!Type:Bank
D2016-12-15
T-999.00
PRent
LExpenses:Rent
^