Пример создания сплит-транзакции в Perl Finance::QIF

Мне нужно импортировать мои экспортированные банком транзакции (CSV) в GNUcash. Я почти закончил со скриптом на Perl, используя Finance::QIF

Я анализирую 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 для создания сплит-транзакций?

1 ответ

Решение

Я ничего не знаю о 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",
      }
    ],    
};

Увидеть perldoc perlreftut для получения дополнительной информации о ссылках и структурах данных в Perl.

Другие вопросы по тегам