我需要将银行导出的交易(CSV)导入GNUcash。 我几乎使用Finance :: QIF
完成了perl脚本我解析CSV并将其写出来:
my $record = {
header => "Type:Bank",
date => $outdatum,
memo => $outtext,
transaction => $outbetrag,
};
$out->header( $record->{header} );
$out->write($record);
....
但我的问题是创造了分裂。 http://finance-qif.sourceforge.net/说"如果事务包含拆分,则将定义该拆分,并由一组散列引用组成。每个拆分可能具有以下值。" - 所以我试过了:
my $record = {
header => "Type:Bank",
date => $outdatum,
memo => $outtext,
transaction => $outbetrag,
@splits = (
{
category => "Gesundheit:Arzt:Kind1",
memo => "L",
amount => "-161,66"
},
{
category => "Gesundheit:Arzt:Kind2",
memo => "F",
amount => "-162,66"
}
)
};
这会导致错误:
Unsupported field 'HASH(0x221c9e8)' found in record ignored in file '>_TESTqif.qif' line 22 at convert_bank_CSV.pl line 195.
不幸的是,我找不到创建拆分的示例,只是为了正常的交易。
有人可以帮助我们如何使用Finance :: QIF创建拆分交易吗?
答案 0 :(得分:0)
我对Finance::QIF
一无所知,但您的@splits
代码毫无意义。
请改为尝试:
my $record = {
header => "Type:Bank",
date => $outdatum,
memo => $outtext,
transaction => $outbetrag,
splits => [
{
category => "Gesundheit:Arzt:Kind1",
memo => "L",
amount => "-161,66",
},
{
category => "Gesundheit:Arzt:Kind2",
memo => "F",
amount => "-162,66",
}
],
};
有关Perl中的引用和数据结构的更多信息,请参阅perldoc perlreftut
。