X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fhomebank2ledger;a=blobdiff_plain;f=lib%2FApp%2FHomeBank2Ledger.pm;h=0aa1562a3833c52984e1fcf5d23d2c3b6075cd02;hp=c4bf5a6dcacd3d17dd44ec07caf5402aee8f2226;hb=HEAD;hpb=45cd86c510955a5de4fac808945468a1efdac3ea diff --git a/lib/App/HomeBank2Ledger.pm b/lib/App/HomeBank2Ledger.pm index c4bf5a6..0aa1562 100644 --- a/lib/App/HomeBank2Ledger.pm +++ b/lib/App/HomeBank2Ledger.pm @@ -294,10 +294,14 @@ sub convert_homebank_to_ledger { my $memo = $transaction->{wording} || ''; my $payee = $homebank->find_payee_by_key($transaction->{payee}); my $tags = _split_tags($transaction->{tags}); + my $date = $transaction->{date}; + my $code = $transaction->{paymode} =~ /^(?:check|epayment)$/ ? $transaction->{info} + : undef; my @postings; push @postings, { + date => $date, account => $account->{ledger_name}, amount => $amount, commodity => $commodities{$account->{currency}}, @@ -324,9 +328,11 @@ sub convert_homebank_to_ledger { $seen{$transaction->{transfer_key}}++ if $transaction->{transfer_key}; $seen{$paired_transaction->{transfer_key}}++ if $paired_transaction->{transfer_key}; + my $paired_date = $paired_transaction && $paired_transaction->{date}; my $paired_payee = $homebank->find_payee_by_key($paired_transaction->{payee}); push @postings, { + date => $paired_date, account => $dst_account->{ledger_name}, amount => $paired_transaction->{amount} || -$transaction->{amount}, commodity => $commodities{$dst_account->{currency}}, @@ -360,7 +366,7 @@ sub convert_homebank_to_ledger { }; } } - else { # with or without category + else { # normal transaction with or without category my $amount = -$transaction->{amount}; my $category = $homebank->find_category_by_key($transaction->{category}); my $other_account = $category ? $category->{ledger_name} @@ -386,8 +392,9 @@ sub convert_homebank_to_ledger { } $ledger->add_transactions({ - date => $transaction->{date}, + date => $date, payee => $payee->{name}, + code => $code, memo => $memo, postings => \@postings, });